ステージング機能:複数スロットの入れ替えを試してみた話。

Pocket

slot02_ttl

Webサイト制作時に「ステージング機能を使うととても便利」という話をよくしているのですが。
稀に「現状修正してテスト環境に置いている内容(そこそこ大規模修正A)のOKよりも先に、現状のサイトに修正Bを追加してテスト環境で確認したい」という事態があったりします。
こういうときにこそ「(本番環境は触らず)修正AもBも残し、両方クライアントに確認してもらう」のでステージングを使うと便利なのですが、スロットを複数用意して入れ替えを繰り返した場合どうなるか?ってやったことなかったな、と思ったので試してみました。

ステージングについてはこちらの記事もどうぞ。

Azure WebSitesの「ステージング」をWeb制作な視点で使ってみました
https://zuvuyalink.net/nrjlog/archives/1723


新規WebAppを作成

いつもどおり、Azureポータル画面から新規でWebAppを作成します。
さて、2016年5月3日にPHP7.0が使えるようになったと発表がありました。

Announcing support for PHP 7.0 in Azure App Service and notice of PHP 5.4 retirement
https://azure.microsoft.com/en-us/blog/announcing-support-for-php-7-0-in-azure-app-service-and-notice-of-php-5-4-retirement/

記事中に「Retirement of PHP 5.4」ってあるんですが、AzureポータルでWebアプリを作るとデフォルトで「PHP5.4」。
slot02_01

なので、今後新規でWebAppを作成した場合は変更しておく方がいいかと思います。

スロットを複数準備する

slot02_02
動作確認用のWebアプリですが、本番環境と以外に、スロットを3つ作成しました。
それぞれの中身はこんな感じ。

▼本番環境
slot02_03
URL:http://zuvuya-test-link.azurewebsites.net
文言に「本番環境」の記述。

▼スロット1
slot02_04
URL:http://zuvuya-test-link-stg1.azurewebsites.net
文言に「ステージング2」の記述。

▼スロット2
slot02_05
URL:http://zuvuya-test-link-stg2.azurewebsites.net
文言に「ステージング3」の記述。

▼スロット3
slot02_06
URL:http://zuvuya-test-link-stg3.azurewebsites.net
デフォルトのページ。(Webサイトを入れていない状態)

ちなみに、本番環境、スロット1、スロット2には同じGoogleAnalyticsタグを入れています。(計測がどうなるか気になったため)
この複数スロットを入れ替えて動作確認してみます。

本番環境と「スロット3」を入れ替え

「本番環境」と「スロット3」を入れ替えてみます。
[デプロイメントスロット] >[スワップ]をクリック。
slot02_07
入れ替えたいものを選択してOK。

slot02_08
内容がキチンと入れ替わっています。

スロット同士の入れ替え

スロットが複数あっても、本番環境とは問題なく入れ替えできました。
では、スロット同士の入れ替えはどうなのか?
「スロット1」と「スロット2」を入れ替えてみます。
slot02_09
先ほどと同じく、入れ替えたいものを選択してOK。

slot02_010
こちらも問題なく、内容がキチンと入れ替わっています。

Googleアナリティクスのタグを入れている場合

今回はABテストをしたいわけではないので、GAタグは同じものを入れておきました。(「スワップ」後の修正をしなくていいように)
各スロットのURLを見てもらうとわかるのですが、本番サイトとURLが違うのでGA側でアクセスがカウントされることはありません。
テスト環境のアクセスが混ざると困る場合などを考えると、ステージング機能は便利かと思います。

最後に

入れ替えるWebサイトのファイル数にもよりますが、通常は数秒で入れ替わります。(スロットが多いからなどの問題はない模様)
複数スロットを活用すると、同時並行でクライアントに修正箇所をチェックしてもらうこともできるし、どのスロットでも本番環境に入れ替えることができるので便利かなと。
動作的にはいくつスロットを作って入れ替えても大丈夫ですが、あまりスロットを作り過ぎると管理側がこんがらがって人的ミスを起こしそうなので、でその辺りは注意した方がよさそうですw

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください