本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメントの効果と課題」を説明します。
前回は、リリースにおける6つの課題をブルーグリーンデプロイメントの手法によって解決できること、そして、ユニアデックスの開発したソリューションを例に、OpenStack上に構築したブルーグリーンデプロイメントの仕組みを説明しました。
今回はこれを踏まえて、OpenStackを基板とするブルーグリーンデプロイメントの効果と、導入における課題を具体的な導入を考える管理者に向けて考察していきます。
ブルーグリーンデプロイメントは、「リリース工数の削減」と「リスクの低減」に効果があることを前回説明しました。まず、リリースにかかる時間がどれだけ削減できるかを考察してみます。
以下は、あるWebアプリケーションシステム(以下、従来システム)を想定した、リリースにおける2時間のサービス停止を伴うメンテナンスタイムテーブル例です。
時刻 | 作業内容 | 備考 |
---|---|---|
23:00 | リリース作業開始 本番系停止 |
強制ログアウト処理5分 アクセス停止処置5分 バックアップ20分 |
22:30 | 本番系適用作業開始 | 適用作業30分 |
24:00 | 本番系適用確認テスト開始 | テスト可能時間30分 |
24:30 | 切り戻し判断期限時刻 | 切り戻し所要時間20分 |
24:55 | 本番系サービス再開準備 | アクセス開始処置5分 |
25:00 | メンテナンスタイム終了 | 本番系サービス再開 |
リリース作業における「2時間」は、あっという間です。上記のように個々の作業に時間を割り振っていくと、適用自体の作業に使える時間とテストに使える時間は、それぞれ30分しかありません。この例では、バックアップとリストアの時間にそれぞれ20分を取っていますが、大きな規模のデータベースを扱うシステムならば、もっと時間が必要かもしれません。
それに対して、このシステムへブルーグリーンデプロイメントの仕組みを導入すると、こうなります。
時刻 | 作業内容 | 備考 |
---|---|---|
23:00 | メンテナンス開始 本番系停止 |
強制ログアウト処理5分 |
23:05 | 本番系切り替え作業を実施 →本番系サービスが再開 |
強制ログアウト終了後、約3秒で本番系の切り替えが完了 |
23:15 | メンテナンスタイム終了 | 本番系の切り替え後5分を切り戻しの判断時間に割り当てる(問題がなければ作業なし) |
2時間の所要時間は15分に短縮されます。しかもほとんど焦る必要がない、余裕のある15分です。
もっとも、ブルーグリーンデプロイメントでは設定済みの環境をあらかじめ準備しておくので、プロジェクト全体の時間は変わらないのでは? と思う人はいるでしょう。しかし、作業タイミングが違うことに大きな意義があります。
まず、圧倒的にすべきことが減ります。従来システムでは、限られた時間内に多くの工程を迅速かつ正確に実行する必要があります。そのために、前もって入念な計画を行い、作業をこなす人員を確保して作業を並列化しなければなりません。併せて、臨時で確保した人員については対象のシステムに関する事前教育が必要ですし、作業前のリハーサルを行うことなども考察しなければなりません。
それに対してブルーグリーンデプロイメントならば、入念な作業計画を立てる時間とリリース時の追加人員はずっと少なくて済むでしょう。つまり、リリースにかかる時間だけではなく、工数を削減できることになります。
また、仮にプロジェクト全体の所要時間や工数には大きな差がなかったとしても、ブルーグリーンデプロイメントにはもう1つ大きなメリットがあります。それは「作業時間を平準化できること」です。例えば、リリースに向けて新たな人員が必要なのに、それを確保できなかったらどうするか、原価が想定以上に掛かったらどうするか、新たな人員を確保したはいいがスキルが低かったらどうなるか、などの不確定要素も考慮する必要があります。ブルーグリーンデプロイメントを適用すれば、そのような不安定性の影響を受けにくく、かつ、作業が集中してしまうことで生じるリスクを避けることができます。
Copyright © ITmedia, Inc. All Rights Reserved.