写真1●アマゾン データ サービス ジャパンの吉羽龍太郎氏
写真1●アマゾン データ サービス ジャパンの吉羽龍太郎氏
[画像のクリックで拡大表示]

 2013年9月28日に都内で開催された「DevOpsDay Tokyo 2013」。壇上に立ったアマゾン データ サービス ジャパンの吉羽龍太郎氏(プロフェッショナルサービス事業本部 シニア・コンサルタント)は、「DevOps時代のインフラ構築と開発プロセス」と題して講演した(写真)。

 吉羽氏は最初に「DevOpsとは、文化とツールを通じて環境変化に対応し、変化のリスクを減らすこと」と定義。その上で「開発と運用が互いに尊重・信頼し合い、両者が協調する文化を醸成すると同時に、ツールによる自動化で俊敏性を高めることが、DevOpsで重要だ」と強調した。

 次に、DevOps時代の開発プロセスについて言及。吉羽氏は「基本はアジャイル開発。重要な原則は、価値あるソフトウエアを顧客に届け続けること」とした。つまりDevOpsでいう「継続的デリバリー」の考えだ。

 吉羽氏によれば、継続的デリバリーを実践する米Amazon.comでは、11.6秒に1回のペースで機能をリリースしている。「Amazonは極端としても、大切なのはリリースを怖がらないこと。怖がるからチェックリストが増え、リリースサイクルが長くなる」(同氏)。そして、リリースを怖がることで1度に多くの機能をリリースしてしまい、トラブルにつながると指摘。「より小さな変更点でリリースすべきだ」(同氏)と訴えた。

 吉羽氏はまた、リリースサイクルを短くする際の注意点として「リリース時の品質基準」が大事だと説明した。ただし品質基準とリリースサイクルはトレードオフの関係にあるため「開発と運用が合意すること。そして品質基準は運用フェーズで適切に見直すことが大事」(同氏)と述べた。

まずはスクラムの実践から

 続いて吉羽氏は、継続的デリバリーの効果的な導入手順について話題を移した。

 それによると、まずアジャイル開発のスクラム手法によって「繰り返し型開発」を確立する。次に、各要求に適切な優先順位を付けた開発を定着させる。そして、アジャイル開発のXP(eXtreme Programming)の実践手法の一つ「継続的インテグレーション」に取り組む。この段階で「テストの自動化を成し遂げる」(同氏)。

 最終段階では、リーン手法を実践。ここまでくれば「必要な機能を必要なタイミングでリリースできるようになる」と吉羽氏は説明する。

 「開発プロセスにムダがあると思うなら、開発と運用が会話して改善を続けるしかない」。吉羽氏は講演をこうまとめる。そして「ムダを省けば、開発・運用とも価値を生む作業に専念できる」と締めくくった。