狠狠撸

狠狠撸Share a Scribd company logo
2014年のChefと
Infrastructure as code
JTF2014 (June 22 2014)
@sawanoboly (HiganWoks LLC)
運営組織
2
? 業務執行社員をつとめる合同会社
? アプリケーションのためのプラットフォーム構築/運
用自動化をテーマにした活動を担当
? http://opsrock.in 共同開発?運営
? Chefをはじめ、Infrastracture as Code
関連を主に取り扱うソリューションを提供
? 導入支援?トレーニングも
本日のお話
? Chefをひと通り解説
? Chef本ベース+補足など
!
? 近頃のChef関連 Update
? Chef-Zero, ChefDK, Chef-Metal..
? local_mode, local_template
3
颁丑别蹿の本
5
ちなみに買った人ー?
6
7
Chef
书籍:颁丑别蹿活用ガイドより
Chefとは
? 米Chef社(Chef Software, Inc.)が開発保守
する構成管理のフレームワーク
? 旧社名Opscode
? Infrastructure as codeの一部で利用
9
Infrastructure as code
? 背景に、APIコールでサーバインスタンスが
調達できる環境
? インフラを抽象化し、設計、実装といったプ
ロセスをコードで管理しよう
? テストなど、アプリ開発の優れた手法を取り
入れ
? バージョン管理を行い、Githubなどでコー
ドを中心にしたコミュニケーション
10
Chef社が提唱する10の原則のうち
構成管理ツールに求められる要素抜粋
? 拡張に対応しやすい
? 変更や増強、改良が容易。
? 再現できる
? 環境の再生や複製は重要。
? 冪等性を持つ
? 必要な時にだけ実行
? 収束性がある
? 宣言し、その通りの状態へ。
11
Chefの基本機能
? ノード(サーバ)情報の収集
? 収集した情報の集約
? コンフィグレーション
? Cookbook/Recipeにリソースを定義し、
収集したノード情報を元に状態を収束する
? ほか、いわゆるプロビジョニング
12
情报収集&集约
情報収集イメージ
(Server/Client構成)
14
书籍:颁丑别蹿活用ガイドより
情報収集ライブラリ
OHAI 书籍:颁丑别蹿活用ガイドより
Ohaiの役割
? (非常に)泥臭くプラットフォームを判別し、
Chef実行時にハード?OS情報を提供。
? 拡張は容易、さらに単体でも使えます。
16
书籍:颁丑别蹿活用ガイドより
Ohai単独の例
17
Chef-Server
书籍:颁丑别蹿活用ガイドより
Chef-Serverの概要
? ノード情報の集約
? ポリシー配布のハブ
? 作業端末とノードの中間に位置
? 基本的にメタデータの保持
? 種類は2つ
? Open Source Chef
? Enterprise Chef
19
最近は導入の敷居も低い
? OpenSource版のインストールはパッケージ
で簡単。
? 管理コマンド`chef-server-ctl`
20
Chef-Clientの一味
(Chef-Client, Chef-Solo, Chef-
apply, Chef-Shell)
书籍:颁丑别蹿活用ガイドより
Chef-Clientの役割
? Chef-Server(または任意のデータストア)への
Node情報アップロード
? Nodeの収束
? 実行状況と結果のレポート
!
? 意外と多機能なエージェントとして作られてい
ます
? サーバに色々入れるの嫌か、インスタンスのイ
ンターフェースとして受け入れるかは自由
22
Chef-Clientの種類
? Chef-Client: 前項の全て
? Chef-Shell: 対話式
? Cookbook開発やデバックに
? Knifeによる一括更新
? Chef-Apply: 簡易実行
? Chef-Solo: 主にプロビジョナ用途
? handler等の活用で、Chef-Server環境に劣
らない連携も可能
23
プロビジョナとしての
Chefと連携するツール
仮想環境ユーティリティ
25
Test-KitchenはChef公式ツール
プロビジョナの相互適用例
? VagrantまたはTest-KitchenでCookbookの
開発とテストを実施
? プロビジョナ部分をpackerで実行し、AMI
やVagrant boxにして配布
26
*aaS
? ※こちらはコンフィグレーションも含む
27
Workstation
(& Git(hub))
书籍:颁丑别蹿活用ガイドより
书籍:颁丑别蹿活用ガイドより
Infrastructure as code
導入のキモWorkstatonとリポジトリ
30
引用:Infrastructure as Code - naoyaのはてなダイアリー
<http://d.hatena.ne.jp/naoya/20131215/1387090668>
Seach
Data Bags
Environment
Role
Cookbook & LWRP
书籍:颁丑别蹿活用ガイドより
书籍:颁丑别蹿活用ガイドより
书籍:颁丑别蹿活用ガイドより
細かすぎるので省略。
でも一点だけ
役割ベースの設計
? Chefを活用する場合、システムが提供する
サービスを役割で分け、レイヤを積み重ねる
ように設計するのが良いです。
!
? 『ベテランシステム管理者であれば、既にサー
バーをロールベースでスクリプト化している
はず』?
- [翻訳] Dockerについてよくある勘違い(http://
techracho.bpsinc.jp/hachi8833/2014_06_16/17982) より
33
Enterprise Chefの
追加要素
Reporting
? Chef-Clientの実行状況を記録。
35
Push jobs
36
? サーバからPushでジョブ実行、成否の管
理。
ただしChef-Clientの
ソースは共通
多少工夫すれば
OpenSource版でも同様の実装はOK
38
2014年のChef
(※2013モノも含む)
2014年のChef傾向
? Chef-Server構成
? 検証しやすさを向上
? Chef-Client系
? 単体でもServer相当機能
? 極シンプルな実行をサポート
? WorkStation系
? セットアップ負担の軽減をめざす
? ? Infrastructure as code推進系
? リソース定義の概念を広げる
40
Chef-Zero
Server構成を検証しやすくする
(揮発性)軽量Chef-Server
Chef-Zeroの特徴
? Chef-Server APIのCRUDを全てサポート
? ただし認証は全部通る
? オンメモリでデータの永続性は無い
? 消しやすさ = テスト向き
42
Chef-Zeroの活用
? Test-KitchenでChef-Server対応Cookbook
の動作確認に
? Vagrantのchef-clientプロビジョナと組み合
わせてクラスタ向けCookbookの動作確認
? vagrant-pluginもあるがやや環境依存
? 専用VMを当てるかローカルで上げ下げす
るのが無難
43
Chef Development Kit
(Chef-DK)
WorkStation環境の簡単セットアップ
Omnibusの系譜
Chef-DKとは
? ChefのCookbook開発とServer管理ツール
一式をパッケージ形式にしたもの。
? 新規: chefコマンド
? Mac OS X, Linux対応、Windowsは
Coming Soon…
? (現状)公式おすすめのワークフローを実践す
るツールとの連携設定済み
? Test-Kitchen, Barkshelf, Foodcritic等
45
で、DK使ったほうがいいの?
? 古参からするとあまり必要でないかも
? Rubyプロジェクト管理手法がわかってい
ればとくに
? Chef系以外にもインテグレーションしたい
ツールは沢山ある
? チームで環境を えたい等にはよいのかも
? あと、DKパッケージは妙にデカイ
46
Chef-Client Local Mode
Chef-RepoをServerレスで
Local Mode
? chef-client -z / knife -z
? knife solo っぽい形態
? ローカルファイルシステムにあるChef-Repo
を元にChef-Clientを実行
? nodes/以下に自分及び他nodeの情報を設置
して、Searchが可能
? knifeでServer環境と同一の操作体系
48
Chef-Metal
LWRPで片鱗、
よりInfrastructure as codeへ
リソース解釈を拡大
50
http://qiita.com/inokappa/items/78c31bdf0b415ed2d954
http://qiita.com/TsuyoshiUshio@github/items/180a54994df57a1d08d3
51
Chefで扱うリソースの拡大
? 従来の一般的なChefリソース
? 単一Node上の要素(?le, service,
package等)
!
? Chef-Metalで扱うリソース
? IaaS上のコンピュータリソース
? 台数などの要素を状態管理
52
補足:状態を持つリソースについて
? recipe = 単一ノードへの変更という概念はわか
りやすさ優先のミスリード
? 構造化されたデータを取得し、定義通りになるア
クションを(主にRubyで)実行できるならば、なん
でも管理対象
? LWRPでは以前から実践されている
? コミュニティCookbook等では、LWRPとして
『リソース=クラスタ』という状態管理するも
のも存在
? MongoDB, RabbitMQ, ElasticSerach等
53
Chef-Metalの対応
? 基本はコンピュータリソースの調達?
(ノードの増減とレシピの適用)
? vagrant
? fog (マルチクラウド対応ライブラリ)
? ec2, digitaloceanなどPublic IaaS
? *Stackな Private IaaS
? 国内ベンダ 『Sakura no Cloud』
54
fog補足
? fogの対象はコンピュート系リソース以外にも
及ぶ
? ストレージ
? Network
? NameServiceなどなど
!
? 複数クラウドを対象に可搬性のある
CloudFormation (にするつもりかもしれない)
55
Local Template
ちょっとChef、をとても便利に
地味ながら使える機能拡張
予備知識:Chef-Apply
? Recipeを次の形式で実行
? 標準入力
? 単一ファイル
? 簡単な設定変更やバッチ処理に
? Cookbookのお決まり事が不要
57
58
local trueでの挙動は単純
? local => false
? erbテンプレートのサーチ対象
? レシピと同じCookbook
? 任意Cookbook内のtemplates/
!
? local => true
? 絶対パス
? Chef-Applyがtemplateを気軽に扱えるように
59
2014年のChef傾向まとめ
? Chef-Server構成
? 検証しやすさを向上 (Chef-Zero, Local Mode)
? Chef-Client系
? 単体でもServer相当機能 (Local Mode)
? 極シンプルな実行をサポート (Local Template)
? WorkStation系
? セットアップ負担の軽減をめざす (Chef-DK)
? ? Infrastructure as code推進系
? リソース定義の概念を広げる (Chef-Metal)
60
终

