Windows Azureは、多くのソフトウェア管理タスクを簡素化できるさまざまな機能を備えた優れたプラットフォームです。ただし、使用するプラットフォームがどれほど優れていても、アプリケーションは適切なシステムアーキテクチャとコード品質に依存することに注意してください。適切に作成されたアプリケーションは完全に正常に機能します。不適切に記述されたアプリケーションは失敗します。したがって、Azureがすべての問題を解決することを期待しないでください(ただし、多くの問題に役立つ可能性があります)。
What happens when I publish a new release of my software into Azure?
Windows Azureクラウドサービスには、運用展開とステージング展開の概念があります。新しいコードの展開は、最初にステージングに進みます。次に、そこで簡単なQAを実行し(アプリケーションを「ウォームアップ」して、すべてのキャッシュが設定されていることを確認しますが、アプリケーションの設計によって異なります)、「スワップ」を実行します。ステージングデプロイメントが本番環境になり、本番環境デプロイメントがステージングになります。これにより、新しいコードで問題が発生した場合に「ロールバック」を実行できるようになります。スワップ操作は、ほとんどが内部DNSスイッチであるため、比較的高速です。
What will happen to the brilliant work in progress of my poor users?
サイトの負荷が最も低い時間帯(夜間)にコードの展開を実行することをお勧めします。アプリケーションがグローバル組織で使用されている場合など、それが不可能な場合もあります。次に、「最低」のアクティビティ時間を使用する必要があります。
ユーザーを保護するために、X分ごとに実行される「自動ドラフト保存」などのソリューションを実装できます。ただし、アプリケーションがクラウドシステムで動作するように設計されている場合、ユーザーは新しいコードのリリース中に機能障害が発生することはありません。
Should I bring the site down first before I publish a new release?
これは、アプリケーションのアーキテクチャによって異なります。アプリケーションが非常にうまく設計されている場合は、それを行う必要はありません。私が使用しているWindowsAzureアプリケーションには、月に1回新しいコードがリリースされており、最初から(過去2年間)、サイトを停止する必要はありませんでした。
これにより、Azureクラウドサービスについての理解が深まると思います。