SlideShare a Scribd company logo
1 of 62
Download to read offline
「クラウド本気で始めました」な
SIerの

Chef活用と実践
~Chefアンチパターンとの戦い~
Chef Casual Talks Sapporo Vol.1
はじめまして!(じゃない方はこんばんは!)
Masashi Terui
照井 将士
!
https://www.facebook.com/marcy.terui
https://twitter.com/FumblePerson
!
        (株)アグレックス 札幌事業所 システム部
         AWS Consulting Partner ←New!!
         AWSチームリーダー ※ただし、現状1人チーム
!
Chef歴:10ヶ月くらい?
!
AWS Certified Solutions Architect
Winner of Tuningathon #5
JAWS-UG Sapporo
Chef Meetup Sapporo ← New!!
!
東京生まれ札幌育ち
!
1987年 東京都大田区に生まれる
1992年 札幌へ移住
概要的な
概要的な
• 中堅(?)SIerの地方拠点というパッとしない場所で、

スピード感の求められるクラウド業界で戦うために、

どんな風にChefを使っている(使おうとしている)のか
!
• そこに行きつくまでの変遷
!
• これから(の悩みw)
Chefを使い始めたきっかけ
Chefを使い始めたきっかけ
元々インフラができる人が居なかった所に、
WEBの仕事が一気に増えた
Chefを使い始めたきっかけ
元々インフラができる人が居なかった所に、
WEBの仕事が一気に増えた
↓
当時、新入社員でやる気に満ち溢れていた(?)ので、
率先してインフラに手を出した
Chefを使い始めたきっかけ
元々インフラができる人が居なかった所に、
WEBの仕事が一気に増えた
↓
当時、新入社員でやる気に満ち溢れていた(?)ので、
率先してインフラに手を出した
↓
気が付いたら1人で短期間でけっこうな数のサーバ(自社DC仮想環境)立てて管理してた
Chefを使い始めたきっかけ
元々インフラができる人が居なかった所に、
WEBの仕事が一気に増えた
↓
当時、新入社員でやる気に満ち溢れていた(?)ので、
率先してインフラに手を出した
↓
気が付いたら1人で短期間でけっこうな数のサーバ(自社DC仮想環境)立てて管理してた
↓
AWS事業が始まり、さらに増えるペースが上がった
Chefを使い始めたきっかけ
元々インフラができる人が居なかった所に、
WEBの仕事が一気に増えた
↓
当時、新入社員でやる気に満ち溢れていた(?)ので、
率先してインフラに手を出した
↓
気が付いたら1人で短期間でけっこうな数のサーバ(自社DC仮想環境)立てて管理してた
↓
AWS事業が始まり、さらに増えるペースが上がった
↓
このままじゃ回らなくなると思い、Chefを使い始めた
そんなこんなで使ってはみたものの…
そんなこんなで使ってはみたものの…
• Chefを使い始めて、構築の速度は上がったが、

イマイチ効率化された感は無かった

そんなこんなで使ってはみたものの…
• Chefを使い始めて、構築の速度は上がったが、

イマイチ効率化された感は無かった

• 使う度に修正しながらで、使いまわしに不安

そんなこんなで使ってはみたものの…
• Chefを使い始めて、構築の速度は上がったが、

イマイチ効率化された感は無かった

• 使う度に修正しながらで、使いまわしに不安

• AWS事業が軌道に乗り始めた

→増員の話も出始めるが、スキル面もあり、なかなか進まない
そんなこんなで使ってはみたものの…
• Chefを使い始めて、構築の速度は上がったが、

イマイチ効率化された感は無かった

• 使う度に修正しながらで、使いまわしに不安

• AWS事業が軌道に乗り始めた

→増員の話も出始めるが、スキル面もあり、なかなか進まない
このまま増員なかったら、回らなくなる恐れ。
増員できたとして、今まで書いてきたCookbookは

他人に使わせることができる状態なのだろうか…?
↓
そんなこんなで使ってはみたものの…
• Chefを使い始めて、構築の速度は上がったが、

イマイチ効率化された感は無かった

• 使う度に修正しながらで、使いまわしに不安

• AWS事業が軌道に乗り始めた

