目次


実行中のクラウド・アプリをダウンタイムなしで更新する

Bluemix 内で Delivery Pipeline の Active Deploy 拡張機能を利用して、ゼロ・ダウンタイムのデプロイを実現する

Comments

編集者注: このチュートリアルは、2014年 12月に公開された Daniel Berg 氏によるチュートリアル「IBM DevOps Services での Bluemix へのローリング・デプロイを自動化する」を更新したものです。

新しいユーザーを引きつけて既存のユーザーを維持する最良の方法は、ダウンすることが決してない魅力的なアプリケーションを作成することです。サイトの利用者は、予定されていた中断であるかどうかに関わらず、サイトのサービス中断に対して寛容ではありません。チームが変更を配信する速さと頻度が高くなるにつれ、サービスの中断を回避することがますます重要になってきます。

「ローリング・デプロイ」とは、利用者に対するサービスの中断がまったく発生しない環境にアプリケーションの新しいバージョンをデプロイするプロセスを意味します。ユーザー・ベースを増やしたいと思ったら、ローリング・デプロイを実装することが必須です。

Bluemix 上にベータ版で導入された Active Deploy サービスによって、クラウド・アプリケーションにゼロ・ダウンタイム・デプロイ機能が追加されました。これにより、アプリケーションをオフラインにしてユーザーのアクセスを中断しなくても、Bluemix 上のアプリケーションを更新できるようになっています。

その一方で、この機能にとって重要な特徴となるのは、ソフトウェア・デリバリー・プロセス全体にわたる自動化です。つまり、概念から本番までの更新を迅速に繰り返し配信することを可能にする DevOps 自動化です。Active Deploy は、Bluemix 用 Delivery Pipeline に拡張機能を追加することによって、デプロイの自動化を実現します。

Delivery Pipeline には、アプリを本番環境にデプロイするためのデプロイ・プロセスが用意されていますが、デプロイする際に、アプリをオフラインにしなければなりません。一方、Active Deploy 拡張機能を利用すれば、同じデプロイ・プロセスでもダウンタイムを伴うことなく利用することができます。

デプロイ・ステップの概要を示す図
デプロイ・ステップの概要を示す図

必要となるもの

先へ進むには、IBM ID と Bluemix アカウント (このリンク先のページでフリートライアル・アカウントを登録するか、アカウントを登録済みの場合は、そのアカウントを使って Bluemix にログインします)。

試してみる

実行中のアプリを更新してデプロイ・パイプラインの拡張機能を追加するために、Active Deploy を利用する方法を紹介する、Bluemix DevOps Services に関するチュートリアルを参考に作業することができます。

「Update a running app with zero downtime」チュートリアルにアクセスするサンプル・コードを入手する

このチュートリアルでは、次の作業を行います。

  1. 構成済みのサンプル・アプリを使用してプロジェクトを複製します。
  2. パイプラインを含める IBM Bluemix DevOps Services プロジェクトを作成します。
  3. アプリを Bluemix にデプロイします。 アプリを Bluemix にデプロイしている画面のスクリーンショット
    アプリを Bluemix にデプロイしている画面のスクリーンショット

Active Deploy を Delivery Pipeline に追加する

ここまでで、いかに容易に Active Deploy を Delivery Pipeline に統合できるかを見てきたので、今度は当然、それを手に入れたいと思うはずです。Active Deploy を Delivery Pipeline に導入する方法についての詳細は、以下のリンク先の公式資料を参照してください。

Delivery Pipeline のスクリーンショット
Delivery Pipeline のスクリーンショット

まとめ

サービスの中断を回避してユーザーを満足させ続けるには、本番レベルのあらゆるアプリケーションにローリング・デプロイが必要になります。Bluemix 内では手作業でアプリケーションのローリング・リリースを実行できるようになっていますが、それを行うのは面倒であると同時にエラーの原因となりがちです。行わなければならないのは、ローリング・デプロイを自動化して、再現性と信頼性の高いデプロイを実現することです。このチュートリアルの情報とサンプル・プロジェクトを参考にすれば、どの Bluemix アプリケーションにもローリング・デプロイを適用することができます。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=DevOps, Cloud computing
ArticleID=990701
ArticleTitle=実行中のクラウド・アプリをダウンタイムなしで更新する
publish-date=07282016