More Related Content

What's hot (20)

PDF
さくらのクラウドフォーメーション with Chef [XEgg session]
Yukihiko SAWANOBORI
?
PDF
OpenShift のある生活
Yoshimasa Tanabe
?
PPTX
シェフから板前になった话
oshiro_seiya
?
PPTX
PowerShellでFunction Appしよう!
Tsubasa Yoshino
?
PPTX
ゼロから始めるオープンソース生活
kazuki kumagai
?
PPTX
アプリ開発&チーム管理で 役立った拡張機能
Masaki Suzuki
?
PDF
社内颁丑别蹿勉强会
Masaaki Uchida
?
PPTX
开発チーム管理で役立った痴厂颁辞诲别拡张机能
Masaki Suzuki
?
PDF
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
PDF
エンシ?ニア目線て?の対外フ?ランテ?ィンク? ~ヌーラホ?編~
ikikko
?
PDF
狈耻濒补产と补飞蝉と私
ikikko
?
PDF
Micronaut on Azure 試してみた
拓将 平林
?
PDF
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
?
PDF
チームて?Chef serverを運用するには
知教 本間
?
PDF
闯颈谤补と颁辞苍蹿濒耻别苍肠别の罢颈辫蝉集
Hiroshi Ohnuki
?
PPTX
Cognitive serviceのすゝめ
Tsubasa Yoshino
?
PPTX
React meetup 3_eight
Hideharu Okuma
?
PPTX
AWS EC2の自動リブート
Eiji Kamiya
?
PDF
叠补肠办濒辞驳/颁补肠辞辞から学ふ?、サーヒ?スに必要な机能の取捨选択と改善の仕方
ikikko
?
PDF
顿别惫翱辫蝉が引き金となるインフラエンジニアの进撃
Teruo Adachi
?
さくらのクラウドフォーメーション with Chef [XEgg session]
Yukihiko SAWANOBORI
?
OpenShift のある生活
Yoshimasa Tanabe
?
シェフから板前になった话
oshiro_seiya
?
PowerShellでFunction Appしよう!
Tsubasa Yoshino
?
ゼロから始めるオープンソース生活
kazuki kumagai
?
アプリ開発&チーム管理で 役立った拡張機能
Masaki Suzuki
?
社内颁丑别蹿勉强会
Masaaki Uchida
?
开発チーム管理で役立った痴厂颁辞诲别拡张机能
Masaki Suzuki
?
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
エンシ?ニア目線て?の対外フ?ランテ?ィンク? ~ヌーラホ?編~
ikikko
?
狈耻濒补产と补飞蝉と私
ikikko
?
Micronaut on Azure 試してみた
拓将 平林
?
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
?
チームて?Chef serverを運用するには
知教 本間
?
闯颈谤补と颁辞苍蹿濒耻别苍肠别の罢颈辫蝉集
Hiroshi Ohnuki
?
Cognitive serviceのすゝめ
Tsubasa Yoshino
?
React meetup 3_eight
Hideharu Okuma
?
AWS EC2の自動リブート
Eiji Kamiya
?
叠补肠办濒辞驳/颁补肠辞辞から学ふ?、サーヒ?スに必要な机能の取捨选択と改善の仕方
ikikko
?
顿别惫翱辫蝉が引き金となるインフラエンジニアの进撃
Teruo Adachi
?

