SlideShare a Scribd company logo
Yusuke Ando
株式会社 Engine Yard
2014/06/13!
DevOpsを実現する為の
Chef活用テクニック
2!
• Twitter: yando
• GitHub: yandod
• PHPer
• CandyCane
• 「懇親会 ピザ 計算」
• Oculus Rift / Unity
自己紹介
3!
• 技術評論社
• 豪華執筆陣
• 増刷決定!
• 基礎から応用まで
• 一冊でひとまず安心
Chef実践入門 好評発売中
4!
• 2006年創業
• AWS/Azure
• Terremark
• Chefを活用
• 自動構築
• 運用サービス
Engine Yard
5!
国内事例例
                                        idobata.io
永和システムマネジメント様のコメント:
アプリケーション環境のカスタマイズ性が優れ、われわれのニーズに⾮非常に
マッチするプラットフォームです。また、AWS東京データセンターを利利⽤用で
きる点や、Engine  Yardのサポート品質が⾮非常に⾼高く、安⼼心してidobata.ioを
稼働させることができています。
6!
国内事例例
                                                      toreta.in
増井  雄⼀一郎郎様  (TORETA  CTO)  のコメント:
TORETAは、24時間365⽇日稼働し続ける必要がありました。
ただ、保守運⽤用の観点で深夜の緊急対応を⽇日本のスタッフで⾏行行う
ことは困難でした。Engine  Yardのプレミアム  サポートによる
24時間365⽇日体制の運⽤用⽀支援を得ることで、安⼼心してTORETAを
稼働し続けられています。
7!
国内事例例
                                        a2mato.com
セブンバイツ様のコメント:
Engine  Yardを使うことでサーバー管理理の⼿手間を減らし、アプリケーション開
発に注⼒力力出来ています。Engine  Yardの製品だけでなく、サポートが素晴らし
く、最適なサーバー構成・アプリケーションの軽量量化の際に⼒力力を貸していただ
いています。このサポートは同様のサービスベンダーには無い、素晴らしいサ
ービスだと思います。
8!
国内事例例
    
                                      svgn.biz
スタジオ・アルカナ様のコメント:
サービスの趣旨から、セキュリティレベルの⾼高いシステム環境が必要でした。
その点で、HIPAAやSOC2の遵守にも対応可能なEngine  Yardは安⼼心して稼働
できる条件になりました。また、将来的にB  to  B向けのサービスを展開予定の
ため、システム環境を容易易に構築できる仕組みと、保守運⽤用を代⾏行行できるサー
ビスとして、Engine  Yardは我々のニーズに⾮非常にマッチしていました。
9!
導入パートナー募集中
詳細はブースにて
Agenda!
1. DevOpsとChef
2. Chefの基本
3. Chefをさらに活用するポイント
DevOpsとChef
12!
「DevOps」知っていますか?
13!
• 2009年6月 Velocity2009での講演
• 開発者と運用者の関係改善
• 変化に素早く対応する
DevOps
14!
15!
16!
組織の文化
• 尊重
• 信頼
• 失敗に対する健全な態度
• 相手を非難しない
ツール
• 自動化されたインフラ
• バージョン管理システム
の共有
• ワンステップによるビル
ドとデプロイ
• フィーチャーフラグ
• メトリクスの共有
• IRCとインスタントメッ
センジャーのbot
DevOps
17!
• インフラの構築をコードで自動化
• サーバーの台数などに左右されない
• 手順書の手動実行より正確・高速
• Chefは実現する手段の1つ
Infrastructure as Code
18!
メディアでも話題に
19!
これまでとこれから
20!
Chef(等)を使ってビジネスの速度の変化に
対応していきたいという機運
Chefの基本
22!
• 構成管理ツール
• v11.12
• Ruby製
• 冪等性が特長
• 高い人気
Chef
23!
• Engine Yard
• Facebook
• Prezi
• サイバーエージェント
• グリー
採用事例
24!
基本的な構成
クックブックを書く
Serverにアップロード
クライアント起動
クックブックを反映
25!
サーバー無し構成(Chef Solo)
クックブックを書く
各サーバーへクックブ
ックを配置
Chef-Solo起動、反映
26!
• 対象ノードへのChefのインストール
• クックブック(レシピ)を書く
• クックブック(レシピ)を送る
• Chefクライアント、Chef Soloの実行
基本的な流れ
27!
• gem install chef は古い手法
• 現在のChefは必要なRubyなどを同梱
• /opt/chef 配下にインストールされる
• ChefにさらにGemを追加する際は注意
インストール
28!
クックブック
package "apache2" do!
action :install!
end!
!
service "apache2" do!
action :start!
end	
apache2のインストール
apache2のサービス化
29!
• 単純なパッケージ導入以上の処理が可能
• ohaiを使ったノード情報の取得
• 設定ファイルの動的な生成
• 繰り返し実行可能 → 冪等性・収束
apt-get / シェルスクリプトとの違い
30!
• Chef Clientのcronからの実行
• デーモン化も一応可能
• why run (dry run)も可能
• knife-solo
• なるべく頻繁に実行するのが望ましい
Chef / Chef Soloの実行
Chefをさらに活用するポイント
32!
• Chefのバージョン
• Chefの内部動作
• クックブックの書き方、品質
• コミュニティクックブック
Chefを使っている際の悩み
33!
Chef0.8, Chef10, Chef11 の違い
34!
• クックブックが実行される順序
• ファイルなどの変更タイミング
• 上から順番に実行されない
• リソースコレクションと収束
Chefの内部動作
35!
Chefの内部動作
36!
詳しくはブログにて
37!
クックブックの書き方にはみんな困る
38!
• Infrastructure as Code
• テストのないコードはレガシーコード
• クックブックが常に健全である事を担保
• 単体テストを行う
• 単体テストを継続的に実行する (CI)
クックブックのCIは欠かせない
39!
• Berkshelf / librarian-chef
クックブックの収集
• foodcritic
クックブックの規約チェック
• Test-kitchen
クックブックの単体テスト
• Severspec
サーバーの状態の単体テスト
クックブックのテストに使うツール
40!
テストスイートの構成
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
41!
Qiitaに詳しく乗っています
42!
• 人類の叡智を結集
• 多様なプラットフォームに対応
• 利用者が少ない
• 作成者も少ない
コミュニティクックブック
43!
44!
• クックブックを書こう
• クックブックをテストしよう
• コミュニティに登録しよう
• オープンソースのフローでコード改善
皆様に提案
45!
又は、Engine Yardにお任せください
46!
導入パートナー募集中
詳細はブースにて
Thank you!

