CodeZine(コードジン)

特集ページ一覧

「本物のDevOpsを体験できるハッカソン」参加レポート(前編)~DevOpsの概要と実践方法の紹介

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/09/15 14:00

 9月5日から6日にかけて、「本物のDevOpsを体験できる」と銘打った日本マイクロソフトのDevOpsハッカソンが開催されました。米国本社のエバンジェリストを招聘し、サポーターに牛尾剛氏、寺田佳央氏といったタレントを揃えて実施されたイベントはどのような試みだったのか? 前後編の2回に分けて、その模様をお伝えします。前編となる本稿では、初日の座学部分を紹介します。

はじめに

 "DevOps"(「Development:開発」と「Operation:運用」の合成語であり、開発担当者と運用担当者が連携して協力する手法)という言葉は皆さんも最近よく聞くフレーズかと思いますが、言葉だけが先行してしまい「バズワード」化する一方で、「ではその"DevOps"の定義とは何ぞや?」と聞かれると回答に窮してしまい、割とあいまいな回答しか返せない……。そんな方々も実は多いのではないでしょうか。

 そのようなDevOpsについて「本物のDevOpsを体験できる」と銘打って行われたイベントが2015年9月5日と6日の2日間に渡り、マイクロソフト株式会社 品川グランドセントラルタワーで開催されました。

品川駅港南口 マイクロソフト株式会社の入り口
品川駅港南口 マイクロソフト株式会社の入り口

 イベントは座学とハッカソンの2部で構成され、DevOpsに関する説明、プロセスに関するデモを踏まえた上で、参加者どうしでチームを組んでハッカソンを実施。最後にチームごとの発表を行うという流れで行われました。

 DevOpsのスキルを身に付けるためには、座学のみでは習得までの時間も掛かり、ビジネスやプロセスを飛ばしてツールだけを実践しても、やはりバランスを欠いてしまいます。"ハッカソン"の形式でイベントを実践することで、上から下まであらゆるプロセスを経験でき、非常に濃密な体験を提供できるという考えもあって、この開催形態にしたようです。

 参加募集はイベント開催の3週間ほど前でしたが、内容の濃密さと講師陣の豪華さも相まって、約30名の定員が短時間で埋まってしまう形に。このことからも、本イベントの注目度の高さが伺えます。

 当稿では初日の座学に関する部分を、そして次回分では初日および2日目に渡って行われたハッカソンおよびハッカソンの発表内容までの部分をそれぞれレポートしていきたいと思います。

イベント開始

 記念すべき1回目の開催となる今回のハッカソンは、講師に米国マイクロソフト コーポレーションのシニアテクニカルエバンジェリストであり、DevOpsテクニカルワーキンググループのリードも務めるDavid Tesar氏を特別に招く形で行われました。イベントの司会進行を務めたマイクロソフト コーポレーション/シニア テクニカル エバンジェリスト DevOpsの牛尾 剛氏はDavidの"外見"について言及しながら、「Davidは見てのとおり、めっちゃ"イケメン"です。Microsoftでは"クラウディア"さんが有名ですが、今後はそれだけでなく"DevOpsプリンス"みたいなキャラを作って行ったりなんかもしたいなと思っています。(David氏の)デモやファシリテートぶりについても個人的に楽しみにしてたりします。皆さんもぜひ、Hackを楽しんで、オートメート(自動化)を楽しんでいってください!」と参加者に呼び掛ける形でイベントが始まりました。

Microsoft Corporation, Senior Technical Evangelist, Global lead for DX DevOps Technical Working Group / David Tesar氏
Microsoft Corporation, Senior Technical Evangelist,
Global lead for DX DevOps Technical Working Group / David Tesar氏

 また、今回は講師だけでなく、ファシリテーター・サポーターも超豪華。前述の牛尾氏に加え、日本マイクロソフト株式会社/シニア テクノロジー・エバンジェリストの寺田 佳央氏、増渕 大輔氏、Microsoft France, Global lead for DX DevOps Working GroupのDamien Caro氏、Microsoft Japan Technical Evangelism, Developer Experience & Evangelism Directorの Drew Robbins氏といった面々がイベントを円滑に進めるために脇を固める形となりました。

右から牛尾氏、寺田氏、増渕氏、Damien氏、Robbins氏
右から牛尾氏、寺田氏、増渕氏、Damien氏、Robbins氏