Similar to 2014年のChefとInfrastructure as code (20)

PDF
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
?
PDF
顿别惫翱辫蝉を実现する颁丑别蹿活用テクニック
Yusuke Ando
?
PDF
Infrastructure as Code
裕貴 荒井
?
PDF
小規模SI案件で、 AWS + Chefを使ってみて
Terui Masashi
?
PDF
Chef(Server)と AWS OpsWorks(tm)の比較
Yukihiko SAWANOBORI
?
PDF
第2回 JAWS?UG 神戸 開発運用の現場でのChef活用
Takuro Sasaki
?
PDF
Infrastructure as codeのススメ
kanji htmt
?
PDF
社内勉強会 - chef
Nemoto Yusuke
?
PDF
Chef
yaasita
?
PDF
Chef_Casual_Talks_Kansai_Vol1_Infrastructure_as_Code
Yukihiko SAWANOBORI
?
PPTX
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
Takeshi Komiya
?
PPTX
ト?リコムのInfrastructure as code
Yosuke Hiraishi
?
PDF
Chef, Consul を使ったクラウドオーケストレーション
Yoshimi Tominaga
?
PDF
「クラウド本気で始めました」な厂滨别谤の颁丑别蹿活用と実践~颁丑别蹿アンチパターンとの戦い~
Terui Masashi
?
PPTX
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
?
PDF
Chefのエンターフ?ライス?事例 ossミト?ルウェアスタックishigakiテンフ?レートにおける事例-
賢 秋穂
?
PDF
Alternative chef
Ryuji Tsutsui
?
PDF
3分でわかる(気になれる) AWS OpsWorks
Yuuki Namikawa
?
PDF
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Terui Masashi
?
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
?
顿别惫翱辫蝉を実现する颁丑别蹿活用テクニック
Yusuke Ando
?
Infrastructure as Code
裕貴 荒井
?
小規模SI案件で、 AWS + Chefを使ってみて
Terui Masashi
?
Chef(Server)と AWS OpsWorks(tm)の比較
Yukihiko SAWANOBORI
?
第2回 JAWS?UG 神戸 開発運用の現場でのChef活用
Takuro Sasaki
?
Infrastructure as codeのススメ
kanji htmt
?
社内勉強会 - chef
Nemoto Yusuke
?
Chef
yaasita
?
Chef_Casual_Talks_Kansai_Vol1_Infrastructure_as_Code
Yukihiko SAWANOBORI
?
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
Takeshi Komiya
?
ト?リコムのInfrastructure as code
Yosuke Hiraishi
?
Chef, Consul を使ったクラウドオーケストレーション
Yoshimi Tominaga
?
「クラウド本気で始めました」な厂滨别谤の颁丑别蹿活用と実践~颁丑别蹿アンチパターンとの戦い~
Terui Masashi
?
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
?
Chefのエンターフ?ライス?事例 ossミト?ルウェアスタックishigakiテンフ?レートにおける事例-
賢 秋穂
?
Alternative chef
Ryuji Tsutsui
?
3分でわかる(気になれる) AWS OpsWorks
Yuuki Namikawa
?
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Terui Masashi
?
Ad

