なお、前半の模様は『新生ヤフーの「爆速」を可能にした「リーンスタートアップ」とは?――IBM Innovate 2013レポート』を参照のこと。
UrbanCode Deploy/ReleaseはIBM DevOpsの要
後半の最初に登壇したのは、UrbanCodeの共同創設者であり現IBM Rational Software Directorであるマチエル・ザワスキー氏が、UrbanCode Deploy、UrbanCode Releaseの概要と事例紹介を行った。
UrbanCodeの製品は、IBMのDevOpsプラットフォームの要ともいえる。UrbanCode Deployは、ソフトウェアのデリバリパイプラインの管理を自動化するツールであり、UrbanCode Releaseは、最終バイナリがデプロイされ、利用者にリリースする際のリリース計画の管理、運用中に必要な各種タスクのスケジュールを担当する。UrbanCode Deploy/Releaseを組み合わせることで、開発からリリースまでのプロセス(ソースコードのコミット、リポジトリへの登録、ビルド、アーティファクト(配布用バイナリパッケージ)構築、各種サーバーの構成管理、テスト・ステージング環境、デプロイ、そして運用管理)全体をストリームラインとして管理することが可能だ。
UrbanCode Deployでは、ビジュアルプロセスエディタという機能により、ビルド、構成管理、テスト環境、本番環境といったさまざまなステップを示すアイコンをキャンバス上にドラッグしていくことで定義できる。そのステップは100種類以上あり、12の外部ツールと連携できる。外部ツールはWebSphereのようなアプリケーションサーバー、各種のデータベース、MQ、ロードバランサ、モニタリングツールなど多岐にわたる。
また、インベントリ管理も可能で、サーバーごとのバージョンを把握するだけでなく、どのサーバーはどのバージョンであるべきかも管理でき、デプロイやリリースには、サーバーごとに必要な差分ファイルだけの展開も可能だ。ザワスキー氏は、デプロイ作業で工数のかかる構成管理やバージョンごとの管理などが自動化されることで、大幅な効率化が可能であるとする。
自動化で月曜朝の待機がなくなった
UrbanCode Deployの事例として、グローバルな投資企業と為替取引企業での例が紹介された。ある投資企業の場合、売買システムにアジャイル開発を適用して、各種機能をリリースしていたが、デプロイが手作業であったため、時間のかかる作業でありミスも多かったという。UrbanCode Deployでリリースプロセスを自動化したところリリース期間が2、3日かかっていたものから数時間で終わるようになった。
為替取引の会社では、取引の都合、システム更新や新機能は週末リリースが基本だったが、それまではリリース後、本番環境で発生する問題対応、障害対応のためスタッフの動員や態勢が課題となっていた。特に週明けの月曜は、運用スタッフが障害対応に追われてしまう「月曜の朝効果(Monday morning effect)」に悩まされていたという。デプロイの自動化とステージング環境でのテストによって、事前に問題点を把握したり対応することで、月曜の朝効果は解消された。
ザワスキー氏は、DevOpsを成功させるには、開発側と運用側が共通のプラットフォームで共通のツールを使うことが重要であると述べ、次の講演者につないだ。