4

Webアプリケーションを構築し、Azureに依存することを検討しています。このアプリケーションの背後にある主なアイデアは、ユーザーがクラウド内の特定のタスクで一緒に作業できることです。ユーザーがダウンタイムに悩まされないインスタントリリースの概念を採用したいのですが、これをどのように実現できるか(可能であれば)わかりません。現在、10.000人のユーザーがこのWebアプリケーションに取り組んでおり、データベースが更新されたソフトウェアをリリースするとします。

  • ソフトウェアの新しいリリースをAzureに公開するとどうなりますか?
  • 私の貧しいユーザーの進行中の素晴らしい仕事はどうなりますか?
  • 新しいリリースを公開する前に、まずサイトを停止する必要がありますか?
  • 「リリースするだけ」で、ユーザーが新しいページをリクエストするとすぐに「新しい」世界を楽しむことができますか?

Azureで戦略をリリースするための情報が見つからないことに驚いていますが、間違った場所を探していますか?

4

2 に答える 2

3

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クラウドサービスについての理解が深まると思います。

于 2013-01-02T12:49:40.477 に答える
1

はい、できます。

ビジュアルstdioテンプレートアプリケーションの1つを作成し、ポータルマネージャーでAzureサイトをクリックしたときに直接配置される「ステージング」および「本番」環境を確認することをお勧めします。

たとえば、ユーザーがSqlserver1に接続されている「本番」環境で作業しているとします。新しいリリースを、Sqlserver1にも接続されている「ステージング」に公開します。次に、スワップを使用して2つを切り替えるだけで、ステージングが「本番」環境にな​​ります。

セッションまたはサーバーキャッシュに何かが保存されている場合、彼らの仕事はどうなるかわかりません。彼らは失われると思います。しかし、クライアント側のものはシームレスに機能します。

「新しいリリースを公開する前に、まずサイトを停止する必要がありますか?」私は警告を表示し(ユーザーがセッション関連のものなどを使用している場合)、5分で短時間のダウンタイムが発生し、その後、すべてのユーザーに終了したことを通知します。

于 2013-01-02T11:51:34.057 に答える