web-dev-qa-db-ja.com

ホスティングとスケーリングをセットアップするための最良の方法SaaSアプリケーション

私は小さなアプリケーション用のホスティング環境をセットアップした経験のあるソフトウェア開発者であり、1日あたり5k以下のトラフィックタイプです。 SaaSアプリケーションを構築したばかりですが、サーバー構成をセットアップして計画し、ビジネスに合わせて拡張および拡張する方法を考えています。これを最初からやりたいので、アドバイスが必要です。 SaaS Webアプリケーションをセットアップしてホストする適切な方法。

情報:

  • SaaS Webサイトアプリケーションは、ビジネスの主要なWebサイトになるため、そのようなトラフィックを処理する必要があります。

  • サイトごとに単一の個別のデータベース。 (すべてのサイトで単一のデータベースではないという特定の理由があります)

私の考え:

  • 最大のAWSサーバーでセットアップし、単一のインスタンスで数百のサイトをホストできますか?もしそうなら、私は最大のメモリサーバーまたはCPUを使用する必要がありますか?私はたくさんのデータをキャッシュしているので、私はメモリを考える傾向があります。
  • Amazonをセットアップして、より小さなサーバーとスタック全体の負荷分散を行うことができますか?
  • 実際のWebサーバー自体にデータベースをセットアップする必要がありますか、それともRDSでセットアップする必要がありますか?
  • アマゾンも使うべきですか?

お手数をおかけしますが、よろしくお願いいたします。

1
FAtBalloon

番号。

最大のAWSサーバーは少し奇妙な獣です。奇妙で高価な獣。

あなたがしたいこと(というより、私があなたの立場でしたいこと).。

アプリケーションをサービスに分割してから、サーバーを起動してそれらのサービスを実行します。

サービスは、ある種のスケーラブルな通信バスを介して他のサービスと通信できる必要があります。 HTTPは良い選択であり、RabbitMQは代替手段です。

次に、t1.microまたはm2.smallなどの多数の小さなサーバーから始めて、アプリケーションのパフォーマンスを確認できます。ボトルネックに達すると、可視性が向上するため、問題がどこにあるかを確認できます。「まあ、それはタイムリーなワイムのもののこの大きな揺れ動く塊の中にある」とだけ言うことはできません。

RDSは、少なくともそもそも、おそらく正しい選択です。うまくスケーリングできない場合があります。その時点で、その決定を再検討して、別のことを試すことができます。

アマゾンウェブサービスは、おそらく最高のコミュニティと最も浅い学習曲線を備えた、他のサービスと同じくらい良い選択です。

サーバースタックと環境を管理するには、totallyAWS OpsWorks を確認する必要があります。

ああ、最初からやるようなことはありません。

2
Tom O'Connor