Submit Search
Upload
DevOpsを実現する為のChef活用テクニック
•
4 likes
•
1,130 views
Yu Kitazume
Follow
DevOpsとChefについての概要
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 47
Download now
Download to read offline
Recommended
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
Yuki Okada
Dev opschef
Dev opschef
Yusuke Ando
iOSのCI as a Service事情
iOSのCI as a Service事情
Hiroshi Maekawa
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
Yuki Okada
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
Masafumi Yokoyama
Recommended
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
Yuki Okada
Dev opschef
Dev opschef
Yusuke Ando
iOSのCI as a Service事情
iOSのCI as a Service事情
Hiroshi Maekawa
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
Yuki Okada
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
Masafumi Yokoyama
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
なれる!IL
なれる!IL
Hiroshi Maekawa
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
グループ制作注意
グループ制作注意
MakotoItoh
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Shunsuke Maeda
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
満徳 関
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Yukihiko SAWANOBORI
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
Yukihiko SAWANOBORI
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Motivationware
Motivationware
Koichi ITO
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
Hiroshi Maekawa
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
知教 本間
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
The Berkshelf Way
The Berkshelf Way
Jamie Winsor
A Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef Supermarket
Nell Shamrell-Harrington
More Related Content
What's hot
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
なれる!IL
なれる!IL
Hiroshi Maekawa
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
グループ制作注意
グループ制作注意
MakotoItoh
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Shunsuke Maeda
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
満徳 関
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Yukihiko SAWANOBORI
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
Shuji Yamada
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
Yukihiko SAWANOBORI
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Motivationware
Motivationware
Koichi ITO
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
Hiroshi Maekawa
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
知教 本間
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
What's hot
(20)
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
なれる!IL
なれる!IL
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
グループ制作注意
グループ制作注意
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
Infrastructure as Codeと 組織のドキュメンテーション + Immutable Infrastructure事例
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
2014年のChefとInfrastructure as code
2014年のChefとInfrastructure as code
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
DroidKaigi_devicefarm
DroidKaigi_devicefarm
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Motivationware
Motivationware
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Viewers also liked
The Berkshelf Way
The Berkshelf Way
Jamie Winsor
A Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef Supermarket
Nell Shamrell-Harrington
Chef環境の闇
Chef環境の闇
Akihiro Kuwano
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
広島Ruby勉強会#35 - Chef入門
広島Ruby勉強会#35 - Chef入門
Tomokazu Ogawa
Standar Biaya Masukan (SBU) tahun 2016
Standar Biaya Masukan (SBU) tahun 2016
Muh Saleh
Viewers also liked
(6)
The Berkshelf Way
The Berkshelf Way
A Supermarket of Your Own: Running a Private Chef Supermarket
A Supermarket of Your Own: Running a Private Chef Supermarket
Chef環境の闇
Chef環境の闇
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
広島Ruby勉強会#35 - Chef入門
広島Ruby勉強会#35 - Chef入門
Standar Biaya Masukan (SBU) tahun 2016
Standar Biaya Masukan (SBU) tahun 2016
Similar to DevOpsを実現する為のChef活用テクニック
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
Yusuke Ando
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
Yuki Okada
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
Tomoki Hasegawa
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
Tetsuji Koyama
20141112 Tech Valley #3 note - スタートアップでこだわったこと - takamaru
20141112 Tech Valley #3 note - スタートアップでこだわったこと - takamaru
Shoei Takamaru
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
Maehana Tsuyoshi
大晦日のメッセージ配信の裏側
大晦日のメッセージ配信の裏側
Satoshi Noto
Dockerとdev ops
Dockerとdev ops
Hiroshi Maekawa
安心Chef開発
安心Chef開発
智彦 阪口
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
Koji Shiraishi
Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]
Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]
Yukihiko SAWANOBORI
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
Takuro Sasaki
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
Shuhei Eda
Similar to DevOpsを実現する為のChef活用テクニック
(20)
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
20141112 Tech Valley #3 note - スタートアップでこだわったこと - takamaru
20141112 Tech Valley #3 note - スタートアップでこだわったこと - takamaru
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
大晦日のメッセージ配信の裏側
大晦日のメッセージ配信の裏側
Dockerとdev ops
Dockerとdev ops
安心Chef開発
安心Chef開発
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]
Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
DevOpsを実現する為のChef活用テクニック
1.
Yu Kitazume 株式会社 Engine
Yard 2014/06/13! DevOpsを実現する為の Chef活用テクニック
2.
2! • Twitter: ukitazume • GitHub: ukitazume • Rubyist • ポータルサイト、ソーシャルゲーム •
でサポートエンジニア 自己紹介
3.
3! について! Dublin! Tokyo!San Francisco! Portland! HQ! Office! Personnel! 戦略的投資/パートナー! • Amazon! •
Oracle ! • Verizon! • Microsoft! PaaSリーダー! • 2006年設立! • 従業員120人以上! • 世界で展開! • 数千のお客様!
4.
4!
5.
5! • 技術評論社 • 豪華執筆陣 • 増刷決定! • 基礎から応用まで • 一冊でひとまず安心 Chef実践入門 好評発売中
6.
6! Engine Yardを選択されたお客様!
7.
Agenda! 1. DevOpsとChef 2. Chefの基本 3. Chefをさらに活用するポイント
8.
DevOpsとChef
9.
9! 「DevOps」知っていますか?
10.
10! • 2009年 Velocity2009での講演 • 開発者(Dev)と運用者(Ops)が協力 • 変化に素早く柔軟対応する DevOps
11.
11!
12.
12! http://ey.io/devopscorp
13.
13!
14.
14! 組織の文化 – お互いを尊重 – お互いを信頼 –
失敗に対する健全な態度 – 相手を非難しない ツール – 自動化されたインフラ – バージョン管理システムの共有 – ワンステップによるビルドとデプロイ – フィーチャーフラグ – メトリクスの共有 – IRCとインスタントメッセンジャーのbot 10+ Deploy Per Day: Dev and Ops Cooperation
15.
15! • コードでインフラの構築を自動化 • サーバーの台数などに左右されない • 手順書の手動実行より正確・高速 Infrastructure as Code
16.
16! これまでとこれから
17.
17! メディアでも話題に
18.
18! 開発者(Dev)と運用者(Ops)が協力し 変化に素早く柔軟対応する その鍵の一つ
19.
Chefの基本
20.
20! • 構成管理ツール • Ruby • 状態を記述 • 冪等性 • 高い人気 Chef
21.
21! 採用事例
22.
22! 基本的な構成 クックブックを書く アップロード クライアント起動&反映 変更の問い合わせ Chef Server Local Chef
Client Chef Client Chef Client
23.
23! サーバー無し構成(Chef Solo) クックブックを書く 各サーバーへクックブック を配置 Chef-Solo起動、反映 Local Chef Client Chef
Client Chef Client
24.
24! 1. 対象ホストへのChefのインストール 2. クックブック(レシピ)を書く 3.
クックブック(レシピ)を送る 4. Chefクライアント or Chef Soloの実行 基本的な流れ
25.
25! • gem install chef
は古い手法 • 現在のChefは必要なRubyなどを同梱 • /opt/chef 配下にインストールされる • ChefにさらにGemを追加する際は注意 インストール
26.
26! クックブック package "apache2" do! action
:install! end! ! service "apache2" do! action :start! end apache2のインストール apache2のサービス化
27.
27! • 単純なパッケージ導入以上の処理が可能 • ohaiを使ったノード情報の取得 • 設定ファイルの動的な生成 • 繰り返し実行可能 → 冪等性・収束 apt-get / シェルスクリプトとの違い
28.
28! 状態の記述 冪等性 収束 Server /var/lib/foo/ 状態の記述 収束
29.
29! • Chef Clientのcronからの実行 • デーモン化も一応可能 • why run
(dry run)も可能 • knife-solo • なるべく頻繁に実行するのが望ましい Chef / Chef Soloの実行
30.
Chefをさらに活用するポイント
31.
31! • Chefのバージョン • Chefの内部動作 • クックブックの書き方、品質 • コミュニティクックブック Chefを使っている際の悩み
32.
32! Chef0.8, Chef10, Chef11
の違い
33.
33! • クックブックが実行される順序 • ファイルなどの変更タイミング • 上から順番に実行されない • リソースコレクションと収束 Chefの内部動作
34.
34! Chefの内部動作
35.
35! Resource Collection Resource CollectionとResource間の依存 Server /var/lib/foo/ Resource 収束 •
directory “/var/lib/foo”! • package “apache2”! • ….! • ….! • ….! Notification! Subscribe
36.
36! Notificationの例
37.
37! Subscribeの例
38.
38! Subscribeの例
39.
39! 詳しくはブログにて
40.
40! • Infrastructure as Code • テストのないコードはレガシーコード • クックブックが常に健全である事を担保 • 単体テストを行う • 単体テストを継続的に実行する
(CI) クックブックのCIは欠かせない
41.
41! • Berkshelf / librarian-chef クックブックの収集 • foodcritic クックブックの規約チェック • Test-kitchen クックブックの単体テスト • Severspec サーバーの状態の単体テスト クックブックのテストに使うツール
42.
42! テストスイートの構成 CI環境 Jenkins /
Travis CI / Circle CI クックブック クックブック Test Kitchen 仮想マシン Vagrant VirtualBox LXC VMWare Amazon EC2 FoodCritic Serverspec Berkshelf / librarian-chef Chef Solo Chef Client Chef Zero
43.
43! Qiitaに詳しく乗っています
44.
44! • 人類の叡智を結集 • 多様なプラットフォームに対応 • 利用者が少ない • 作成者も少ない コミュニティクックブック
45.
45!
46.
46!
47.
cloud application management
platform
Download now