Upload
-
View
260
Download
0
Embed Size (px)
Citation preview
新卒 2 年目の Chef Guy株式会社クリック
夏目 祐樹
自己紹介 夏目 祐樹 ( ナツメ ユウタ ) Twitter: @sinofseven Facebook: yuta.natsume.5 つい最近新卒 2 年目になった新人 SE マイクロソフトのエバンジェリスト牛尾 剛さんから
Chef Guy の称号を頂いた
Chef Guy のきっかけ 2/27 にあった DevOps ハッカソンで Chef を書いていたら、牛尾さんから称号を頂いた。 そのとき開発していたのは、
Minecraft のサーバー (mod 入り ) をWeb ページから簡単に作るためのシステム。
ほかのメンバーのおかげで、優勝しました。
Demo
DevOps ハッカソン 概略
DevOps ハッカソン 福岡 (2/27)
チーム構成 :インフラ技術者と開発者の組み合わせ条件 : Infrastructure as Code と別の DevOps 手法 (1 つ以上 ) をアプリに実装テーマ : どこにもないクリエイティブなソリューションを生み出すこと !
ハッカソンの流れ 初日 午前中 :・ DevOps 等についての説明 ( 講演 ?) DevOps, ARM, Docker, その他デモ・各自やってみたいことを張り出してチーム決め Minecraft Server を作りたい CI/CD 環境を作りたい Project Oxford で何かしたい etc… 午後 :チームに分かれて開発開始
ハッカソンの流れ 二日目 午前からずっと開発 時間が来たらチームごとにプレゼン。時間は 5 分 優勝チーム発表 !!
ハッカソンにおける評価ポイントクリエイティブなソリューションかどうかほかのユーザーが再利用できるものであるかどうかどのような DevOps 手法を実装したか
実際につくったもの
Minecraft Mall自分だけの Minecraft サーバーを簡単に手に入れることができるサービス
• Web サイトのボタンクリックでサーバーが作成できる• サーバーの状態がわかる• サーバーの削除がボタンクリックでできる
チームメンバー 自分 : Chef を使用し Minecraft サーバーの構築を担当 yukiusagi さん (@yukiusagi2052): ARM で Minecraft 用の仮想マシンを作成を担当 はももつさん (@airish9): 仮想マシンの作成 / 削除 / 状態取得のための API 作成を担当 松本 典子さん (@nori790822): デザイナーとしてフロントの Web ページを担当
サービスが生まれたきっかけ yukiusagi さんが Minecraft Server(Mod 入り )を作りたいとふせんを貼る。 なんだかんだで最後まで残る。 興味を持ったメンバーが集まる。 自分が Web ページからサーバー立てれたらいいよねと主張。
採用した DevOps プラクティス Infrastructure as Code (IaC) ・・・ ARM &
Chef 変更 / 構成管理 ・・・ Git 継続的インテグレーション 継続的デプロイ 自動スケーリング 運用環境でのテスト ・・・ ステージング
採用した DevOps プラクティス
ソリューションの未解決課題 ポータルを利用しないサーバー作成。( Web ページのボタンをクリックするだけで解決) Web ページのボタンでのサーバー削除。 最終的に、いろんな人がログインして使えるようにしたい。
Chef Guy として自分が作ったものMinecraft Server(Mod 入り ) を構築するための Cookbook
Chef を動かすための環境構築スクリプト
Minecraft Server を構築するための Cookbook 以下の流れでサーバーを構築
1. jre のインストール2. ポート開放3. Mod を動かすための Minecraft Server のダウンロード4. 設定ファイルを更新5. Mod 「 Dynmap 」を設置6. リモートコントロールの仕組みを組み込む7. サーバーを起動する8. Dynmap に地図の描画指示を出す
Chef を動かすための環境構築PowerShell のスクリプトで構築以下の流れで構築
1. Chef Client をダウンロード2. Cookbook の Zip ファイルをダウンロード3. Chef Client のインストール4. Cookbook の Zip ファイルを解凍5. chef-solo で Cookbook を実行
Chef を動かすための環境構築 Update による変更 GitHub に公開後、 yukiusagi さんが環境構築スクリプトを更新してくれた。具体的には、・スクリプトの実行中にログを出力する機能の追加・ cookbook および chef client のインストーラの ダウンロードをスクリプトから分離 ( ダウンロードは、 ARM の Json に記述。 具体的には、 WinRMCustomScriptExtension を使用 )
まとめ 新人 SE が DevOps ハッカソンで牛尾さんから
Chef Guy の称号を頂きました。 DevOps ハッカソンで作成したものは
Github で公開しており、現在も一部更新を行っています。https://github.com/minecraft-mall/MinecraftMall