DevOpsとはどんなもので、何が議論されているのか(後編)
開発と運用の対立を越え、ビジネスのために協力し合う。「DevOps」ムーブメントをテーマにしたイベントが2月24日に都内で行われました。
IT業界がパッケージソフトウェアからオンラインサービスへと転換しつつある中で、優れたサービスを迅速に実現する重要なキーワードとしてDevOpsは注目されはじめています。
この記事では、日本でDevOpsの普及に努めている森川裕和氏(@nxhack)の講演をダイジェストで紹介しましょう。
(この記事は「DevOpsとはどんなもので、何が議論されているのか(前編)」の続きです。
クラウドで、インフラにもアジャイルが入ってきた
デベロッパーには、2001年からの十何年かのアジャイル開発の議論やノウハウがあります。では運用にはアジャイルな運用のノウハウはあるの?
インフラというのは固いところがあって、どうしようもないところがあります。例えば、新しい機能を追加するので一週間後にサーバ10台設定してね、と依頼されても、メーカーに在庫がなかったら一週間で用意できません。ここでよくけんかになったりしますよね。
で、アジャイルインフラストラクチャという考え方がでてきた。クラウドです。インフラがコードとして扱える。すごく大きなポイントです。
IaaS型のクラウドとは、運用のアジリティを高めるもの。この視点がないとクラウドを導入しても意味がない。でもここを理解しているクラウドベンダは多くありません。
DevOpsは役職ではない
ここで話はもういちどDevOpsの定義に戻ります。
OpsCodeのChefを作ったAdam Jacob氏が、DevOpsは「Cultural and Professional Movement」だと、DevOpsはムーブメントなんだよと。いかにアジリティを高めるか、それを実現するためにカルチャーとビヘイビア(振る舞い)を変えていきましょうと。
DevOpsは役職ではない、DevとOpsが融合してDevOpsという役職ができるわけではない。それぞれプロとしての専門性と責任が必要。それぞれの立場で協調するということ。
そして運用がなくなることはなくて、プロの運用はこれからも絶対に必要です。そしてDevOpsムーブメントはDevとOpsだけではなく、商品を構成するものすべてに、同じようにWay of Thinkingが必要。
DevOpsの3つのフェーズ
「Large Installation System Administratin Conference」(LISA)という、ばりばりのシスアドミンが集まるイベントの去年のテーマがDevOpsでした。
で、そこでJoyentのBen Rockwood氏が行った「The DevOps Transformation」という講演。DevOpsには3つのフェーズがあると。
フェーズ1は「Dev>Ops」。
このフェーズでは、開発の方法論やメンタリティを運用に当てはめる。いまのDevOpsムーブメントで語られている話題のほとんどはこれ。
シスアドミンらをもういちど運用オペレータと定義して、アジャイルを運用に適応し、 Infrastructure as codeを採用し、分散型オーケストレーションを可能とするモニタリングを重視しよう、という段階。
フェーズ2は「Dev<Ops」。
今度は、運用の方法論やメンタリティを開発に当てはめる。現在のDevOpsムーブメントの10%未満がここ。
運用では必ずメトリクスをとって状態を可視化しますが、アプリケーションでそういったことはあまり行われていません。それを行いましょうと。加えて、ビジネスのメトリクスにも同様にソフトウェアに取り込み、ダッシュボードに並べましょう。
そしてContinuous Devlopmentを採用しましょうと。
フェーズ3が「Dev<>Ops」。ここでは開発と運用が責任と実践を統一して共有する。これが最終的な理想像であると。
責任を共有して、お互いに「お前のせいだ」と言わない。完全なコラボレーションで垣根がなくなって、障害のときやポストモーテム(障害後の分析)のときには全員が集まって行う。
で、最近知ったのですが、IBMやTivoliなど汎用機をやっている人たちは「せっかく30年、40年かけて開発と運用を分けてきたのに、どうしていっしょくたにするのか?」と言っているそうです。
これはたぶん、WebサービスはF1レースのようなもので、高速で走りつつピットに入りつつ走り続けるようなものだからではないでしょうか。
DevOpsは、結局サービスマネジメントの再議論をしているんだなと思います。それから書籍「ウェブオペレーション」はこの分野の非常にいい書籍なので、ぜひ読まれることをお勧めします。
関連記事
このイベントの案内ページで、参加者にDevOpsの解説記事として案内されていたのはPublickeyの次の記事でした。あわせてどうぞ。
講演中で言及された書籍
本書は、ウェブオペレーションに携わるエキスパートたちの経験と知識を18本のエッセイにまとめたもの。 Ganglia・Chef・Maatkitといったツールの開発者などが、インフラとアプリケーションのメトリクス・機能低下の人的要因・アジャイルインフラストラクチャ・NoSQL・継続的デプロイ・ウェブオペレーションのキャリア構築などについて、具体的な事例を挙げて紹介しています。