私たちは、リレーショナルデータベースを使用して非常に多くの「従来の」Webアプリケーションを実行しています。それらはすべて、限られた数のユーザーにサービスを提供する社内ソフトウェアです。現在、Webアプリケーションを構築し、SaaSなどのクラウドとしてビジネスを行っています。ただし、クラウドコンピューティングの経験はありません。現在のように、どこから掘るのかわからないので、掘り始めることができるように、すべてのアドバイスに感謝します:)
Webアプリケーションの概要:主要な2つの部分があります
パート1:
- 許可されたユーザーの場合。
- 主に書き込み
- 伝統的
- より多くのSQL結合を使用する。これにより、NoSQLはこの部分には適用できないと思われます。そして、MySqlを使用しています
パート2:
- パブリックユーザー向け
- 許可されたユーザーがページを作成してコンテンツを公開する一種のCMS。しかし、この行動は頻繁ではありません
- 主に読む
ユーザー登録(アカウント)を個別に管理することを考えています。すべてのアプリケーションで使用できるように、認証とSSOの実装を管理します。より多くのアプリケーションを構築し、登録ユーザー数の増加を期待しています。
すべてのアプリケーションはJavaで構築されています。
私たちが漠然としているのは次のとおりです。
- アプリケーションを拡張する方法(開発フレームワーク、データベース、デプロイメントモデル...)。水平スケールのアプローチを探しています。私たちの最初の考えは次のとおりです。パート1では、データシャーディングが唯一の方法であると考えられます。しかし、それを行うには、特定のユーザーを正しいユーザーにルーティングするにはどうすればよいでしょうか。そのための既存のオープンソース製品はありますか?パート2では、拡張性の高いCMSはありますか?ユーザーアカウントについては、NoSQLデータベースの使用を検討しています。
- 少数のサーバーから始めて、ビジネスの成長に合わせてさらに追加するプライベートクラウドを構築したいと考えています。そのためには、どのようなコンポーネント(ハードウェア、ソフトウェアなど)が必要ですか。ソフトウェアについては、オープンソースの方が興味深いです。
- 「新しいサーバーを追加することによるスケーリング(水平)」:それを機能させるために何をする必要がありますか?
- 1つのサーバーボックスにWebアプリケーションサーバーとデータベースサーバーの両方を配置した場合の落とし穴は何ですか?
ありがとうございました。