Agile2013の歩き方

第7回 Agile2013 最終日レポート「Why Everyone Needs DevOps」

この記事を読むのに必要な時間:およそ 3 分

閉会キーノート─DevOpsが開く開発と運用の新たな関係

10:45~12:00は閉会式を兼ねてのキーノートです。閉会式に先立ち,Agile2013の会長を務めたKent McDonald氏からの挨拶がありました。来年のAgile2014はフロリダ州オーランドのGaylord Palms Resortで開催され,再来年はワシントンD.C.で開催される予定です。

今年のキーノートはTripwireの開発者でTripwire社の共同設立者であるGene Kim氏が講演を行いました。講演のタイトルは「Why Everyone Needs DevOps Now: A Fourteen Year Study Of High Performing IT Organizations」です。

画像

Kim氏は今はTripwire社を退職して,新しい会社を設立する準備をしているそうです。その前に『The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win』という本を出しました。この本はJurgen Appelo氏によるTop 100 Agile Books (Edition 2013)で1位になっています。IT版の『The Goal』を目指して書かれたそうです。内容も説得力が高いストーリー形式にしたと言っていました。

最初の170ページは無料でダウンロードできるとのことなのですが,ネットを探しても見つかりませんでした(Twitterで指定されたいるリンクを開くとエラーになりました⁠⁠。ただAmazonでKindle版が881円で販売されているので,無料を探さず買っても良いと思います。

Gene Kim氏の話を聞くとすぐわかるのですが,彼はかなりの早口です。これまでITの生産性について調べており,生産性が高い人の共通点や,生産性が普通の人と低い人との違いについて語りました。一般的に生産性がよいのは①軍,②化学エンジニア,③会計検査官とのことです。

いまや全ての企業はIT企業と言えます。予算化されたプロジェクトのうち95%はITに関係している部分があり,予算の50%はITに関係しています。

ここで,5月のAmazonのデプロイ統計(本番環境への機能追加/変更)を例にとって解説しました。

Amazonの5月における月間デプロイ集計

平日の平均デプロイ間隔11.6秒
1時間での最大デプロイ数1,079デプロイ
同時にデプロイされる平均ホスト数10,000台
同時にデプロイされる最大ホスト数30,000台

こうした状況から,以前はDevOpsなどは不要だと思われていましたが,今ではすべての人がDevOpsが必要だと思うようになった,と語ります。

生産性が高いDevOpsチームは,よりアジャイルでもあります。通常のチームより30倍もデプロイし,サイクルは8,000倍も速いです。品質も2倍良くて,MTTRも12倍速く行います。

運用は壊れやすいものを扱う仕事です。開発プロジェクトが終わるごとにシステムはより複雑になり,壊れやすくなります。VelocityカンファレンスでFlickrのJohn Allspan氏とYahooのPaul Hammond氏が1日に10デプロイしたと発表しました。これがDevOpsの始まりとも言えます。開発者のように考えられるシステム運用者,システム運用者のように考えられる開発者の誕生です。

開発チームと運用チームの関係には次の3種類があります。

1.フロー

開発チームが開発した後に運用へ引き渡します。生産性を上げるためには開発チームから運用チームへのスループットを最大にします。不良品を運用に引き渡さないようにします。

開発環境を本番環境と同じにします。本番環境での信頼性を上がるために,先ず新しい機能を無効な状態で本番環境にデプロイします。様子を見て問題がなければ機能を有効にします。

2.フィードバック

開発した後に運用へ引き渡しますが,問題がある場合は開発へ連絡します。Struts2を共同開発したPatrick Lightbody氏(現BrowserMob社のCEO)によると,朝2時に開発者を起こしてバッグを修正させることで,バグ修正を早めることができたとのことです。

3.継続的試作と学習

機能別に分けて,継続的に機能の追加/更新を行います。毎日,試作を行うようにするで,学ぶことを習慣化させます。運動を1週間に1回,長時間行うよりも,毎日少しずつ運動した方がよいのと同じです。システムの信頼性を上げるために,問題が起きる前に自分らで定期的にプロセスを停止して回復作業も行います。

最後に─Agile2013に参加して

Agile2013の多くのセッションは初心者でも理解できる内容です。反対に物足りないと感じることもあります。最新技術の交流というよりも,楽しい環境で基礎の勉強をするような感じでした。初めて参加された人と話しても同じような感想でした。

しかし,世界から集まった多くの人と話すことができるので,その意味ではいろいろと勉強になります。たとえばカナダからの参加者が多かったのですが,これは米国から開発の仕事をかなり受けているからのようです。

DevOpsのことはわかっていると思っていましたが,海外での実例を聞くと,理解できていないことに気がつきました。オープンソースプロジェクトの中に,これまでのソース提供のみからAPI提供へ移るというプロジェクトが多くありました。その理由がわかった気がします。現状のオープンソースは開発チームが主ですが,DevOpsにより実際に運用してサービスを提供するための時間/コストが下がってきています。また,バグフィクスも数分~数秒単位で行えるようになってきています。3ヵ月や6ヵ月ごとに新リリースを行うようなオープンソースプロジェクトはもう時代遅れなりつつあるのかもしれません。

ユーザはプロダクト/サービスを必要としています。プロジェクトを成功させることではありません。ソフトウェアの価値はユーザが使えるようになった時点から始まります。コードを書き終わったり,テストが終わった時点ではりません。どのようにしたら短時間でユーザに使ってもらえるかが課題です。このことは複数のセッションで言われました。

継続的に数秒で機能追加/更新がなされ,かつ品質も従来よりも高いシステムを開発/運用するのがDevOps/アジャイルです。そのためにはツールだけではなく,モチベーションが高いチームが必要だと感じました。⁠ソフトウェア工場」という概念はもうまったく無くなっているように思えました。

ナッシュビル散策

最終日は午前で終わったので,午後からナッシュビルを歩きました。まずホットチキンの販売を始めたプリンスホットチキンシャックへバスで行きました。ホットチキンはナッシュビルでもっとも有名な食べ物です。ここに来て食べずに帰らずにはいられません。

ダウンタウンから少し離れているので都市バスに乗りました。バスの運転手に「このお店に行きたいので降りるバス停に来たら教えてください」とお願いしました。20分くらいバスに乗っていたら何だか雰囲気がヤバイ感じになって来ます。そうしたら,運転手さんが「ここだよ!」と大声で叫びました。この店だよという店は汚れています。前には体格のよい黒人ばかりです。しかしここまで来たので買うしかありません。

画像

店に入ってもお世辞にも綺麗とは言えない雰囲気です。しかし店の人は親切に対応してくれました。帰りもバスなので暗くなる前に帰りたいと焦りながら待っていたら,40分ぐらい経ってやっと自分の番号が呼ばれました(このあたりはタクシーは走っていません⁠⁠。バスも30分に1本しかなく,日本のバスのように時間通りに走っていないので,店内で食べるよりもバス停で食べることにしました。マイルドにしたのにかなり辛いです。

ダウンタウンに戻ってから夜の街を歩きまわりました。昼間は静かでしたが,夜になると街中から音楽が流れて賑やかになります。音楽は飲食店からが主ですが,道の信号機制御機器からも音楽が流れています。

次の日は再びバスに乗ってナッシュビル国際空港へ行きました。シカゴまでは小型の飛行機です。離陸して窓から下を眺めていたら今回,宿泊したゲイロード・オープリーランド・リゾート・アンド・コンベンション・センターが見えました。さらば,Agile2013!

著者プロフィール

小沢仁(おざわひとし)

株式会社オージス総研

米シカゴ育ち。シカゴ大学で物理を専攻。Oracle XDKを日本に紹介,Seasar英語ページを作成,ESB Muleコミッタとして同ソフトの日本ローカライズ/日本語サイト構築,WaveMakerの日本語ドキュメントを作成,Apache ManifoldCFコミッタ/日本語ページやMySQL対応を貢献。IEEE APSCC 2009などでSOAの研究発表も行っている。

Liferayに興味をもち,Liferay.comフォーラムでサポートしたりWikiページを作成している。Liferay6およびLiferfay IDEの日本語化や日本語資料も作成している。2012年にLiferay社からグローバルレベルでの「Liferay Community Contributor of the Year 2012」を受賞。

現在,米ナッシュビルで開催されるAgile2013カンファレンスでオフショア開発についての発表申請に時間を費やしている。