→増員の話も出始めるが、スキル面もあり、なかなか進まない
このまま増員なかったら、回らなくなる恐れ。
増員できたとして、今まで書いてきたCookbookは

他人に使わせることができる状態なのだろうか…?
やり方を見直す必要性
↓
↓
見直すにあたって
見直すにあたって
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
7. chef-shellを知らない、使わない
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
7. chef-shellを知らない、使わない
8. LWRPを怖がってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
7. chef-shellを知らない、使わない
8. LWRPを怖がってしまう
9. NIH(Not Invented Here)症候群 (外部発祥だから利用しない症候群) に陥ってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
7. chef-shellを知らない、使わない
8. LWRPを怖がってしまう
9. NIH(Not Invented Here)症候群 (外部発祥だから利用しない症候群) に陥ってしまう
10. 孤独なChef使いになってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
見直すにあたって
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう
2. 会社名つきの巨大なCookbookを作ってしまう
3. "Environments"を単なる論理的な「環境」以上の目的で使ってしまう
4. Community Cookbookをフォークしてしまう
5. Role内でrun_listを管理してしまう
6. 無秩序なdata bagを作ってしまう
7. chef-shellを知らない、使わない
8. LWRPを怖がってしまう
9. NIH(Not Invented Here)症候群 (外部発祥だから利用しない症候群) に陥ってしまう
10. 孤独なChef使いになってしまう
良い指針があった。
[和訳] 初心者CHEFアンチパターン
http://www.creationline.com/lab/3080
 _人人人人人人人人人人_
>ほぼ全部当てはまってた<
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
どうせやるなら、
開発・運用フローも見直そう
あとテストとか、それとテストとか、ついでにテストとか
見直した
こんな感じでやってます
こんな感じでやってます
1. 個々のCookbookはBitbucketのPrivete repositoryにホスト(2014.6.11現在 Cookbook数 約30)

①
こんな感じでやってます
1. 個々のCookbookはBitbucketのPrivete repositoryにホスト(2014.6.11現在 Cookbook数 約30)

2. 変更検知、または深夜に一日一回全てのCookbookをテスト

kitchen-dockerでCentOS6,Amazon Linuxに対して、busser-serverspecによるテスト

テスト結果はHipChatに通知(Jenkins plugin)

②
①
こんな感じでやってます
1. 個々のCookbookはBitbucketのPrivete repositoryにホスト(2014.6.11現在 Cookbook数 約30)

2. 変更検知、または深夜に一日一回全てのCookbookをテスト

kitchen-dockerでCentOS6,Amazon Linuxに対して、busser-serverspecによるテスト

テスト結果はHipChatに通知(Jenkins plugin)

3. 各案件に紐づけてKitchen情報をホスト(git clone→knife solo cookですぐ実行・再現できる状態)

基本的にはBerksfileと、node,role,environment、LWRPを使うための簡単なラッパーを置く程度

②
①
③
こんな感じでやってます
1. 個々のCookbookはBitbucketのPrivete repositoryにホスト(2014.6.11現在 Cookbook数 約30)

2. 変更検知、または深夜に一日一回全てのCookbookをテスト

kitchen-dockerでCentOS6,Amazon Linuxに対して、busser-serverspecによるテスト

テスト結果はHipChatに通知(Jenkins plugin)

3. 各案件に紐づけてKitchen情報をホスト(git clone→knife solo cookですぐ実行・再現できる状態)

基本的にはBerksfileと、node,role,environment、LWRPを使うための簡単なラッパーを置く程度

4. 現状、特に大したことはしていない。2のテスト結果によって褒めてくれたり、けなされたりして、

一人で黙々とCookbook書いてる時のモチベーション維持とかw

※別の用途ではもう少し仕事してます
②
①
③ ④
実際のユースケース
実際のユースケース
• 適用方法=knife solo

Chef Serverはまだ使っていない
実際のユースケース
• 適用方法=knife solo

Chef Serverはまだ使っていない
• どこまでやるのか?

→基本、アプリケーションのデプロイ以外全て
実際のユースケース
• 適用方法=knife solo

Chef Serverはまだ使っていない
• どこまでやるのか?

→基本、アプリケーションのデプロイ以外全て
• EC2の監視はCloudWatchにカスタムメトリクスをAWS CLIで投げる形が多く、

