BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Canary Deploymentsを使って稼働中にテストする

Canary Deploymentsを使って稼働中にテストする

原文(投稿日:2013/03/26)へのリンク

 

Nolioが彼らのDevOpsのベストプラクティスに関するシリーズの最初のビデオで言っていることによれば、ユーザーの一部を新しい機能に目を向けさせたことで、企業は "Canary Deployment"を継続的デリバリの一部として使って、稼働中のソフトウェアをテストしている。"Canary Deployment"は一種の増分リリースで、ソフトウェアの新バージョンをその対応する稼働中のバージョンと並んでデプロイすることで実現される。ソフトウェア製品を並べて、複数のバージョンを走らせるには、ソフトウェアは、特にその構成と完璧な自動デプロイができるように設計されている必要がある。

"Canary Deployment"における技術的挑戦を克服したことで、デプロイプロセスのリスクを減らし、A/Bテストとプリエンプティブなパフォーマンステストできるようになる。A/Bテストにより、ほとんどのユーザーの使用感を変えることなく新しい機能をテストできる。同様に、パフォーマンステストは、全体としてユーザーベースにほとんど影響を与えない。

Nolioによれば、"Canary Deployments" は以下のステップから成る。
  1. ビルドによる成果物、テストスクリプト、設定ファイル、デプロイマニフェストを含んだデプロイ用の成果物を準備する。
  2. ロードバランシングから"Canary" サーバーを除く。
  3. "Canary" アプリケーションをアップグレードする(ドレインとデプロイ)。
  4. アプリケーションの自動テスト。
  5. ロードバランシングに"Canary" サーバーを戻す(接続性とサニティチェック)。
  6. もし"Canary" テストがライブ使用で成功したら残りのサーバーをアップグレードする(失敗したらロールバックする)。
Nolioのプレゼンテーションには、"Canary Deployments"の高レベルな統合を示す、彼らの製品の使い方の概要が含まれている。彼らは、複数のプロセスで再利用できるアプリケーションモデルを使っているが、その使い方はデータから導ける。管理とレポーティングは、"Canary Deployment"に並行して行われる。
 

 

 

この記事に星をつける

おすすめ度
スタイル

BT