DevOpsとはどんなもので、何が議論されているのか(前編)

2012年2月27日

開発と運用の対立を越え、ビジネスのために協力し合う。「DevOps」ムーブメントをテーマにしたイベントが2月24日に都内で行われました

IT業界がパッケージソフトウェアからオンラインサービスへと転換しつつある中で、優れたサービスを迅速に実現する重要なキーワードとしてDevOpsは注目されはじめています。

この記事では、日本でDevOpsの普及に努めている森川裕和氏(@nxhack)の講演をダイジェストで紹介しましょう。

眠れない管理者の悩みは世界共通

fig

会場で、自分が運用の人は?(3割くらい)。では開発の人は?(8割くらい)。ではビジネスマンの人は?(2~3人)でも、これは全員のはずですよね。

これが今日のプレゼンの原点になります。

私はWebの運用やネットワークのBGPの運用までやっていたことがある、いわゆる「眠れないシステム管理者」でした。で、システムがスケールしないよね、とか、やっぱりすごく悩んでいました。

それが2009年頃にDevOpsムーブメントがあるのを知って、これが自分の悩みとすごく一致していて、「ああ、そうなんだ」と。世界中で同じ悩みを持つ仲間がいるんだと。これから「DevOps!」と叫ばなければいかんな、と思ったわけです。

fig

今日のプレゼンは、DevOpsムーブメントとはどんなもので、何が議論されているのか、といったことをオーバービューしたいと思います。

リーンスタートアップ、ベロシティ、アジャイル

2011年にマウンテンビューで行われた「DevOps Days Mountain View 2011」でJohn Willisさんが行った「DevOps State of the Union」(DevOpsのわれわれの現状)では、こんな説明をしています。

DevOpsには3つのスレッド、「リーンスタートアップ」「ベロシティ」「アジャイル」があると。

fig

リーンスタートアップの流れは、Steve Blank氏の書籍「アントレプレナーの教科書」や、Eric Ries氏の「The Lean Startup」にあって、スタートアップのビジネスの立ち上げ方、やり方がすごくロジカルに書いてあります。

2008年には「Velocity」というイベントが始まりました。これはグーグルやFacebookのようにすごく大規模なWebサービスが、スケールしないとかスピードがでないといった課題を抱えていて、ではそういう大規模Webサービスをやっていて困った課題をみんなでシェアしましょう、というイベントでした。

2009年のVelocityで、FlickrのJohn Allspaw氏とPau Hammond氏のプレゼン「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr」が衝撃的でした。

fig

DevとOpsは仲良くしなければいけないという、これはインパクトがありました。

アジャイル開発は、2001年にアジャイル開発宣言が行われていて、わりと議論が進んでいます。アジャイルでは、Continuous Integration、Continuous Deliveryなどの継続的ホゲホゲがすでにありますが、継続的Developmentと継続的Integrationまではデベロッパー(Dev)だけでよかったんだけど、継続的Deployment、継続的Deliveryの議論になるとオペレータ(Ops)が絡み始める。

fig

で、Patrick Deboisという人が、Velocityでの講演に衝撃を受けてヨーロッパで初めて「DevOps」という名前を付けたイベントを2009年に行いました。彼がDevOpsの名付け親と言われています。

fig

日本でも昨年2011年に「DevOpsカンファレンス」が行われました。

アジリティが時間的差異を生み出す

リーンスタートアップ、ベロシティ、アジャイルの3つに共通しているのはアジリティです。

価値は差異から生まれますが、アジリティというのは時間的差異を生み出す手段で、いまは経済的にも不安定な時代だからこそ、この差異を生み出すアジリティが重視されると。

Webアプリケーション、webサービスはソフトウェアのみでは成り立ちません。インフラと一体化サービスです。アプリがインフラで、インフラがアプリなんですね。

そこで問題になるのがオペレーション。オライリーが「オペレーションはニューシークレットソース(新しい秘密の隠し味)」と言っています。

fig

ここで開発とインフラの役割はどうなっているのか。

デベロッパーは機能や性能の改良と発展を担当しています。オペレータはサービスとスタビリティを担当しています。

デベロッパーが「新しい機能をリリースするよ」というときに、オペレータが「だめだめ、まず仕様を出さんかい」と。オペレータは安定性を求めるので、何かを変えるときに障害が起きやすい。

fig

そして夜中に障害が発生してオペレータが対応し、デベロッパーに情報を求めているときに、デベロッパーが寝ていたりします。

fig

で、いつの間にか両者に壁ができて、上長を経由して仕事が流れるとか、チケット制になったりする。デベロッパーからオペレータを見ると「スピード感なさ過ぎ」。オペレータからデベロッパーを見ると「サービスが分かってない」となる。

これは大企業や中堅企業だけではなく、スタートアップ企業でも同じ。

でも、開発が守りに入ったら成長しない、サービスが安定しなければビジネスが成り立たない。開発と運用は、どちらもビジネスという同じゴールを目指しているはずですよね。

fig

アジリティを持って同じゴールを目指す必要があるわけです。

次の記事「DevOpsとはどんなもので、何が議論されているのか(後編)」に続きます。

関連記事

このイベントの案内ページで、参加者にDevOpsの解説記事として案内されていたのはPublickeyの次の記事でした。あわせてどうぞ。

講演で言及された書籍

アントレプレナーの教科書 アントレプレナーの教科書
シリコンバレーで8社のハイテクベンチャーに従事し、いくつものベンチャーを自身で成功に導いたシリアルアントレプレナーによるベンチャー立ち上げ方法論の集大成。スタートアップがキャズムに到達するための実践的手法、新規事業立ち上げのHow toをステップバイステップで詳細に解説。
The Lean Startup The Lean Startup
The Lean Startup offers entrepreneurs - in companies of all sizes - a way to test their vision continuously, to adapt and adjust before it’s too late. Ries provides a scientific approach to creating and managing successful startups in a age when companies need to innovate more than ever.

あわせて読みたい

DevOps アジャイル開発 システム開発




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本