SlideShare uma empresa Scribd logo
1 de 21
自動デプロイ+あるふぁー
山本 育
目標
•fabricとVagrantを使って
VirtualBox上のVMに
PostgreSQL+muninでリ
ソース監視構成を自動構
築できたら幸せ!!
目標
目標
•fabricとVagrantを使って
VirtualBox上のVMに
PostgreSQL+muninでリ
ソース監視構成を自動構
築できたら幸せ!!
目標
リモートデプロ
イ
ノードのテンプレート化
リソース監視
アジェンダ
• 自動デプロイとは
• fabricの紹介
• fabricとは
• 自動デプロイツールの比較
• Vagrantの紹介
• Vagrantができること
• vagrant-vbox-snapshotの紹介
• デモ
• Muninの紹介
• Muninとは
• リソース収集比較(今後に期待)
• デモ(?)
自動デプロイとは
•こんなことで困ったことありませんか?
• 色んなサーバに同じ環境を構築しないといけない
• 環境構築手順書が曖昧で、完全に同じ環境がつく
れない。
• 1台のサーバを複数用途に使うので、何度も同じ構
築手順を作らないといけない。
• 異常系試験をして、壊れた環境から復旧しないとい
けない。×N回
• etc...
自動デプロイとは
•「自動」で「簡単」に「何度でも」「同じ
環境」が構築できる。
•ね、簡単でしょう?
自動デプロイとは
• shellscriptを作って投げ込めばいいじゃない!
自動デプロイとは
• なぜshellscriptではだめなのか
• shellscriptのバージョン管理が難しい。
• 入っているホストごとにちょっとずつ改造されてた
りしませんか・・・?
• エラーハンドリングが難しい
• 冪等性の担保が難しい
• 複雑な実行手順がある。
• リモート実行が面倒臭い
• shellscriptが苦手….
• etc…
自動デプロイとは
•じゃあどうすんのさ!
• puppet
• chef
• ansible
• fabric
•とは言ってもshellscriptからの今更の移
行は難しい・・・
fabricとは
•python製の自動デプロイツール
•fabric.apiが提供されている。
•任意のshellscriptをリモートホストで実行
する。
• 移行の敷居が低くて素晴らしい!
fabricとは
•たとえば・・・リモートホスト上で
sudo yum install postgres を実施する。
• chef
• ansible
• fabric
自動デプロイツールの比較表(主観)
デプロイツール fabric chef ansible
学習コスト ◎ △ ◯
shellscriptの移行 ◎ △ ◯
動作の複雑さ ◯ ☓ ◯
記述のテンプレート性 ☓ ◎ ◯
ロジックとの親和性 ◯ ◯ ☓
Pull / Push型 Push Pull/Push Push
ドキュメント ◯ ◯ ◯
Vagrantとは
• VirtualBoxなどのVMやその構成をCLIベース
で管理するソフト
• Vagarntfileさえ作成すれば、チーム全員が同じ環
境を構築できる。
• Vagrantを利用することで、環境に依存せずにVM
を管理構築できる。
• 「vagrant provider」とかでググってください
vagrant-vbox-snapshotの紹介
• vagrant-vbox-snapshot
• 任意の静止点(テンプレート)を作成/管理できる。
fabricのデモ & ソース説明
• デモ内容
• PostgreSQL9.3.5を動作させてみよう。
• https://github.com/yamamo-i/deploy_postgres/tree/skeleton
• 動作させるソース内容の説明。
• 前提条件
• 事前に依存関係パッケージはインストール済みです。
• ベースはCentOS 7を利用しています。
• http://opscode-vm-
bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-
7.0_chef-provisionerless.box
Muninとは
• リソース監視ツール
• デフォルトで大枠のリソースを監視できる。
• デフォルトpluginが充実している。
• agent常駐型のリソース監視ツール
• 障害が起こっても、リソース情報のあるサーバを
分けておけば大丈夫
• 閾値を超えるとアラート発報ができる。
Muninとは
•最も評価
•pluginが自分で作れること
•MuninとのIFは決まっている。
•どの言語でも実装可能!
•/etc/munin/plugins/に置くだけ!
•リソース監視ツールが単一化できること
デモ
•Muninの画面を見てみよう!
ご清聴ありがとう
ございました

Mais conteúdo relacionado

Mais procurados

AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話
Kaoru Kitauchi
 
20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要
Seiji Akatsuka
 
Virtual boxからVM Importする
Virtual boxからVM ImportするVirtual boxからVM Importする
Virtual boxからVM Importする
Shinji Saito
 

Mais procurados (20)

Riot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディングRiot + generator で始める新しいデータバインディング
Riot + generator で始める新しいデータバインディング
 
Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみよう
 
makeのススメ
makeのススメmakeのススメ
makeのススメ
 
VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
Introduction to arm virtualization
Introduction to arm virtualizationIntroduction to arm virtualization
Introduction to arm virtualization
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!
 
JAWS-UG四国クラウドお遍路2014
JAWS-UG四国クラウドお遍路2014JAWS-UG四国クラウドお遍路2014
JAWS-UG四国クラウドお遍路2014
 
AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話AWS Direct Connectの構築を自動化(しようと)している話
AWS Direct Connectの構築を自動化(しようと)している話
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要
 
About Reauire.js
About Reauire.jsAbout Reauire.js
About Reauire.js
 
進撃のSbt
進撃のSbt進撃のSbt
進撃のSbt
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
Virtual boxからVM Importする
Virtual boxからVM ImportするVirtual boxからVM Importする
Virtual boxからVM Importする
 

Destaque

Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
Hidenori Matsuki
 

Destaque (8)

ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
デプロイツールFabric
デプロイツールFabricデプロイツールFabric
デプロイツールFabric
 
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
 
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
Developers Summit 2013【15-B-6】開発者の "資産形成" につながる Action とは?
 
GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例GitHubEnterpriseからBitbucket(Stash) への移行事例
GitHubEnterpriseからBitbucket(Stash) への移行事例
 
PHPデプロイツールの世界
PHPデプロイツールの世界PHPデプロイツールの世界
PHPデプロイツールの世界
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
 

Semelhante a 自動デプロイ

3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
モダン開発環境
モダン開発環境モダン開発環境
モダン開発環境
Koji Agawa
 
Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23
Hideki Hashizume
 
KDL主催セミナー 20120215
KDL主催セミナー 20120215KDL主催セミナー 20120215
KDL主催セミナー 20120215
Hiroshi Bunya
 

Semelhante a 自動デプロイ (20)

.NET vNext
.NET vNext.NET vNext
.NET vNext
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
モダン開発環境
モダン開発環境モダン開発環境
モダン開発環境
 
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawaJenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
 
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5
 
Firefoxの開発ツール
Firefoxの開発ツールFirefoxの開発ツール
Firefoxの開発ツール
 
Vagrantのひみつ
VagrantのひみつVagrantのひみつ
Vagrantのひみつ
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23Pro aspnetmvc3framework chap23
Pro aspnetmvc3framework chap23
 
自動化ハンズオン
自動化ハンズオン自動化ハンズオン
自動化ハンズオン
 
Composer
 Composer Composer
Composer
 
KDL主催セミナー 20120215
KDL主催セミナー 20120215KDL主催セミナー 20120215
KDL主催セミナー 20120215
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
 
Info talk #36
Info talk #36Info talk #36
Info talk #36
 

自動デプロイ