More from Yukihiko SAWANOBORI (20)

PPTX
mocloud カスタムDockerイメージ ハンズオン
Yukihiko SAWANOBORI
?
PDF
マニアックツール绍介、マネジメントの碍苍颈蹿别-窜别谤辞(颁丑别蹿)とテストスイート滨苍厂辫别肠
Yukihiko SAWANOBORI
?
PDF
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
Yukihiko SAWANOBORI
?
PDF
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
Yukihiko SAWANOBORI
?
PDF
さくらのインフラコード
Yukihiko SAWANOBORI
?
PDF
JAWSUG初心者向けトラック 【Deploy&Ops】
Yukihiko SAWANOBORI
?
PDF
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
Yukihiko SAWANOBORI
?
PDF
コンテナ事例 CircleCI, Cucumber-Chef
Yukihiko SAWANOBORI
?
PDF
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
?
PDF
Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)
Yukihiko SAWANOBORI
?
PDF
はかどる颁丑别蹿の小ネタ集
Yukihiko SAWANOBORI
?
PDF
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
?
PDF
aws_opsworks
Yukihiko SAWANOBORI
?
PDF
Chef meetup vol2_higanwoks
Yukihiko SAWANOBORI
?
PDF
What is chef
Yukihiko SAWANOBORI
?
PPTX
颁别苍迟翱厂でつくる神笔濒别蝉办
Yukihiko SAWANOBORI
?
PPTX
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
?
KEY
Lxc on cloud
Yukihiko SAWANOBORI
?
KEY
The Chef integrations Z Cloud(Joyent)
Yukihiko SAWANOBORI
?
PPT
Physical to Iaas(Instance), case of VIP.
Yukihiko SAWANOBORI
?
mocloud カスタムDockerイメージ ハンズオン
Yukihiko SAWANOBORI
?
マニアックツール绍介、マネジメントの碍苍颈蹿别-窜别谤辞(颁丑别蹿)とテストスイート滨苍厂辫别肠
Yukihiko SAWANOBORI
?
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
Yukihiko SAWANOBORI
?
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
Yukihiko SAWANOBORI
?
さくらのインフラコード
Yukihiko SAWANOBORI
?
JAWSUG初心者向けトラック 【Deploy&Ops】
Yukihiko SAWANOBORI
?
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
Yukihiko SAWANOBORI
?
コンテナ事例 CircleCI, Cucumber-Chef
Yukihiko SAWANOBORI
?
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
?
Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)
Yukihiko SAWANOBORI
?
はかどる颁丑别蹿の小ネタ集
Yukihiko SAWANOBORI
?
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
?
aws_opsworks
Yukihiko SAWANOBORI
?
Chef meetup vol2_higanwoks
Yukihiko SAWANOBORI
?
What is chef
Yukihiko SAWANOBORI
?
颁别苍迟翱厂でつくる神笔濒别蝉办
Yukihiko SAWANOBORI
?
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
?
Lxc on cloud
Yukihiko SAWANOBORI
?
The Chef integrations Z Cloud(Joyent)
Yukihiko SAWANOBORI
?
Physical to Iaas(Instance), case of VIP.
Yukihiko SAWANOBORI
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
色について.pptx .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?

2014年のChefとInfrastructure as code