その辺りもCookbook化している
実際のユースケース
• 適用方法=knife solo

Chef Serverはまだ使っていない
• どこまでやるのか?

→基本、アプリケーションのデプロイ以外全て
• EC2の監視はCloudWatchにカスタムメトリクスをAWS CLIで投げる形が多く、

その辺りもCookbook化している
• RDSのParameterGroup変更や、MySQLユーザ作成などもやる

この辺りは手っ取り早いからとやってしまっているが、

ここでやるのが正しいかと言われると微妙…
見直して特に良かった所
見直して特に良かった所
• Cookbookの開発効率が断然上がった

スケルトン書いて、テスト書いて、

非同期でテストを回しながら書けると効率が全然違う

まさにアプリケーション開発の感覚でサクサク書ける

見直して特に良かった所
• Cookbookの開発効率が断然上がった

スケルトン書いて、テスト書いて、

非同期でテストを回しながら書けると効率が全然違う

まさにアプリケーション開発の感覚でサクサク書ける

• 再利用性が向上した

適切な単位でCookbookを分け、別々のレポジトリにするの大事

(以前は適用順に左右されたり、一部だけ再利用しようとすると問
題が起きたりしていた)

※他との併用が必要ならmetadata.rbに書けば良い

見直して特に良かった所
• Cookbookの開発効率が断然上がった

スケルトン書いて、テスト書いて、

非同期でテストを回しながら書けると効率が全然違う

まさにアプリケーション開発の感覚でサクサク書ける

• 再利用性が向上した

適切な単位でCookbookを分け、別々のレポジトリにするの大事

(以前は適用順に左右されたり、一部だけ再利用しようとすると問
題が起きたりしていた)

※他との併用が必要ならmetadata.rbに書けば良い

• 確信を持って使えるものがあるという安心感

実際に構築・運用する場面で非常に嬉しい
そして今では…
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
6. 無秩序なdata bagを作ってしまう

→Clear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
6. 無秩序なdata bagを作ってしまう

→Clear!!
7. chef-shellを知らない、使わない

→Clear!!(自動テストの方が楽なので結局あまり使ってないけど…)
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
6. 無秩序なdata bagを作ってしまう

→Clear!!
7. chef-shellを知らない、使わない

→Clear!!(自動テストの方が楽なので結局あまり使ってないけど…)
8. LWRPを怖がってしまう

→Clear!!(sawanobolyさんのQiita記事きっかけで克服しました)
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
6. 無秩序なdata bagを作ってしまう

→Clear!!
7. chef-shellを知らない、使わない

→Clear!!(自動テストの方が楽なので結局あまり使ってないけど…)
8. LWRPを怖がってしまう

→Clear!!(sawanobolyさんのQiita記事きっかけで克服しました)
9. NIH(Not Invented Here)症候群 (外部発祥だから利用しない症候群) に陥ってしまう

→Clear!!
そして今では…
1. すべてのChefデータを1つの巨大なGitレポジトリに入れてしまう

→Clear!!
2. 会社名つきの巨大なCookbookを作ってしまう

→Crear!!
3. “Environments”を単なる論理的な「環境」以上の目的で使ってしまう

→Clear!!
4. Community Cookbookをフォークしてしまう

→Clear!!
5. Role内でrun_listを管理してしまう

→「Roleはバージョン管理されない一時データである」ことが問題なのでOK
6. 無秩序なdata bagを作ってしまう

→Clear!!
7. chef-shellを知らない、使わない

→Clear!!(自動テストの方が楽なので結局あまり使ってないけど…)
8. LWRPを怖がってしまう

→Clear!!(sawanobolyさんのQiita記事きっかけで克服しました)
9. NIH(Not Invented Here)症候群 (外部発祥だから利用しない症候群) に陥ってしまう

→Clear!!
10. 孤独なChef使いになってしまう

→ここが最後にして最大の問題orz
これから(の悩みw)
これから(の悩みw)
• だいぶ他人に使ってもらうのに良い感じになってきたと思うのだけど、

やっぱり最初の敷居が高いのか触ってもらえない

→勉強会、ハンズオンの実施等、社内・社外(Meetup)絡めてやっていきたい

