22
新新 2 新新新 Chef Guy 新新新新新新新新 新 新新

新卒2年目のchef guy

  • Upload
    -

  • View
    260

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 新卒2年目のchef guy

新卒 2 年目の Chef Guy株式会社クリック

夏目 祐樹

Page 2: 新卒2年目のchef guy

自己紹介 夏目 祐樹 ( ナツメ ユウタ ) Twitter: @sinofseven Facebook: yuta.natsume.5 つい最近新卒 2 年目になった新人 SE マイクロソフトのエバンジェリスト牛尾 剛さんから

Chef Guy の称号を頂いた

Page 3: 新卒2年目のchef guy

Chef Guy のきっかけ 2/27 にあった DevOps ハッカソンで Chef を書いていたら、牛尾さんから称号を頂いた。 そのとき開発していたのは、

Minecraft のサーバー (mod 入り ) をWeb ページから簡単に作るためのシステム。

ほかのメンバーのおかげで、優勝しました。

Page 4: 新卒2年目のchef guy

Demo

Page 5: 新卒2年目のchef guy

DevOps ハッカソン  概略

Page 6: 新卒2年目のchef guy

DevOps ハッカソン 福岡 (2/27)

チーム構成 :インフラ技術者と開発者の組み合わせ条件 : Infrastructure as Code と別の DevOps 手法 (1 つ以上 ) をアプリに実装テーマ : どこにもないクリエイティブなソリューションを生み出すこと !

Page 7: 新卒2年目のchef guy

ハッカソンの流れ 初日 午前中 :・ DevOps 等についての説明 ( 講演 ?)   DevOps, ARM, Docker, その他デモ・各自やってみたいことを張り出してチーム決め   Minecraft Server を作りたい   CI/CD 環境を作りたい   Project Oxford で何かしたい   etc… 午後 :チームに分かれて開発開始

Page 8: 新卒2年目のchef guy

ハッカソンの流れ 二日目 午前からずっと開発 時間が来たらチームごとにプレゼン。時間は 5 分 優勝チーム発表 !!

Page 9: 新卒2年目のchef guy

ハッカソンにおける評価ポイントクリエイティブなソリューションかどうかほかのユーザーが再利用できるものであるかどうかどのような DevOps 手法を実装したか

Page 10: 新卒2年目のchef guy

実際につくったもの

Page 11: 新卒2年目のchef guy

Minecraft Mall自分だけの Minecraft サーバーを簡単に手に入れることができるサービス

• Web サイトのボタンクリックでサーバーが作成できる• サーバーの状態がわかる• サーバーの削除がボタンクリックでできる

Page 12: 新卒2年目のchef guy

チームメンバー 自分 :  Chef を使用し Minecraft サーバーの構築を担当 yukiusagi さん (@yukiusagi2052):  ARM で Minecraft 用の仮想マシンを作成を担当 はももつさん (@airish9): 仮想マシンの作成 / 削除 / 状態取得のための API 作成を担当 松本 典子さん (@nori790822): デザイナーとしてフロントの Web ページを担当

Page 13: 新卒2年目のchef guy

サービスが生まれたきっかけ yukiusagi さんが Minecraft Server(Mod 入り )を作りたいとふせんを貼る。 なんだかんだで最後まで残る。 興味を持ったメンバーが集まる。 自分が Web ページからサーバー立てれたらいいよねと主張。

Page 14: 新卒2年目のchef guy
Page 15: 新卒2年目のchef guy

採用した DevOps プラクティス Infrastructure as Code (IaC) ・・・ ARM &

Chef 変更 / 構成管理 ・・・ Git 継続的インテグレーション 継続的デプロイ 自動スケーリング 運用環境でのテスト ・・・ ステージング

Page 16: 新卒2年目のchef guy

採用した DevOps プラクティス

Page 17: 新卒2年目のchef guy

ソリューションの未解決課題 ポータルを利用しないサーバー作成。( Web ページのボタンをクリックするだけで解決) Web ページのボタンでのサーバー削除。 最終的に、いろんな人がログインして使えるようにしたい。

Page 18: 新卒2年目のchef guy

Chef Guy として自分が作ったものMinecraft Server(Mod 入り ) を構築するための Cookbook

Chef を動かすための環境構築スクリプト

Page 19: 新卒2年目のchef guy

Minecraft Server を構築するための Cookbook 以下の流れでサーバーを構築

1. jre のインストール2. ポート開放3. Mod を動かすための Minecraft Server のダウンロード4. 設定ファイルを更新5. Mod 「 Dynmap 」を設置6. リモートコントロールの仕組みを組み込む7. サーバーを起動する8. Dynmap に地図の描画指示を出す

Page 20: 新卒2年目のchef guy

Chef を動かすための環境構築PowerShell のスクリプトで構築以下の流れで構築

1. Chef Client をダウンロード2. Cookbook の Zip ファイルをダウンロード3. Chef Client のインストール4. Cookbook の Zip ファイルを解凍5. chef-solo で Cookbook を実行

Page 21: 新卒2年目のchef guy

Chef を動かすための環境構築 Update による変更 GitHub に公開後、 yukiusagi さんが環境構築スクリプトを更新してくれた。具体的には、・スクリプトの実行中にログを出力する機能の追加・ cookbook および chef client のインストーラの ダウンロードをスクリプトから分離  ( ダウンロードは、 ARM の Json に記述。  具体的には、 WinRMCustomScriptExtension を使用 )

Page 22: 新卒2年目のchef guy

まとめ 新人 SE が DevOps ハッカソンで牛尾さんから

Chef Guy の称号を頂きました。 DevOps ハッカソンで作成したものは

Github で公開しており、現在も一部更新を行っています。https://github.com/minecraft-mall/MinecraftMall