社内勉強会 - chef

Post on 22-Jun-2015

586 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

社内勉強会用スライド Chefとは? Chefの時代たる所以 Chefの超ざっくり概要 ChefのレシピをCI ChefをCloud上で

TRANSCRIPT

Chefでインフラ3分クッキング

※”3分”に意味はありません

• Configuration Management Framework

• 構成管理フレームワーク

• Infrastructure As Code

• 環境のコード化

• Idempotence

• 冪等性 [べきとうせい]

OS

WHAT IS ?

httpdconf

sshconf

perlCookbook(Recipe)

CONFIGURATION MANAGEMENT TOOL

Language License First Release

Chef Ruby Apache 2009/01/15

Puppet RubyApache (2.7.0~)

GPL(before) 2005/08/30

CFEngine C GPL, COSL 1993

Ansible Python GPL 2012/02/20

=> http://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software

why?

時は来た!それだけだ

Chefの

Chefの時代

Chefの時代たる所以① ② ③

所以①:開発環境

•環境のセットアップ

•自宅でも同じ環境で

所以②:リーンスタートアップ

•小さく始める

•サービスを成長させる

•スケールアウト

所以③:継続的デリバリー

Test Automation

-> Continuout Integration

-> Continuous Delivery

HOW POPULAR IS ?

Chefの基礎

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

RECIPE BASE

package “nginx” do action :installend

service "nginx" do action [ :enable, :start ]end

template "nginx.conf" do path "/etc/nginx/nginx.conf" source "nginx.conf.erb" owner "root" group "root" mode 0644end

実行先のOSに応じたインストールコマンドを実行する

インストールされたツールの実行状態を指定

Cookbook内のtemplateディレクトリに格納されたファイルを実行先に配置

default.rb

Chefの構成

USAGE

CI

CLOUD

CI

•ローカル端末でレシピをテスト

•使用するツール

• Vagrant(VirtualBox) - 仮想OS構築

• Serverspec - サーバ環境テスト

• foodcritics - レシピ規約チェック

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") end

Vagrantfile (一部)

時は来た!それだけだ

デモの

CLOUD

• Amazon Web Service 

•従量課金制

•使いたい時に使いたい分だけ立ち上げる

CHEF + AWS

参照元:http://takemikami.com/technote/archives/852

CHEF + AWS

参照元:http://takemikami.com/technote/archives/852

Amazon EC2 

Amazon S3 

Local 

まとめ

•個人的に手探り状態

•主にVagrantの学習でした

•まずはServerspecの導入から?

•いでよ神龍!そしてWindowsを消し去り給え!

•途中でコケるとロールバックができないかも…

参考•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

TO BE CONTINUED...

• Chef

• serverspec / chef spec

• Third party cookbooks

• knife

•D3.js / SVG

• Groovy/Gradle/Spock Source Code Reading

時は来た!それだけだ

終わりの

top related