これから(の悩みw)
• だいぶ他人に使ってもらうのに良い感じになってきたと思うのだけど、

やっぱり最初の敷居が高いのか触ってもらえない

→勉強会、ハンズオンの実施等、社内・社外(Meetup)絡めてやっていきたい

• WEB以外のAWS案件(Windows Server)が増えてきている

→Windows対応ってどんな感じなんでしょう?

これから(の悩みw)
• だいぶ他人に使ってもらうのに良い感じになってきたと思うのだけど、

やっぱり最初の敷居が高いのか触ってもらえない

→勉強会、ハンズオンの実施等、社内・社外(Meetup)絡めてやっていきたい

• WEB以外のAWS案件(Windows Server)が増えてきている

→Windows対応ってどんな感じなんでしょう?

• Chef Server活用

→規模の大きい話が上がってきているのもあるが、

  活用ガイドを読んでそうじゃないパターンでの活用法に魅力を感じた

これから(の悩みw)
• だいぶ他人に使ってもらうのに良い感じになってきたと思うのだけど、

やっぱり最初の敷居が高いのか触ってもらえない

→勉強会、ハンズオンの実施等、社内・社外(Meetup)絡めてやっていきたい

• WEB以外のAWS案件(Windows Server)が増えてきている

→Windows対応ってどんな感じなんでしょう?

• Chef Server活用

→規模の大きい話が上がってきているのもあるが、

  活用ガイドを読んでそうじゃないパターンでの活用法に魅力を感じた

• 個々のCookbookは十分にテストしているが、

やっぱり本番適用直前にもテストしたい

→AWSでCookbook単位じゃないテストの方法って、

 Vagrant + Jenkins の CI を AWS でも回す(naoyaのはてなダイアリー) 

 http://d.hatena.ne.jp/naoya/20130521/1369102714

 これが今も鉄板ですか?
以上
ご質問・アドバイス等あればお願いします!

More Related Content

Viewers also liked

MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳するMarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳するYukihiko SAWANOBORI
 
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と PlayElastic beanstalk と Docker と Play
Elastic beanstalk と Docker と PlayTakashi Kawachi
 
データベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベースデータベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベースShohei Yokoyama
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成Microsoft Azure Japan
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Takashi Kanai
 
Wikipedia解析
Wikipedia解析Wikipedia解析
Wikipedia解析ghazel7
 
XMLデータベースについて
XMLデータベースについてXMLデータベースについて
XMLデータベースについてKoji Kawaguchi
 
Chefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについてChefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについてYuuki Namikawa
 
継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策Tetsuo Yamabe
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Takahiko Sato
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛Kazuki Aranami
 
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Masanori Satoh
 
VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界Takahiro HAGIWARA
 

Viewers also liked (19)

MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳するMarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
 
Chef meetup vol2_higanwoks
Chef meetup vol2_higanwoksChef meetup vol2_higanwoks
Chef meetup vol2_higanwoks
 
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と PlayElastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
 
データベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベースデータベースシステム論15 - 関係データモデル以外のデータベース
データベースシステム論15 - 関係データモデル以外のデータベース
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
 
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試すCent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
Serverspec at hbstudy #45
Serverspec at hbstudy #45Serverspec at hbstudy #45
Serverspec at hbstudy #45
 
はかどるChefの小ネタ集
はかどるChefの小ネタ集はかどるChefの小ネタ集
はかどるChefの小ネタ集
 
Wikipedia解析
Wikipedia解析Wikipedia解析
Wikipedia解析
 
Mki2013
Mki2013Mki2013
Mki2013
 
XMLデータベースについて
XMLデータベースについてXMLデータベースについて
XMLデータベースについて
 
Chefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについてChefを利用した運用省力化とDevOpsの取り組みについて
Chefを利用した運用省力化とDevOpsの取り組みについて
 
継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策継続的デリバリーと読み解く Web 開発あるあるとその対策
継続的デリバリーと読み解く Web 開発あるあるとその対策
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
 
VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界VMware的インフラ仮想化の世界
VMware的インフラ仮想化の世界
 

Similar to 「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~

Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacTakeshi Komiya
 
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸  開発運用の現場でのChef活用第2回 JAWS−UG 神戸  開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用Takuro Sasaki
 
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03Takeshi Komiya
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方Junichi Ito
 
