社内勉強会 - chef

866 views

Published on

社内勉強会用スライド

Chefとは?
Chefの時代たる所以
Chefの超ざっくり概要
ChefのレシピをCI
ChefをCloud上で

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
866
On SlideShare
0
From Embeds
0
Number of Embeds
196
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

社内勉強会 - chef

  1. 1. Chefでインフラ3分クッキング
  2. 2. ※”3分”に意味はありません
  3. 3. • Configuration Management Framework• 構成管理フレームワーク• Infrastructure As Code• 環境のコード化• Idempotence• 冪等性 [べきとうせい]OSWHAT IS ?httpdconfsshconfperlCookbook(Recipe)
  4. 4. CONFIGURATIONMANAGEMENT TOOLLanguage License First ReleaseChef Ruby Apache 2009/01/15Puppet RubyApache (2.7.0~)GPL(before)2005/08/30CFEngine C GPL, COSL 1993Ansible Python GPL 2012/02/20=> http://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software
  5. 5. why?
  6. 6. 時は来た!それだけだChefの
  7. 7. Chefの時代
  8. 8. Chefの時代たる所以① ② ③
  9. 9. 所以①:開発環境• 環境のセットアップ• 自宅でも同じ環境で
  10. 10. 所以②:リーンスタートアップ• 小さく始める• サービスを成長させる• スケールアウト
  11. 11. 所以③:継続的デリバリーTest Automation-> Continuout Integration-> Continuous Delivery
  12. 12. HOW POPULAR IS ?
  13. 13. Chefの基礎
  14. 14. CHEF BASE• Variety of Chef• Hosted Chef• Private Chef• Open Source Chef• Chef Server - Client / Server • Chef Zero - Chef Serverの軽量版• Chef solo - スタンドアロン• Chef apply - 1レシピを適用• Elements of Cookbook
  15. 15. RECIPE BASEpackage “nginx” doaction :installendservice "nginx" doaction [ :enable, :start ]endtemplate "nginx.conf" dopath "/etc/nginx/nginx.conf"source "nginx.conf.erb"owner "root"group "root"mode 0644end実行先のOSに応じたインストールコマンドを実行するインストールされたツールの実行状態を指定Cookbook内のtemplateディレクトリに格納されたファイルを実行先に配置default.rb
  16. 16. Chefの構成
  17. 17. USAGECICLOUD
  18. 18. CI• ローカル端末でレシピをテスト• 使用するツール• Vagrant(VirtualBox) - 仮想OS構築• Serverspec - サーバ環境テスト• foodcritics - レシピ規約チェック
  19. 19. config.vm.box = "base"config.vm.box_url = "http://developer.nrel.gov/~~"config.vm.network :private_network, ip: "192.168.50.12"config.vm.provision :chef_solo do |chef|chef.add_recipe("apache2")chef.add_recipe("java")endVagrantfile (一部)
  20. 20. 時は来た!それだけだデモの
  21. 21. CLOUD• Amazon Web Service • 従量課金制• 使いたい時に使いたい分だけ立ち上げる
  22. 22. CHEF + AWS参照元:http://takemikami.com/technote/archives/852
  23. 23. CHEF + AWS参照元:http://takemikami.com/technote/archives/852Amazon EC2 Amazon S3 Local 
  24. 24. まとめ• 個人的に手探り状態• 主にVagrantの学習でした• まずはServerspecの導入から?• いでよ神龍!そしてWindowsを消し去り給え!• 途中でコケるとロールバックができないかも…
  25. 25. 参考• WHAT IS CHEF - SlideShare• http://www.slideshare.net/YukihikoSawanobori/what-is-chef201303• Puppet & Chef• https://speakerdeck.com/tnmt/puppet-and-chef• AWS(EC2&S3)上でのchef-soloを使ったサーバの自動構築• http://takemikami.com/technote/archives/852• 開発エンジニアがChefでテスト駆動サーバ設定してみた• http://www.slideshare.net/biglobedojo/chef-22981148
  26. 26. TO BE CONTINUED...• Chef• serverspec / chef spec• Third party cookbooks• knife• D3.js / SVG• Groovy/Gradle/Spock Source Code Reading
  27. 27. 時は来た!それだけだ終わりの

×