5. Chefとは
Configuration Management Framework
サーバセットアップの自動化を実現するためのFramework
IaaS
OpenStack
Puppet
Chef
Capistrano
Fabric
クラウド or
VM立ち上げ
OS
インストール
System Configuration
<OSやミドルウェアの設定・構成管理>
2013.07.14開催July Tech Festa 2013でのGosuke Miyashitaさんの資料で紹介されていた
「Provisioning Tool chain by Lee Thompson at Velocity 2010」による
日本語訳の責は私にあります。直訳だと全て「設定」「管理」のようになるので翻訳が難しい
http://www.slideshare.net/mizzy/serverspec-jtf2013
Application Service
Orchestration
<デプロイ等>
Bootstrapping
<初期セットアップ>
Configuration
Orchestration
6. Chefとは 2
RubyのDSLで記述
package "apache2" do
action :install
end
Infrastructure as Code
サーバ構築手順書を元にした手動セットアップ
スクリプトやファイルの記述を元にセットアップを行う
= プログラマブルなInfrastructure
= 特定のタスク向けに設計された言語
DSL(Domain-Specific Language)
汎用プログラミング言語
= C、Java...etc
汎用モデリング言語
= UML...etc
9. Chef Family 1
Hosted Chef
Private Chef
Opscodeがホスティングする
Firewall内で稼働する
http://www.opscode.com/hosted-chef/
この2つは国内で採用した話を聞きませんが...
Facebook等で採用事例
私も詳しくは知りませんm(_ _)m
10. Chef Family 2
Chef Server/Client(管理対象数十台over)
Chef Solo(管理対象数台∼頑張れば数十台)
Chef ServerとChef ClientからなるClient/Serverモデル
Chefを単体で動作させるもの。最初はこちらで十分
Chef Serverを使っているようなケースでもテスト中はこちらを使ったり
Chef Server / Chef Server Web UI / Couch DB / Rabbit MQ / Chef Solr
構成要素がかなりFat
インストールは最近は楽
ネットで検索するとChef Severのインストール難しいというような
ブログが数多く出てきますが、最近はインストーラで一発です
ただし、運用はまた別の話
実質この2択になるのでは?
+
+
+
情報がChef Server 10.xのもので古かったです
懇親会でご指摘を頂いたのですが
Chef Server 11.xはコアエンジンがRubyからErlangに、
Couch DBからPostgreSQLになっているそうです。
手元で試したらフロントもnginxになっていた...
19. Vagrant本あるよ
Vagrant: Up and Running
今のところ英語版だけですが、日本語版出すことが
2013/7/12のvagrant meetup後に決まったようです。
英語版でも150ページ弱、7章のプラグイン開発とか読まないなら100ページほどです。
Create and Manage Virtualized Development Environments
By Mitchell Hashimoto
38. Chef cookbookの開発
ローカルでVagrant+VirtualBoxで開発
vagrant upでサーバ立ち上げ+provisioning実行
以後vagrant provisionを繰り返す
$ vagrant up
VM already created. Booting if it's not already running...
Clearing any previously set forwarded ports...
Forwarding ports...
-- 22 => 2222 (adapter 1)
Creating shared folders metadata...
Clearing any previously set network interfaces...
Running any VM customizations...
Booting VM...
Waiting for VM to boot. This can take a few minutes.