web-dev-qa-db-ja.com

スタートアップの費用を節約するために、Microsoftの技術からLinux、NodeJSなどのオープンソースフレームワークに移行する価値はありますか?

私は現在、スタートアップに関与しています。現在関与しているのは私だけの開発者です。他の人たちは、現時点ですべての技術的な決定を私に任せています。

私の日常業務では、Microsoftの技術を日常的に使用しているソフトウェア会社で働いています。私たちは.NET、SqlServer、Windows Serverなどを利用しています。しかし、私はスタートアップとして、コストを抑える必要があることを認識しています。 Windowsのホスティングのコストを簡単に見てみると、専用サーバーの価格のいくつかを見て驚いた。私が見つけた最も安いものは月に100ポンドでした。また、将来的にビジネスを拡大する必要があり、最終的に複数のサーバーが必要になった場合、SQL Server/Windows Serverライセンスなどで年間£10から£000を使い果たしてしまう可能性があります。

次に、専用サーバー用のLinuxホスティングの価格をざっと見てみたところ、価格はWindowsホスティングよりもかなり低かった。 1つの場所は、2コアのマシンを月20ポンド未満で提供することでした。

そのため、おそらくLinuxでのオープンソースがその道のりかもしれません。

私は仕事でたくさんのJavascriptを書いているので(現在、単一ページのバックボーンアプリに取り組んでいます)、NodeJSやExpressのようなWebフレームワークを使用するのがクールだと思いました。次に、SQLを使用する代わりに、NodeJSに優れたサポートを提供するMongoDBのようなオープンソースのNoSQLデータベースを使用しないのはなぜだと思いましたか?

私の唯一の懸念は、アプリケーションが行う作業の一部が、動的にイメージやその他のさまざまなイメージ関連のもの、つまりCPUがかなり重いものを構築することです-したがって、C++でCPUが重いものを書くことを考えていますそしてそれをNodeのモジュールとして消費します。

これが背景ですが、基本的にLinuxは以下に適しています。

  1. NodeJS/Expressサイトをホストしていますか?
  2. C++ノードモジュールをコンパイルしていますか?
  3. MongoDBのようなNoSQL DBを使用していますか?

そして、お金を節約するためにこれらのなじみのないテクノロジーに移行することは良い考えですか?


3か月更新

私は過去数か月間これに取り組んでいるので、誰かが興味を持っている場合に備えて更新を提供すると思いました。

結局、時間の単純な理由から、NodeJSとLinuxスタックを使用しないことにしました。私はこのスタートアップを側でやっているので、私は9時間勤務し、その後帰宅してスタートアップの遅くまで働いています。この方法で作業している間、私は明らかに自分の時間をできるだけ効率的にする必要があります。そうしないと、製品を出荷することは決してありません。

このスレッドに関するアドバイスを受けた後、私はMicrosoft BizSparkに応募し、受け入れられました。つまり、Visual Studioライセンス、Windows Serverライセンスなどに無料でアクセスできるようになりました。それは素晴らしいです。うまくいけば、私たちがそれを問題としないようにするのに十分なほど引き渡されるすべての料金の支払いを開始する必要がある時までに。

ただし、可能な限りオープンソースのものを使用しようとしたので、私はMicrosoftの技術のみを使用しているとは思わないでください。私がこれを行った主な場所は、PostgreSQLとMongoDBを使用することに決めたデータレイヤーです。フロントエンドでもBackboneJSを使用しています。

