サイバーエージェントに聞いた、DevOps実践の要件DevOpsの本当の意義と効用とは?

近年、開発と運用が連携してリリースサイクルを速める「DevOps」という概念が関心を集めている。だが人によって解釈が異なるなど、いまだ言葉先行の感も強い。DevOpsの本当の意義と実践のポイントを探った。

» 2013年06月25日 18時00分 公開
[内野宏信,@IT]

定義でも理想像でもない“DevOps”の真の姿とは?

 「DevOps」という言葉が注目を集めている。一言でいえば「Dev(開発担当者)とOps(運用担当者)が連携してアプリケーションのリリースサイクルを速める」といった概念だ。この言葉が企業の関心を集める背景には市場競争の激化があるといわれている。

 というのも、移り変わる市場に追従するためには、速いペースでサービスをリリースし、ニーズをくみ取りながらスピーディに改善を重ねる、アジャイル開発のアプローチが不可欠となる。そしてEコマースをはじめ、多くのサービスをITシステムが支えている今、まさしくシステム開発・運用の在り方を見直してリリースサイクルを加速させることが、生き残りの鍵となるためだ。

 だが「開発と運用が連携する」といっても、両者の間には「スピードが求められる開発部門」「安定運用が求められる運用部門」という相反するミッションを持つがゆえの壁が常に横たわってきた。この壁をどう崩すのか――その方法論がDevOpsというわけだが、その解釈には立場や視点によってばらつきがある。一部では作業自動化の意味でこの言葉が使われている風潮もあるようだ。

 ではDevOpsの本当の意義と実践のポイントとは何なのか?――2011年からDevOpsを実践しているサイバーエージェント アメーバ事業本部 デカグラフ部門 インフラセクション サービスインフラグループの桑野章弘氏に、イメージでも理想像でもないリアルなDevOpsを聞いた。

DevOpsは、共通のミッションに向けて開発と運用の垣根をなくすための文化

 「私にとってDevOps とは、開発と運用の間の垣根をなくすためにどうコラボレーションしていくか、どうコミュニケーションを取っていくかという方法論を模索していくための文化だと考えています」

 桑野氏はDevOpsという言葉の解釈についてこのように語る。同社ではオンプレミス、パブリッククラウド、プライベートクラウドの3つの環境を使用。開発、運用部門が連携して使い分け、市場の声をフィードバックしながら、サービスを迅速・柔軟に改善する体制を築いている。そうした中、リリースサイクルを加速させるための具体的な手段としては、「主にコミュニケーション、コラボレーション基盤の整備と自動化を実施している」という。

ALT サイバーエージェント アメーバ事業本部 デカグラフ部門 インフラセクション サービスインフラグループの桑野章弘氏

 「例えばChefのレシピを使ってサーバのプロビジョニングを自動化したり、CI(継続的インテグレーション)ツールのJenkinsを使ってビルドやソフトウェアテストを自動化したりしています。コミュニケーション、コラボレーションとしては、プロジェクト管理ツールとしてRedmineを使用し、Yammerと連携させて関係者に必要なデータを自動的にメールで送信する仕組みを作ったり、GitHubエンタープライズを使用してソースコードの管理・共有を行うなどしています」

 ただ桑野氏は、リリースサイクルを加速させるためには、単に自動化を取り入れるだけでは難しいことを指摘する。例えばRedmineからキックして何らかの作業を自動化する際には、併せてそのときのコードの状態を共有する仕組みも作る。開発側によく求められる作業をJenkins ジョブにする際には、運用側に一言連絡した上で開発側が自動で行える仕組みを作る、といった具合に、リリースサイクルを速める上で、自社の組織ではどうすれば最も効率的なのか、「仕組みを考え手順を一般化することで、開発と運用で共有すること」が最も重要なのだという。そして「“仕組み”を作る上で絶対に必要となるのが、開発部門と運用部門の連携」であることを説く。

ALT クリックでダウンロードページへ

 というのも、開発部門と運用部門が分断されたままでは両部門にまたがるテスト・リリースプロセスを真に効率化できる施策など立案できないためだ。問題はそれだけではない。例えば普段は運用側が管理しているデータベースのテーブル追加などをジョブ化するにしても、開発側がデータベースを触ってもいいのか、というコンプライアンスの問題をクリアする必要もある。つまり“リリースサイクルを加速させる仕組み”を考えることとは、コンプライアンスやガバナンスの問題も含めて、開発・リリースプロセスの在り方、組織運用の在り方そのものを考えることに他ならないというわけだ。

 「弊社は支持されるサービスを提供することによって収益を得ているわけですから、サービスに問題が起きた際に、開発、運用部門が『僕らはここまでやったんだから知らないよ』といったところで何の意味もないんですね。会社としてサービスをきちんと運営するというミッションのために、開発と運用がお互いの業務を見ていく必要があるわけです」――桑野氏がDevOpsを「文化」と解釈するゆえんはまさしくこうした点にある。

 では、このような考え方に基づいてDevOpsを実践し、リリースサイクルを加速させ経営に寄与するためにはどうすればよいのだろうか?――情シスの社内プレゼンス向上に役立つコンテンツを無償ダウンロード提供する「TechTargetジャパン プレミアム」。その第7弾となる『結局、DevOps とは何か? 〜その真の姿とサイバーエージェントに聞く実践の勘所〜』では、桑野氏のインタビューをはじめ、支援ツールを提供している日本IBM と日本HP へのインタビューも収録。この言葉が注目される背景から、その意義と効用、実践のポイントまで“ リアルなDevOps”の姿をまとめた。言葉ばかりが先行気味の今、あらためてこの言葉の意義と効用を見直してみてはいかがだろうか。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。