巨大なアプリケーションを Windows Azure に移植しています。これには、Web サービス フロントエンドと処理バックエンドがあります。これまでのところ、クライアント リクエストの処理には Web ロールを使用し、バックエンド処理にはワーカー ロールを使用すると考えていました。
2 種類の役割を管理するのは問題があるようです。2 種類の役割をどのようにスケーリングするかを決定する必要があります。また、適切なフォールト トレランスを確保するために、それぞれのインスタンスがいくつか (少なくとも 2 つ) 必要になるため、運用コストがわずかに増加します。また、私のアプリケーションでは、クライアント リクエストはかなり軽量で、バックエンド処理は重いので、バックエンド処理はクライアント リクエストを処理するよりもはるかに多くの処理能力を消費すると予想されます。
これが、私がすべてに Web ロールを使用することを考えている理由です。スレッドを生成し、各インスタンスでサービス要求とバックエンド処理の両方を行うだけです。これにより、役割はより複雑になりますが、管理は簡素化されると思います。統一された役割のインスタンスが増え、フォールト トレランスが向上します。
バックエンド処理に Web ロールを再利用することは良い考えですか? どのような欠点が予想されますか?