以下は、現在使用している技術/フレームワークの概要です。

  • 標準DBスタッフ:PostreSQL
  • ロギングとデータストア:MongoDB
  • ORM:エンティティフレームワーク5
  • コアライブラリ:.NET(C#)
  • Webフレームワーク:ASP.NET MVC3
  • UI:Razorビューエンジン/ BackboneJS
32
dormisher

月額100ポンド? あなたの費用はいくらですか? トレーニングの費用はいくらですか?

月額100ポンドですが、1か月で.NETアプリを取得でき、node.js/C++アプリを実行するには少なくとも3〜6か月は必要な場合は、.NETを使用してください。真剣に。あなたの時間はこれらの小さな£100 /月よりもはるかに高価です。

理想的には、そうです、あなたの分析は正しいです。あなたが忘れていたのは、特にあなたが知らないテクノロジーでこれすべてを構築するのにどれくらいの時間がかかるか(つまり数ヶ月)です。

誤解しないでください。Node.jsなどの大ファンです(githubプロファイルを参照してください...)。いつ使うべきかを知るのに十分な時間を費やしました。スタートアップ環境でshipする必要がある場合に、それについて知らないときに使用することは、実際には最善の解決策ではありません。

また、これが機能するかどうかは本当にわかりませんが、Monoを忘れないでください。

PS:jQueryの使用方法を知ることは、node.jsの非常に小さなのヘルプです。 JavaScriptを知ることは大きな助けになります。両方を混同しないでください。

35

多くの場合、オープンソーススタックに移行する価値がありますが、以下の要因の組み合わせによって推進される可能性が高くなります。

  • コスト-はい、ライセンスとホスティングの費用を節約できます。しかし、おそらくほとんどの場合、決定を左右するだけでは十分ではありません。数千ドルも余裕がない、または調達できない場合は、ターゲットとするスペースに関係なく、スタートアップを実行する必要があると本当に確信していますか?あなたの時間は少量の現金よりも価値があります。
  • プラットフォームのロックインを回避する:ベンダーが制御する単一のプラットフォームに依存せずにスケールアップする柔軟性を持ちたい場合に重要です。会社の技術的な運命を1つのサプライヤ(特にMicrosoftのようなもので、そのテクノロジの長期的な一貫性で最もよく知られていないもの)の気まぐれに結び付けたくありません。
  • 特定のテクノロジー-オープンソースの世界には、Microsoftの同等のソリューションよりも優れた(他のすべてが同等の)優れたソリューションがあります。 HadoopやCassandraなど)のようなJavaベースのビッグデータソリューションのいくつかを見てください。
  • 生産性-一部のオープンソースソリューションは、生産性が向上するとすぐに生産性が向上します-Ruby on Rails、Clojureなど.
  • コミュニティ-オープンソースコミュニティは非常に役立ち、通常、フォーラム、オンラインドキュメント、IRCルームなど)を通じて多くの問題を無料で解決するのに役立ちます。

もちろん、現在主にマイクロソフトのスキルを持っている場合は、新しいオープンソースプラットフォームとテクノロジーを学ぶのにかかる時間とのバランスを取る必要があります。

それは全体的に近い呼び出しです:

  • すでにスキルが混在している場合は、通常、オープンソースのルートに進むことをお勧めします。私の経験では、長期的に見ればうまくいくということです。
  • マイクロソフトのスキルしか持っていない場合は、すぐに立ち上がって実行できるようになるので、純粋にマイクロソフトに専念したいと思うでしょう。スタートアップは迅速に行動する必要があり、完全に新しいテクノロジースタックを学ぶことは、あなたが皿の上に持ちたいと思う余分な問題ではありません。
14
mikera

マイクロソフト製品のコストは、あなたが思っているほど悪くないかもしれません。マイクロソフトでは、ソフトウェアのコストを大幅に削減するさまざまなスキームを利用できます。それらのほとんどはソフトウェア開発会社を対象としていますが、あなたのニーズを満たすパッケージがあるかもしれません。

例:

BizSpark -スタートアップ向けの無料のMSソフトウェア

TechNet -安いMSソフトウェア-年間およそ$ 199-$ 599.

調査する価値があるかもしれませんが、あなたはいくつかのオファーの資格を得るかもしれません。

8
Gavin Coates

その月額100ポンドのサーバーのコストだけでなく、適切にライセンスされたWindows、Visual Studioなどのコピーが必要です。ソフトウェアの著作権侵害に頼らずにそれを行うと、これらはかなり増加します。さらに、規模を拡大し、さらに多くのサーバーを必要とし、SQLServer、冗長性、その他すべてを複製すると、MSはサーバーとツールの部門から数十億ドルを獲得できないことを覚えておいてください。スピードに慣れるまでの時間のコストは、すでに知っているものを使用するよりも大きくなりますが、長期的には、OSSコストの利点が時間への初期投資をはるかに上回ります。