DevOpsとは何か

 座学部分となるセッションは「マイクロソフトDevOpsハッカソン」というタイトルで、DevOpsとは何か、DevOpsを実践していく上で何が必要なのかといったポイントを踏まえた形で進められました。

 まずは概要的な部分、「DevOpsとは何か」という問い掛けからDavidの解説が始まります。DavidはDev(開発側)とOps(運用側)の関係性を示す図を掲げながら「開発側はアプリを作り、運用側に渡す。その際、運用がアプリを展開できるように引き継ぐが、トラブルは起こってしまいます。デプロイメントの部分で苦戦するケースはとても多く、よくある話です。アプリケーションに変化を加えたい開発側と、アプリケーションの安定性を求める運用側でこの部分の連携がうまく取れていない、いわゆる『縦割り組織』の場合、"Wall Of Confusion"(混乱の壁)によって問題が発生してしまいます」と組織における連携の難しさについて、例を挙げて説明しました。

 ビジネスを取り巻く環境が厳しさを増し、さらには移り変わりの早さや競争が激化してきている昨今では、いかに状況を判断しつつ、サービスや次のアクションを市場に対して投げ掛けていくか、という部分が鍵となります。そういった状況で連携ミスによる遅延が発生したり、バグ発生による時間や人的リソースのコスト増加などが積み重なってきたりするようでは、あまりにも"非効率"であり、ビジネスにおける致命的なダメージを負いかねません。DevOpsでは、これらの問題を解消し、さまざまな効率やパフォーマンスを向上させられるというメリットが見込めるのです。DevOpsを実践することで、以下のようなメリットが得られるとされています(この辺りの詳細な情報については、puppetlabs社のレポートで解説されていますので興味のある方はぜひ読んでみてください)。

 DevOpsには3段階の「対話」があるとされています。1つ目は「人々の対話」。ユーザーやお客さまと対話を重ねることで、満足度を向上させる精度を高めていきます。2つ目は「プロセスの対話」。一緒に仕事をしていく上で、ライフサイクルを通して無駄なプロセスを、またイノベーションの阻害要因となるものを排除し、改善を進めていきます。3つ目は「製品の対話」。DevOpsは特定のツールに依存するものではなく、(今回のイベントはMicrosoft社の開催ですが)必ずしもMicrosoft社の製品を使わなければならないという訳ではないのです。最近ではさまざまなプロダクトツールが存在し、よりうまくプロセスを改善、促進できるようなものも出てきています。選択は自由です。

 Microsoft社では、DevOpsを考える際に大きく3段階の「枠組み」を用いています。「100レベル:概要」はここまで解説してきたようなレベルのお話です。「200レベル:実践」については"Infrastructure as Code"や"継続的インテグレーション"などといったプロセスに関するもの。そして「300レベル:実践的な製品」へと続きます。300レベルについては、先述のとおり特定の製品向けという訳ではなく、Microsoft以外の製品でも利用・実践が可能です。DevOpsの手法としてはInfrastructure as Codeや継続的インテグレーションの他にも、「自動テスト」や「継続的デプロイ」などの手法が列挙されており、また、それらを実現するためのサービスを組み合わせた、いわゆる「エコシステム」も併せて提示されています。

DevOpsにおける手法の一覧。このように、実践すべき内容は実に多岐にわたっている
DevOpsにおける手法の一覧。このように、実践すべき内容は実に多岐にわたっている
DevOpsのためのエコシステム:Microsoft社製品での構成の場合
DevOpsのためのエコシステム:Microsoft社製品での構成の場合
DevOpsのためのエコシステム:異種製品混在での構成の場合
DevOpsのためのエコシステム:異種製品混在での構成の場合

デモを交えたDevOpsの実践方法の解説

 概要説明の後はデモ実演を交えた実践形式の紹介です。DevOpsでは大きく分けて4つの実践内容をサイクルとして回していくことで進めていきます。その4つの実践内容とは「1.計画」「2.開発+テスト」「3.リリース」「4.監視+学習」です。

 「1.計画」サイクルでは、アイデアを生み出し、それをどのように具現化するかを計画します。ここではVisual Studio Onlineの「かんばん」を使ったデモをDavid氏が実践しました。

 「2.開発+テスト」サイクルでは牛尾氏にデモ実演をバトンタッチ。牛尾氏と参加者によるペアプロ実践を(牛尾氏の)ユーモアあふれる英会話を交えて行いました。

 「3.リリース」「4.監視+学習」では再びDavid氏がデモを実演。Visual Studio Online上での継続的インテグレーションやリリース管理、Azure Resource Manager(参考:「Azure リソース マネージャーの概要」)によるInfrastructure as Code、デモアプリの自動回復に関するデモを実践して見せました。

 以上がDevOps ハッカソンの座学に関する部分、DevOpsの概要解説のレポートでした。この後はDevOpsハッカソンに関する説明を経てチーム編成、そしてチームでのハッカソン作業および翌日2日目の成果発表へと続きます。次回をお楽しみに!

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5