DevOpsムーブメントとChefへの注目高まる

掲載者:CUPA総合アドバイザー 新野 淳一

昨年からクラウドでの開発、運用を改善するムーブメントとして注目されているのがDevOpsです。そして、それを実現するツールのひとつであるChef、Puppetに関する情報も増えてきました。Chefを中心にPublickeyの記事から動向をまとめました。

DevOpsとはムーブメントである

DevOpsという用語と考え方が登場したのは、開発と運用をそれぞれ担う開発部門と運用部門は反目しあっていることが多いことが背景にあります。開発部門のミッションは機能の改善と追加、性能の向上などで、日々コードを追加変更し、必要ならばデータベースの構造やサーバ構成の変更も要求することになります。一方の運用部門のミッションは安定運用なので、そのためには、コードもデータベースの構造もサーバ構成も可能な限り変更しないことが望ましいと考えます。かくして、開発部門は「どんどん機能追加や性能向上をしたいのに、運用は迅速に対応してくれない。時間がかかりすぎる」と不満を持ち、運用部門は「そんなにころころと変更されたら安定運用に責任が持てない」と不満を持つことになるのです。そうした両者の利害を乗り越えて、共通の目的であるビジネスを推進していこう、というのがDevOpsのコンセプトです。DevOpsとは具体的な技術や方法論の名前ではないし、エンジニアの役職名でもありません。開発と運用が協力し合うことを包括的に示す用語であり、そのためのカルチャー作り、そのためのムーブメントを「DevOps」と呼ぶのです。DevOpsの現場では、継続的統合とデプロイ自動化によってこれらを実装しているケースが多いようで、Jenkinsのような継続的統合ツール、ChefやPuppetといった運用自動化ツールが活躍しているようです。

データセンター自動化ツール「Chef」、国内の商用提供開始。クリエーションライン

DevOpsムーブメントの中で注目されているツールが、データセンター自動化ツール、あるいは運用自動化ツールといった名前で呼ばれる「Chef」や「Puppet」です(ちなみにこれらが「DevOpsツール」と呼ばれることもあるようですが、技術的に見ればDevOpsは運用の自動化にとどまらず、CI(継続的統合)も大事な側面であるため、PublickeyではDevOpsツールという呼び方は、いまのところしていません)いずれもオープンソースで開発され、大量のサーバの構成や運用を自動化するツールです。Chefは大規模なWebサービスなどの現場で最近注目され始めており、国内ではサイバーエージェントの「アメーバピグ」など大規模システムの現場の構成自動化などですでに使われています。国内でクラウド関連の設計や構築などを行っているクリエーションラインは2012年10月2日、Chef開発元のOpscodeと提携し、Chefの国内での商用ライセンス販売、保守サポート、コンサルティングやトレーニングなどを開始すると発表しました。

IBM、DevOpsを実現する統合ツール「SmarterCloud Continuous Delivery」発表

同じく2012年10月30日、IBMはChefやJenkins、jUnitなどをサポートする「SmarterCloud Continuous Delivery」を発表。その名前通りに継続的デリバリを行うための統合ツールとなっており、継続的デリバリを通してDevOpsを可能にするとしています。製品にはRationalの製品を中心にビルドからデプロイ、テスト、モニタリングまでさまざまなツールが含まれていますが、その中にJenkins、Chef、jUnitも含まれています。

DevOpsツールのPuppet LabsとVMwareが戦略的提携、VMwareが300万ドルの追加投資

オープンソースのシステム自動管理運用ツール「Puppet」は、「Chef」と並んでDevOpsを実現するためのツールとしてよく知られています。2013年1月24日、そのPuppetを開発するPuppet Labsに対して、VMwareが300万ドル(1ドル90円換算で2億7000万円)の追加投資と両社の戦略的提携を発表しました。Puppet Labsは2011年にVMware、Cisco、Googleベンチャーからの投資を受けており、今回はそれに続くものです。

Facebook、データセンター自動化ツールにChefの新バージョンを全面採用

Chefの開発元であるOpscodeは2月4日、FacebookがChefの商用版である同社の「Private Chef」を全面採用したと発表しました。

Facebookの大規模なインフラには3つの大きな課題があり、それはサーバ台数だけでなくあまりにも多様なサーバのコンフィグレーションと、そのコンフィグレーションを保守し続けることなどです。Chefは、スケーラビリティや柔軟性の面でこうした課題を解決するものだったと、FacebookのProduction EngineerであるPhil Dibowitz氏は発表の中で次のように発言しています。

Chef was the only automation solution flexible enough to bend to our scale dynamics without requiring us to change our workflow.

Chefは私たちのワークフローを変えることなく、大規模なスケールに十分対応するフレキシビリティを持った唯一の製品でした。

Facebookが採用したのは、Opscodeが同日発表したChefの最新バージョンとなるChef 11の商用版。FacebookはChef 11のフィールドテストにも参加していました。

Amazonクラウド、デプロイの自動化ツール「AWS OpsWorks」公開。Chefのレシピ利用

クラウドのような大規模な基盤に対してアプリケーションを展開するには、自動化ツールが欠かせません。ChefやPuppetのような新しい運用自動化ツールが注目されているのはそのためです。2013年2月20日、Amazonクラウドは、Chefを利用した運用自動化ツールの「AWS OpsWorks」を公開しました。Amazonクラウドのユーザーであれば追加料金はかからず、無料で利用可能です。AWS OpsWorksを用いることで、大規模なクラウドアプリケーションを展開するのに必要なOSやミドルウェア、データベースサーバなどを多数のサーバにインストールし、ロードバランサーを設定し、アプリケーションをインストールするといった作業が自動化できます。大規模なアプリケーション展開でも、迅速に作業できるようになるでしょう。