私は、Azure ベースのアプリケーションの設計の初期段階にいます。私が Azure に惹かれる理由の 1 つは、予想される需要の変動性を考えると、スケーラビリティです。そのため、必要に応じてインスタンスを追加できるように、物事を疎結合に保つようにしています。
Azure 用のアプリケーションを設計する際に私が目にした推奨事項には、Web ロール ロジックを最小限に抑えること、worker ロールで処理を実行すること、通信にキューを使用すること、SQL Azure や Azure Tables などのバックエンド ストアを使用することが含まれます。アプリケーションのいずれかまたは両方の部分を問題なくスケールアップできるので、これは良い考えのように思えます。ただし、キューでデータを送信するのではなく、Web ロールをデータ ストアと直接通信させるのが最適な場合のベスト プラクティスがあるかどうか (または誰かが経験を持っている場合) に興味がありますか?
Web ロールから簡単な挿入を行うケースを考えています。これをメッセージとして設定し、キューに送信して、worker ロールにピックアップさせて挿入させることもできますが、ダブルハンドリングが多いようです。ただし、Web ロールが圧倒されたり、より複雑なロジックが挿入に必要になったりした場合に備えて、長期的にはこれがより良い場合があることも理解しています。
これは、答えが「完全に状況に依存するため、パフォーマンス メトリックを確認してください」である場合があることは承知しています。