More Related Content

PPTX
Azure DevOps ハンズオン Vo.1 ~Azure Boards を用いたアジャイル計画とポートフォリオマネジメント~
PPTX
Azure DevOps ハンズオン Vo.2 ~Azure DevOps Wiki を用いたドキュメントの作成~
PPTX
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
PPTX
Azure周りの振り返り
PPTX
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
PDF
GitHub Enterpriseの導入事例と実践GitHub Actions
PDF
DevOpsを実現する為のChef活用テクニック
PPTX
AWS EC2の自動リブート
Azure DevOps ハンズオン Vo.1 ~Azure Boards を用いたアジャイル計画とポートフォリオマネジメント~
Azure DevOps ハンズオン Vo.2 ~Azure DevOps Wiki を用いたドキュメントの作成~
Azure Blockchain Service ハンズオン ~ Logic App 統合編 ~
Azure周りの振り返り
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
GitHub Enterpriseの導入事例と実践GitHub Actions
DevOpsを実現する為のChef活用テクニック
AWS EC2の自動リブート

What's hot (20)

PPTX
裏クラウドデザインパターン
PDF
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
PDF
Spring Bootキャンプ @関ジャバ #kanjava_sbc
PPTX
Azure Web Apps と Azure Mobile Apps
PPTX
Device Farm を使ったスマホアプリの自動テスト
PDF
GitHubEnterpriseからBitbucket(Stash) への移行事例
PDF
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
PDF
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
PPTX
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
PPTX
Teamsでのリモート勉強会の開き方
PPTX
OsakaArchVizCamp#1 - UE4 Introduction
PDF
Ignite 2021 振り返り(DevOps)
PDF
インフラエンジニアに送る Visual Studio Code ~Azure 編~
PPTX
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
PDF
Java + React.jsでSever Side Rendering #reactjs_meetup
PPTX
OsakaArchVisCamp#1 - UE4 on OculusQuest
PPTX
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
PDF
AWS Device Farm を Jenkins CI から叩いてみた
PDF
Container deployment on Azure
PPTX
Face APIで開発する時に使っている7つの道具
裏クラウドデザインパターン
Azure DevOps × スクラム で実現するプロダクト開発のポイント #dotnetlab #jazug
Spring Bootキャンプ @関ジャバ #kanjava_sbc
Azure Web Apps と Azure Mobile Apps
Device Farm を使ったスマホアプリの自動テスト
GitHubEnterpriseからBitbucket(Stash) への移行事例
コンテナ管理 プラットフォーム 比較 ~Kubernetes~予告編
Spring4とSpring Bootで作る次世代Springアプリケーション #jjug #jsug
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Teamsでのリモート勉強会の開き方
OsakaArchVizCamp#1 - UE4 Introduction
Ignite 2021 振り返り(DevOps)
インフラエンジニアに送る Visual Studio Code ~Azure 編~
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
Java + React.jsでSever Side Rendering #reactjs_meetup
OsakaArchVisCamp#1 - UE4 on OculusQuest
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
AWS Device Farm を Jenkins CI から叩いてみた
Container deployment on Azure
Face APIで開発する時に使っている7つの道具
Ad