主に、慣れていない技術を使用してこれを試してみることに警戒心があるかもしれませんが、とにかく常に新しい技術を使用していることを理解する必要があります。 node.jsの使用は、特にJavaScriptをすでに知っている場合は特に難しくありません。そのため、Javascriptに少し慣れるための追加コストは、数か月ではなく数日で測定されます。プロトタイプコードをすぐに立ち上げて実行できるチュートリアルと例はたくさんあります。すべてのコードを記述する言語に関係なく、スタートアップが成功すると、書き換えの壁にぶつかる可能性があります。

とにかく、LinuxはC/C++コーディングに完全に適しており、Linuxで最も人気のあるシステムの1つを見つけるでしょう。 MongoDBも良い選択です。明らかに、10genからのサポートはかなり良いです。 Node.jsも優れていますが、サーバーの大部分をノードで作成するか、C++コードへの単純なパススルーラッパーとして使用することになるかもしれません。

そして、それはうまくスケーリングします。 NoSQL DBの多くの利点を提供する一方で、リレーショナルDB機能も可能にするJSON列タイプが追加されたPostgresqlに注意することをお勧めします。 Postgresqlは堅実です。私はそれを緊急サービスのシステムの一部として使用したので、信頼性のために信頼できます(実際には、同じプロジェクトのSQLServerよりもダウンタイムが短くなります!)。

Linux上のIDEの場合、Eclipseが必要です。 CDT(C開発ツール)のパッケージのインストールは少し複雑ですが、Visual Studioと同じです。

最後に、新しいことを学ぶのは良いことです。Linuxの経験を楽しんで、仕事に行くのが嫌になるかもしれません:)

6
gbjbaanb

私はあなたの質問のサーバー部分について実際に意見を持っているわけではありません(javascriptを知っていると仮定すると、ノードは私の意見ではうまく機能します)。ただし、noSQLデータベースはLinuxサーバーで非常にうまく機能すると言います。私は現在、LinuxサーバーでCouchDBの実装(簡単なレプリケーションwhooo!)を使用しており、とても気に入っています。 C++モジュールのコンパイルに関する限り、CPUを集中的に使用する作業をJavaScriptで結合することをお勧めします。動作を確認し、動作が遅いと判断したら、C++モジュールの丘を登ります。私の経験では、コード化された画像操作を行うと、ノードはCPUのニーズに合わせて問題なく動作する可能性があります。

4
Jlange

小さなスタートアップとして、まだ専用サーバーは必要ありません。より安価で、MSライセンスがすでに含まれているクラウドを選択できます。そして、あなたは現在と同じスタックを使用しているでしょう。

オープンソースプラットフォームに切り替える理由はたくさんありますが、ホスティングの費用を少し節約することはその1つではありません。

また、Unix/LinuxプラットフォームのSysOpsは通常、WindowsのSysOpsよりも多く支払われることに注意してください。したがって、あなたの「節約」はあなたにもっとコストをかけることになるかもしれません。

2
vartec

「最初にそれを作りなさい。それからそれを正しくしなさい。それからそれを作りなさいgood。」

それを可能にするテクノロジーをできるだけ早く立ち上げることをお勧めします。後でオプションがないことを心配している場合は、モジュールをスワップアウトして、ゆっくりと別のものに移行するような方法でコードを書くことができます。ビジネスがそれを保証するのに十分人気がある必要があり、あなたはすぐに実用的な製品を持っている必要があることを覚えておいてください。

2
TarkaDaal

私の日常業務では、Microsoftの技術を日常的に使用しているソフトウェア会社で働いています。私たちは.NET、SqlServer、Windows Serverなどを利用しています。しかし、私はスタートアップとして、コストを抑える必要があることを認識しています。 Windowsのホスティングのコストを簡単に見てみると、専用サーバーの価格のいくつかを見て驚いた。私が見つけた最も安いものは月に100ポンドでした。また、将来的にビジネスを拡大する必要があり、最終的に複数のサーバーが必要になった場合、SQL Server/Windows Serverライセンスなどで年間£10から£000を使い果たしてしまう可能性があります。

