Talk Information

Infrastructure as Codeを語る時に欠けていたもの

This talk is currently in 'Pending' state

Currently this talk is in PENDING state. If you would like to see this talk at the event, please consider using the social media buttons below to express your interest!

このエントリーをはてなブックマークに追加

Abstract

Infrastructure as Codeしてますか?

2013年頃に日本で Infrastructure as Code という言葉が注目され始めて、約2年が経過しました。
沢山のツールが登場し、様々な試行錯誤の末、それなりに世の中に定着してきた感じもします。

しかし、未だに苦労している人も多く存在するとともに、諦めてしまった人、初めから諦めている人もいると思います。
成功しているように見える人の中でも、疑問を感じるていることもあるでしょう。

何故でしょうか?

沢山の人が注目し、情報を発信してくれているため、情報は沢山あります。
それでも、完成されていないのは、何か欠けているものがあるのではないでしょうか?

Infrastructure as Code についての多くの情報は、大筋で以下の3つに分類されます(筆者の主観による)
1. 概念的な話(商業イベントで多い)
 ・Infrastructure as Code #とは
 ・テスト駆動だ!コラボレーションだ!!アジャイルだ!!1
2. ノウハウ(Webで多い)
 ・○○の使い方
 ・○○のやり方
3. 事例(勉強会やカンファレンスで多い)
 ・こんな感じでやってます
 ・こんな風に進めました

何が足りないのか?

どの情報も玉石混交ではありますが、素晴らしいものが多く、十分なのではないかと思えてきます。
では、何が足りないのか?

Infrastructure as Code はその名の通り「インフラのコード化」です。
それはつまり、 インフラがソフトウェアになる ということです。
それはおそらく、多くの人が当たり前にわかっていることと思います。

にもかかわらず、

設計と実装

というソフトウェア開発では必ず語られる話が欠けているのではないでしょうか?

Infrastructure as Code を実践するということは、そのシステムを構成しているコンポーネントを洗い出し、分類し、依存関係を整理して、コードという形で定義していくということです。
それらをちゃんとやることで、自動化や効率化という表面上のメリットに留まらない恩恵を受けることができます。
http://marcy.hatenablog.com/entry/2015/05/29/231142

しかし、そのためにはある程度の 設計実装 のノウハウが必要になります。

本セッションでは、私が受託開発から今のインフラ専門の会社に至るまで、それなりに長く利用している Chef を用いて、Cookbook数にすると公私併せて100以上になるであろう数を書き上げる中で培った 設計と実装 のノウハウにフォーカスを当ててお話してみたいと考えています。

ソフトウェア開発との共通点が多く出てくるため、ソフトウェアエンジニア(Dev)の方がChefを理解するためにも良いかもしれません。

発表内容(予定)

・Provisioning Frameworkの選び方(Chef vs Ansible, Itamae etc...)
・目的にあったツールの選び方(knife-zero, knife-solo, chef-server etc...)
・基本設計(フロー設計、Environment,Role,Node使い分け等)
・Chefにおけるオブジェクト指向設計
 ・抽象化
 ・拡張性
 ・共通化
 ・再利用性
・Cookbookの実装
 ・オブジェクト指向な書き方
 ・可読性
 ・メンテナンス性
 ・宣言的記述とは
・サードパティライブラリ(Community CookbookやPlugin)について
 ・使うべきか、使わないべきか
 ・選び方
 ・使い方
・テストとCIについて
 ・Testing Frameworkの選定(Serverspec, Chefspec etc..)
 ・テストの粒度
 ・目的にあったCI方式の決め方
・番外編(時間が許せば)
 ・受託開発でInfrastructure as Codeを実践するために必要なこと
 ・退職時の引き継ぎにChefが役に立った話
 ・DevOpsしたいDevな人に言いたいこと、Opsな人に言いたいこと
 ・足りないものは自分でつくろう(Plugin開発)

Talk Details

Venue TBD
Starts On TBD
Talk Category Infrastructure / Operations
Language Japanese
Interpretation (En→Ja) NO
Slide Subtitles Japanese
Talk Duration 60 minutes
Material (Difficulty) Level Regular
May we take your photo? allow
May we record your talk? allow