Similar to Dev opschef (20)

PDF
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
PDF
Engine Yard Cloud
PDF
Engine Yard - 商用マルチクラウドPaaS
PPTX
クラウド概要 by Engine Yard
PDF
DevOpsを実現するChef活用テクニック
PDF
Engine Yard 〜AWS基盤の商用グレードPaaS〜
PPTX
堅牢な商用グレード PaaS - Engine Yard
PDF
DevOpsを実現する為のChef実践テクニック Chef12対応版
PDF
Engine Yardで作る NetCommons3のクラウド環境
PDF
[AWSマイスターシリーズ] AWS OpsWorks
PDF
オブジェクトストレージの適用領域とCloudianの位置づけ (Cloudian Summit 2012)
PDF
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
PDF
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
PDF
3分でわかる(気になれる) AWS OpsWorks
PPTX
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
PPTX
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
PPTX
Citrix eco new
PDF
ITpro EXPO版「データセンター視点で比較したクラウドの内側」
PDF
【セミナー講演資料】オープンクラウドソリューションのご紹介
PDF
Open stack reference architecture v1 2
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
Engine Yard Cloud
Engine Yard - 商用マルチクラウドPaaS
クラウド概要 by Engine Yard
DevOpsを実現するChef活用テクニック
Engine Yard 〜AWS基盤の商用グレードPaaS〜
堅牢な商用グレード PaaS - Engine Yard
DevOpsを実現する為のChef実践テクニック Chef12対応版
Engine Yardで作る NetCommons3のクラウド環境
[AWSマイスターシリーズ] AWS OpsWorks
オブジェクトストレージの適用領域とCloudianの位置づけ (Cloudian Summit 2012)
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
3分でわかる(気になれる) AWS OpsWorks
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
Citrix eco new
ITpro EXPO版「データセンター視点で比較したクラウドの内側」
【セミナー講演資料】オープンクラウドソリューションのご紹介
Open stack reference architecture v1 2
Ad

More from Yusuke Ando (20)

PDF
ダイナミック広告の改善と拡大
PDF
Testing your app with Selenium on Travis CI
PDF
Travis CIで実現するPHPアプリの自動テスト
PDF
Shimokita.Unity Detonatorで爆発
PDF
Shimokita.Unity RigidbodyとColliderで衝突
PDF
Webプログラマの為のUnity入門
PDF
ゴールデンウィークに最適な学習コンテンツ
PDF
Travis CIですぐに始める継続的インテグレーション
PDF
ブログやサイトのJekyllへの移行
PDF
PHPとTravis CIでブラウザテスト
PDF
Shimokita.Unity パリの街をユニティちゃんが駆ける
PDF
Paa s and oss
PDF
New relic
PDF
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
PDF
PHPの教室「foreachを極める」
PDF
20121225 php
PDF
90分間濃縮 PHPエラーの教室
PDF
新標準PSRに学ぶきれいなPHP
PDF
8時間耐久 PHP構築の教室
PDF
4時間耐久 PHP on Heroku
ダイナミック広告の改善と拡大
Testing your app with Selenium on Travis CI
Travis CIで実現するPHPアプリの自動テスト
Shimokita.Unity Detonatorで爆発
Shimokita.Unity RigidbodyとColliderで衝突
Webプログラマの為のUnity入門
ゴールデンウィークに最適な学習コンテンツ
Travis CIですぐに始める継続的インテグレーション
ブログやサイトのJekyllへの移行
PHPとTravis CIでブラウザテスト
Shimokita.Unity パリの街をユニティちゃんが駆ける
Paa s and oss
New relic
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
PHPの教室「foreachを極める」
20121225 php
90分間濃縮 PHPエラーの教室
新標準PSRに学ぶきれいなPHP
8時間耐久 PHP構築の教室
4時間耐久 PHP on Heroku

Dev opschef