ITpro Special
週間WEEKLY ITpro Special ITpro

開発と運用のコラボ! DevOpsを学ぶには

開発部門と運用部門が協調して、「計画」→「開発+テスト」→「リリース」→「監視+学習」→「計画……」というサイクルを回していくDevOps――。その基本をレクチャーとトレーニングで学ぶ「DevOpsハッカソン」が、2015年9月5日と6日に日本マイクロソフト本社で開催された。参加者は、開発者と運用者を合わせて約30名。マイクロソフト・コーポレーションからはDevOps担当テクニカルエバンジェリストのデビッド・テザー氏がファシリテーターとして来日した。

ソフトウェアの開発と運用をスピード化し
ライフサイクルを早めるDevOps

 土曜日の朝とあって、品川グランドセントラルタワーの31階はひっそりとしている。ここは、日本マイクロソフトのセミナールームがあるフロアだ。午前8時45分を過ぎた頃から、このセミナールームにエンジニアらしき人々が続々と集まり始めた。午前9時に日本マイクロソフトが主催する国内初の「DevOpsハッカソン」がスタートするのである。

 DevOps(デブオプス)とは「ソフトウェアの開発と運用をスピード化し、ソフトウェアデリバリのライフサイクルを早める考え方」である。ハッカソン(ハッカー+マラソン)のほうは、ソフトウェア開発の団体戦で、数人のITエンジニアがチームを組み、与えられたテーマに沿った斬新なソフトウェアを数時間~数日という短い期間で作り上げるというイベントだ。

 会場のセミナールームには6人掛けのテーブルが6つ設置され、1~6の番号が振られている。職種を示す「青」(ソフトウェア開発者)または「緑」(運用者)のネームタグを首から下げた参加者は思い思いの席に座り、自分のノートPCやタブレット、スマホをテーブル上に広げていく。参加者は各自持参したノートPCで開発を進めていくことになる。参加者が持参したノートPCは、半分以上がMacBook。MacBookとWindows PC上でオープンな開発が進行するのだ。

 DevOpsハッカソンは、マイクロソフト・コーポレーション 牛尾 剛氏の絶妙なスタッフ紹介で始まった。ファシリテーターはデビッド・テザー氏、参加者を支援するサポーターは、マイクロソフト・フランスのダミアン・カロ氏、日本マイクロソフトの寺田佳央氏、増渕大輔氏、ドリュー・ロビンス氏、そして牛尾氏という陣容である。

DevOpsハッカソンに集結したITエンジニア

職種を示す「青」(ソフトウェア開発者)または「緑」(運用者)のネームタグ

マイクロソフト・コーポレーション
DevOps担当テクニカルエバンジェリスト
デビッド・テザー

マイクロソフト・フランス
Global lead for DX DevOps Working Group
ダミアン・カロ

マイクロソフト・コーポレーション
シニアテクニカルエバンジェリトDevOps
ITpro
牛尾 剛

日本マイクロソフト株式会社
デベロッパー・エバンジェリズム統括本部
テクニカル エバンジェリズム本部
シニア・テクノロジー・エバンジェリト
寺田佳央

日本マイクロソフト株式会社
デベロッパー・エバンジェリズム統括本部
テクニカル エバンジェリズム本部
エバンジェリト
増渕大輔

日本マイクロソフト株式会社
デベロッパー・エバンジェリズム統括本部
テクニカルエバンジェリズム本部
部長
ドリュー・ロビンス

DevOpsとは利用者を満足させる開発・運用・現場の共通ビジョン

 初日(9月5日)の午前中は、テザー氏によるレクチャーだ。まず、「DevOpsとは何か」。テザー氏は「開発と運用がコラボしていない従来の進め方では、運用者に引き継いだ後にトラブルが起きることもあります」と語ったうえで、マイクロソフトが推進しているDevOpsとは「開発・運用・ビジネス現場の三者の共通ビジョンによって、ソフトウェアやサービスの利用者を満足させることです」と強調した。

 ポイントは、ソフトウェアの全ライフサイクルにまたがるプロセスをいかに“効率化・最適化”するかである。一般には、運用フェーズで発生する問題の診断と対処には平均200分かかり、修正コストは開発フェーズの100倍以上になるといわれる。そうした非効率な世界を変えていくには、ソフトウェアの全ライフサイクルで無駄なステップやイノベーションを阻害する作業を排除し、開発・運用・ビジネス現場の間のコラボレーションを進めなければならないのだ。

 このような基本コンセプトのもと、DevOpsには「Infrastructure as Code」(IaC)や「継続的インテグレーション」(CI)などのプラクティス(実践項目)が設けられている。簡単にいえば、IaCとは「インフラの定義や設定をコードとして管理すること」、CIとは「ビルドとテストを短期に繰り返して品質向上・納期短縮・効率化/省力化を図ること」だ。

 例としてテザー氏が挙げたのが、Infrastructure as Code(IaC)を実現するためのAzure Resource Managerや、継続的インテグレーション・デリバリを実現するためのVisual Studio Online(VSO)だ。これらは、Microsoftのテクノロジーだけではなく、オープンソース系で著名なツールやサービスとも連携できるところが面白い。

DevOpsハッカソンの内容を解説するマイクロソフト・コーポレーションのデビッド・テザー氏と牛尾 剛氏