CHEF Business Meetup に行ってきた #getchef #getchef_ja
5/20 クリエーションライン社で行われた「CHEF Business Meetup ~CHEF社Dicretor来日イベント~」に行ってきました。
内容は前半が ChefConf 2015(3/31-4/2開催)のレポート、後半が Chef Evangelist の Seth Thomas によるセッションでした。
以下、聴講のメモです。
ChefConf 2015 レポート
クリエーションライン社顧問 鈴木さん
15分ぐらい遅刻して、前半部分を聞き損ねました。
こちらの資料は後ほど CL Lab に公開されるとのことでした。
- Disney の事例
- IT投資してる
- OSS 組合せて独自にシステム構築
- 独自 Cookbook 多数
- 独自 Supermarket
- 300 台の Hadoop
- 30 個の Cookbook
- 20 PB の Hadoop ストレージ
- BI
- Chef, Docker, Mesos, ...
- アーキテクチャ
- Hypervisor 型 VM
- その上に Docker コンテナ
- サービスディスカバリに Consul 使ってる
- Mesos でリソース管理
- Packer でコンテナのビルド・テストして Docker Registry に push
- 得られたもの
- 全BIアプリケーションのレポジトリを統合できた
- コンテナ運用を Mesos 上で実現できた
- IT投資してる
- Keynote by Adam Jacob - Chef CTO / Co-Founder
- スピリチュアルな話
- DevOps はカンフーに似ている(?)
- Keynote by ... - Chef VP
- アジャイル開発の問題
- 開発だけアジャイルになっても運用で受け入れられない
- Amazon のデプロイ統計
- 11.6秒間隔
- 最大 1079 回/hour
- ...
- Google の事例
- 1万人以上の開発者、2000以上のプロジェクトが1つのコードトランクに対して統合して開発
- 毎分20位上のコード変更が行われている
- 全コードの半分以上が毎月必ず変更を受ける
- 1日に1億個以上のテストケースが実行される
- AWS の事例
- 開発ルール
- すべてのデータと機能の仕様はサービスインタフェース経由で提供
- 開発チームはこれらのインタフェースでコミュニケートする
- 他の手法を用いたプロセス間通信は禁止
- 使用する技術は問わない: HTTP, Corba, Pub/Sub
- すべてのサービスインタフェースは外部に公開できる品質にする
- 「コードを作った人は運用の責任を持つ」
- 開発ルール
- アジャイル開発の問題
CHEF DELIVERY
Seth Thomas
@cheeseplus
- CHEF DELIVERY
- https://www.chef.io/delivery/
- 継続的デリバリを行うサービス
- Shared Pipeline
- 認証システムの統合
- フェーズ
- Union => Rehearsal => Delivered
- Unified Pipeline Shape
- Chef 社が Chef Delivery を社内で使ってる
- コーポレートシステムとか
- DEMO: コーポレートウェブサイトをどう更新してるか
- Web UI
- Build フェーズ
- Unit Test, Lint, Syntax
- 承認
- Union フェーズ
- 特定の arch/マシンにレシピを実行してみる(?)
- Rehearsal ... リハーサル環境
- どんな変更でもこれらのテストスイートを全部通す
- Pipeline
- ビルドの単位?
- chef-solo => chef-zero migration
- chef-zero に書き替えるだけ、と。
- Test Kitchen について
- DEMO
- Test Framework を選べる
- Minitest, Serverspec, ...
- Cookbook 開発支援ツール
- foodcritic
- RUBOCOP
- GUARD
- file system の変更をフックに動く仕組み
- 保存する度に foodcritic / RUBOCOP 走らせるとか
- chef 以外でも使える
- Q/A
- chef-solo => chef-zero 移行
- なぜ移行する必要があるのか?
- サーバ機能を使いたい
- chef-solo だとノードの検索とかできない
- なぜ移行する必要があるのか?
- chef-solo => chef-zero 移行
懇親会にて
いま chef-solo を使ってる人たちって別にサーバ機能欲してないのに、chef-zero に移行しないといけないのはちょっとなーと思って、その辺りを Seth Thomas さんに聞いてみました。
曰く、
「移行を強制するわけじゃないけど、オススメしたい」と。
よく知らなかったのですけど、chef-zero(chef-client --local-mode)で立ち上げられたインメモリの chef-server はコマンド実行後に破棄されるそうです。
なんとなく心配していたのは、単にサーバ構築したいだけなのに chef-server に依存せざるを得ない状況になるのではないか、ということでしたが、上の話であればそんなことにはならなさそうだなと思いました。
余談
Seth Thomas の Twitter 上の名前が「大丈夫コンピューター」になってたのが気になって、つい「どういう由来なの?」って聞いてしまいました。
すると、下のような回答が返ってきました。
@key_amb it is a play on OK Computer (a radiohead album)
— scarlet spider (@cheeseplus) 2015年5月20日