Webサービス企画のコツ
Webサービス企画のコツWebサービス企画のコツ
Webサービス企画のコツYusuke Wada
 
[Golang] Go言語でサービス作ってる話
[Golang] Go言語でサービス作ってる話[Golang] Go言語でサービス作ってる話
[Golang] Go言語でサービス作ってる話株式会社YEBIS.XYZ
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話Yukihiko SAWANOBORI
 
DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックYu Kitazume
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことksimoji
 
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.072017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07Cybozucommunity
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由Yusuke Naka
 
DevOps 研修 中級編#01
DevOps 研修 中級編#01DevOps 研修 中級編#01
DevOps 研修 中級編#01Hiro Fukami
 
20150603 AWS Summit Tokyo 2015 LT
20150603 AWS Summit Tokyo 2015 LT20150603 AWS Summit Tokyo 2015 LT
20150603 AWS Summit Tokyo 2015 LTDaiki Mori
 
Slackから始めるChatOps
Slackから始めるChatOpsSlackから始めるChatOps
Slackから始めるChatOpsYuto Suzuki
 
MicroServiceArchitecture
MicroServiceArchitectureMicroServiceArchitecture
MicroServiceArchitectureKaseya Hiroshi
 
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門Goで始める言語処理系実装入門
Goで始める言語処理系実装入門虎の穴 開発室
 
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜Terui Masashi
 
シェフから板前になった話
シェフから板前になった話シェフから板前になった話
シェフから板前になった話oshiro_seiya
 
kintoneカスタマイズの可能性
kintoneカスタマイズの可能性kintoneカスタマイズの可能性
kintoneカスタマイズの可能性安隆 沖
 
20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineerKazuaki Matsuo
 

Similar to 「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~ (20)

Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
 
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸  開発運用の現場でのChef活用第2回 JAWS−UG 神戸  開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
 
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方
 
Webサービス企画のコツ
Webサービス企画のコツWebサービス企画のコツ
Webサービス企画のコツ
 
[Golang] Go言語でサービス作ってる話
[Golang] Go言語でサービス作ってる話[Golang] Go言語でサービス作ってる話
[Golang] Go言語でサービス作ってる話
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
 
DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニック
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
 
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.072017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07
2017 10-13ワークショップ発表資料公開用 2017-10-13-v0.07
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
DevOps 研修 中級編#01
DevOps 研修 中級編#01DevOps 研修 中級編#01
DevOps 研修 中級編#01
 
20150603 AWS Summit Tokyo 2015 LT
20150603 AWS Summit Tokyo 2015 LT20150603 AWS Summit Tokyo 2015 LT
20150603 AWS Summit Tokyo 2015 LT
 
Slackから始めるChatOps
Slackから始めるChatOpsSlackから始めるChatOps
Slackから始めるChatOps
 
MicroServiceArchitecture
MicroServiceArchitectureMicroServiceArchitecture
MicroServiceArchitecture
 
Goで始める言語処理系実装入門
Goで始める言語処理系実装入門Goで始める言語処理系実装入門
Goで始める言語処理系実装入門
 
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜
さくらのVPSで初期設定をChefでやってみた〜こんなはずじゃなかった〜
 
シェフから板前になった話
シェフから板前になった話シェフから板前になった話
シェフから板前になった話
 
kintoneカスタマイズの可能性
kintoneカスタマイズの可能性kintoneカスタマイズの可能性
kintoneカスタマイズの可能性
 
20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer
 

More from Terui Masashi

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise ServerlessTerui Masashi
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことTerui Masashi
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)Terui Masashi
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited FrameworksTerui Masashi
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Terui Masashi
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Terui Masashi
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Terui Masashi
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜Terui Masashi
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用Terui Masashi
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングTerui Masashi
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とはTerui Masashi
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったTerui Masashi
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてTerui Masashi
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」Terui Masashi
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!Terui Masashi
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Terui Masashi
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話Terui Masashi
 

More from Terui Masashi (20)

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise Serverless
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited Frameworks
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とは
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境について
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 

「クラウド本気で始めました」なSIerのChef活用と実践~Chefアンチパターンとの戦い~