その種類のお金を必要とする種類の規模に達すると、理論的には収入がこれらの費用と一致し、より良い取引を獲得でき、独自のハードウェアでスタッフをホストできます。見積もりが非常に高い理由の1つは、ハードウェアをレンタルしていて、それを購入してホストしていないためです(cerca facebook、Amazon、Microsoft)。

次に、専用サーバー用のLinuxホスティングの価格をざっと見てみたところ、価格はWindowsホスティングよりもかなり低かった。 1つの場所は、2コアのマシンを月20ポンド未満で提供することでした。

私の最初の質問は、「これらの種類の価格を提供している会社の何が問題になっているのか」、そしてWindowsサーバーと同じ会社のLinuxサーバーのコストはどれくらいだったのですか?私は答えで質問をしているのを知っていますが、質問自体が答えです。

私は仕事でたくさんのJavascriptを書いているので(現在、単一ページのバックボーンアプリに取り組んでいます)、NodeJSやExpressのようなWebフレームワークを使用するのがクールだと思いました。次に、SQLを使用する代わりに、NodeJSに優れたサポートを提供するMongoDBのようなオープンソースのNoSQLデータベースを使用しないのはなぜだと思いましたか?

私の唯一の懸念は、アプリケーションが行う作業の一部が、動的にイメージやその他のさまざまなイメージ関連のもの、つまりCPUがかなり重いものを構築することです-したがって、C++でCPUが重いものを書くことを考えていますそしてそれをNodeのモジュールとして消費します。

私の唯一の提案は、あなたが慣れているものを使うことです。既存のプログラムを使用して、あなたのようなビジネスの成功を支援します。成功したら、必要な変更をほぼすべて実装して行うことができます。あなたがその成功を得て、あなたがより高い価格を買うことができるなら、あなたはそれが実際には問題ではないと決めるかもしれません。

あなたの心配は健全だと私が言ったように、あなたはそれを正しいスケールから見ていますか、あなたが何をすべきかを決めるのを助けるためにビジネス予測を見ましたか?基本的に何をするかは(短期間で)すでに決まっていると思います。

全体像を見てみてください。サーバーをホストするためにそのようなお金を払う単一の会社に支払うつもりはないので、おそらく自分でそれを行うでしょう。

1
Ramhound

ここでは、見慣れないテクノロジーを使った大きなパラダイムシフトに注目しています。 ASP.NET 2.0アプリを変換し、サードパーティのライブラリを使用してモノ上で実行することで、私は成功しました。 http://www.ubiquityhosting.com/ は安価なモノホスティングを提供します。 MySqlとPostgresはどちらもADO.NETコネクタをサポートしており、開発時間を大幅に節約できます。私は通常、すべてのデータベースをSQLサーバー管理スタジオで開発し、SQLスクリプト生成タスクの出力に小さな変更を加えて、それらをmysql\postgresで動作させるようにします。 NHibernateのようなORMでも同様に機能すると思います。

C++アプリケーションの場合、専用サーバーを回避することでコストを低く抑えるために、バックエンドの作業がCPUに負荷がかかり、帯域幅に負荷がかかっていない場合は、常にいくつかのボクセンをホストすることができます。 2〜4 GBのRAMを備えたトリプルコアマシンは、その上でLinuxが実行されているため安価です。

最後に、基盤となるテクノロジースタックではなく、アプリを販売する機能、UI\UX、グラフィカルインターフェイス、および広告により多くの労力を注ぐことが最善です。すぐに大量のトラフィックを取得し始めた場合は、いつでもAzureまたはAmazonに移動して、より適切に負荷を処理できます。

1
Peter Smith

ほぼ10年前、私も同じ状況でした。しかし、私のMicrosoftソフトウェアはすべて私に渡され、大規模なMicrosoftショップのマネージャーである親戚が開発を手伝ってくれました。 1年後、経費が5万ドルになると、Microsoftは.NETに変更を加え、すべてをループに陥らせ、最初からやり直さなければなりませんでした(長い話です。質問しないでください)。

私の親戚の助言に基づいて、私たちはFreeBSDとLinuxに切り替え、3か月後、同じ人を使って事実上何もせずにすべてを再構築しました。現在、小規模なWeb開発ビジネスが盛んであり、ソフトウェア(またはハードウェア)を購入する必要はありません。

0
Rob