実践結果発表
15:30をもってハッカソンは終了。ここからは各チームによる発表タイムとなりました。発表の順番は牛尾氏とDavidによる「乱数生成Webアプリ」による抽選形式でランダムに決められました。各チーム7分程の持ち時間でこれまでの成果を順次発表していきます。
発表時には各チーム卓へ参加者全員が集まり、スタッフ(審査員)の質疑応答も交えてチームの発表内容に興味深く聞き入ります(ちなみにこのタイミングでも発表者の英語プレゼンに対応する形で同時通訳が行われていました)。
各チーム非常に興味深い発表となっていましたが、その中でも特に目を引いたのが「チーム4」と「チーム6」の発表内容でした。実際審査員・スタッフの中でもこの2チームのどちらを優勝とするか、最後まで選考に悩んでいたようです。以下、2チームの発表内容に関する概要を記します。
チーム4:Visual Studio Onlineを使った継続的デリバリビルドの実践
- デプロイや機能テスト、負荷テストなどの実践を行うCIシステムの構築を目標とした。Infrastructure as Codeも実践
- アプリは(イベント提供の)サンプルアプリを用いた。JavaのサンプルアプリでGlassfishで稼働するもの。ソースがコミットされるとWARファイルが作成され、Dockerで梱包し、デプロイする流れを実現した
- ベンチマークも取り、結果をPowerBIで可視化するというフローも実現できた
- 反省点としてはAzureもVisual Studioも使い方が分からない状態で臨んだこと。この点についてはサンプルを使い込むことで理解を深め、スタッフに適宜アドバイスをもらうことで乗り越えることができた
- DevとOpsをどのように連携・協調して目標を達成させるか、という点については「カンバン」を使うことで対応した。残された時間の中で問題の切り分けを行い、デモを見せる所まで辿り着くことができた
チーム6:MesosやDockerを使った、Dockerイメージからのクラスタアプリデプロイメント環境の構築
- MesosとDockerを使い、CI環境を実現させるというのを目標とした
- MesosはクラスタリソースマネージャのOSSプロダクト。物理マシン(または仮想マシン)を1つのクラスタとして管理し、タスクを処理させたいときに、空いているマシンを探して、そこでリソースを割り当てて実行してくれるような仕組みを持つ(プロダクト公式サイト)
- Mesos環境の構築ではVisual Studio Onlineなどを使いDockerイメージを作成
- クライアントサーバの構築についてはChef Soloを用いた。Azure環境に乗せるのが大変だった
- 開発側の環境ではASP.NETを稼働させるというのを目標にした。ビルド周りでいくつか問題があり、最終的にはビルドせずにコミットを行い、ソースコードをDockerに乗せてビルドエージェントマシン上で環境を構築するという流れに落ち着いた。トリガーはソースコードをコミットするたびに走るようになっており、CIも実現できている
そして運命の優勝チームの発表。優勝を勝ち取ったのは……、「チーム6」でした!
Davidを含めた講師・スタッフの総評の後は参加者スタッフに記念撮影で締めとなりました。計2日間、座学とハッカソンの2部構成で展開された今回のDevOps体験イベント。イベントを通した参加者の表情を眺めた限りでは、慣れない環境に悪戦苦闘しながらも、周囲の助けを借りつつ、チームで物ことに取り組む姿に(若干の疲労感がありながらも)充実感に満ちていたように見えました。
今後のイベント開催予定
今回の「DevOpsハッカソン」は、今後も継続して開催が予定されているようです。興味のある方は下記サイトから参加申込を行い、予習や素振りを踏まえた上で当日イベントに臨まれてみてはいかがでしょうか。また、イベントハッシュタグや参加スタッフのTwitterアカウントをフォローしておくことで、イベントに関する情報を素早くキャッチアップできるかと思います。こちらもぜひ参考にしてみてください。
- 今後の開催予定に関する情報:
- 現時点での開催予定日程:
- DevOps関連ハッシュタグ:#DevOpsJp
- 講師:牛尾 剛氏(@sandayuu)
- 講師:寺田 佳央氏(@yoshioterada)