サービスの 1 つを使用することは、大部分が無人です。コードを記述し、ボックスの管理、プロセスの維持、公開チャネルの作成、OS へのパッチ適用などについて彼らに心配させます...
対照的に、独自の VM を使用すると、より多くの制御が可能になりますが、より多くの先行投資と継続的な時間投資が必要になります。
もう 1 つの考慮事項は、一部のホスティング会社やクラウド プロバイダーが独自の技術や独自の技術バリエーションを提供していることです。それらには理由があり、価値を提供しますが、クラウド プロバイダーを切り替えたい場合は、コードやデプロイ スクリプトなどを書き直す必要があることを意味します。一方、標準 OS の VM をベースラインとして使用するとかなり一般的です。VM の構成を自動化/スクリプト化/文書化し、コードが一般的なままである場合、オプションは開いたままになります。プロプライエタリなクラウド テクノロジーに依存している場合は、インターフェイスの背後で抽象化して、分離されたコンポーネントにし、コード全体に散らばらないようにすることをお勧めします。
私は両方をやった。私が最近 VM パスを受講したのは、主に学習体験が必要だったからです。そうしなければならなかった:
- クラウド プロバイダーから VM を取得する
- OS の更新とパッチ適用が必要でした
- 発行チャネルとして git をインストールして構成する必要がありました
- いくつかのスクリプトを作成し、forever などを使用して実行し続ける必要がありました
- 複数のサイトを実行するには、リバース http プロキシを構成する必要がありました。
- クラウドプロバイダーでDNSを構成し、git用にポートを開く必要がありました...
リストは続きます。最終的に、コーディング以外の時間はかかりましたが、より多くのことを学びました。それらがあなたにとって重要な場合は、試してみてください。コードの作成に集中したい場合は、ノード ホスティング プロバイダーが最適です。
最後に、さらに多くのオプションがありました。2 つ目のサイトを追加したかったのです。リバース プロキシにエントリを追加し、スクリプトを追加して、別のアプリを永久に別のサイトで起動します。より多くのコントロール。その後、MongoDB を試してみたかった - シンプル - インストールしました。
コスト的にはほぼ同じですが、データベースなどの他の多くのパッケージを使用して複数のサイトをホストし始めると、VM が安くなり始める可能性があります。
Nodejitsu はツールをオープンソース化しているため、独自のツールを使用する場合も簡単になります。
自分で行う場合は、次のリンクが役立ちます。
サーバーの維持:
https://github.com/nodejitsu/forever/
http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
https://github.com/bryanmacfarlane/svchost
Upstart と Monitor 一般的な自動起動と監視による再起動
http://howtonode.org/deploying-node-upstart-monit
クラスタ ノード コアごとに 1 つのプロセスを実行
http://nodejs.org/docs/latest/api/cluster.html
リバース プロキシ
https://github.com/nodejitsu/node-http-proxy
https://github.com/nodejitsu/node-http-proxy/issues/232
http://blog.nodejitsu.com/http-proxy-middlewares
https://github.com/nodejitsu/node-http-proxy/issues/168#issuecomment-3289492
http://blog.argteam.com/coding/hardening-node-js-for-production-part-2-using-nginx-to-avoid-node-js-load/
インストールのスクリプト
https://github.com/bryanmacfarlane/svcinstall
プロセスの終了コードに基づいてシェル スクリプトを終了する
サイトを公開
git を使用して Web サイトに公開する