0

当社のサーバーでホストされている企業に販売する Web アプリケーション製品があります。この製品には、いくつかの Web アプリケーション、Windows サービス、および SQL サーバー データベースが含まれています。現在、当社の製品を使用しているクライアントは 1 つだけです。2 つのサーバーがあります。1 つは Web アプリとサービス用、もう 1 つはデータベース用です。

製品を別のクライアントに追加するには、すべてのアプリとデータベースを「複製」して、個別に実行する必要があります。

拡張を開始し、一部の企業は他の企業よりも多くのサーバー パワーを必要とするため、サーバー インフラストラクチャを計画する必要があります。

クライアントごとに 2 つのサーバーを用意するのはばかげているように思えます。ホスティング費用は膨大になります。顧客が 10 人になるとどうなりますか? また、おそらく一部のサーバーは他のサーバーよりも多くの電力を消費し、サーバーは容量の 30% を使用し、他のサーバーは 70% を使用することになります。

私が本当に気にかけていることの 1 つは、DB を各製品から分離することです。これにより、サーバーが侵害された場合、1 つのデータベースのみが危険にさらされます。

そこで... 仮想マシンについて考えてみました... そうですか? 仮想マシン インスタンスを保持するには、2 つのスーパー サーバーが必要ですか? (1 つは Web 用、もう 1 つは db 用ですか?) ロード バランシングなどについてはどうですか? 仮想マシンを使用しているという理由だけで、より多くのメンテナンス時間が必要になりますか? ハードウェアの推奨事項はありますか?

どんな助けでも大歓迎です

どうもありがとう

4

1 に答える 1

1

仮想マシンは間違いなくクライアントを分離する最も安全な方法であり、特定のクライアントに特定の割合のリソースを柔軟に割り当てることができます。

ただし、同じ物理マシンで別のプロセスを使用すると、パフォーマンスが向上し (ただし、常に大幅に向上するとは限りません)、リソースをより動的に使用できます (つまり、1 つのプロセスが急増した場合、必要なリソースを使用します)。ただし、このセットアップでは、リソース割り当てを簡単に制御することはできません。また、独自の監視ツールを構築して、どのプロセス (クライアント) がどのリソースを使用しているかを確認および分析する必要があります (perfmon に便乗)。

アプリケーションが個別のプロセス用に設計されていない場合、個別のプロセスを使用することも危険です。アプリケーションがファイル システムにデータをキャッシュしたり、メモリ以外のものにアクセスしたりする場所はどこでも、クライアントからのデータが混ざったり共有されたりしないように、データベースを徹底的にスクラブする必要があります。

個別の仮想マシンは、管理の手間がかかります。それぞれの仮想マシンは、まるで自分のコンピュータのようです。したがって、すべての VM と物理マシンを管理する必要があります。

Amazon AWS や Microsoft の Azure などのより動的な環境でのホスティングを検討することもできます。これにより、必要に応じて、従来のホストでの VM よりも簡単にスケールアップ/ダウンできます。

于 2011-06-06T19:18:31.407 に答える