SlideShare a Scribd company logo
1 of 69
Download to read offline
udzura
PHPカンファレンス福岡
Hashicorpと私(仮題)
me
Ruby厨です!!1
閑話休題
Hashicorp
DevOps
みなさん
DevOpsしてますか?
DevOpsしとうと?
自動化しとう?
自動化で救われた話
注意:
内容はやや

省略しているところもあります
とあるWebサービス
#3分でサーバ台数
倍にできるようにして
まじ?
はい
アプリは某R⚪ils
bundle installが……
Asset Pipelineが……
PHPでも、今時は
composerとか
gulpとかありますよね……
デプロイ時間かかる問題
先に「ビルド」して
配ればよくね?
中略
ビルドサーバー
(本番とarchが同じ)
本番サーバー
本番サーバー
本番サーバー
s3とかswiftとかそういう
オブジェクトストレージ
$ git clone
$ bundle install
$ rake asset:precomple
$ tar zxf
なんかできたっぽい
「もっと速くできない?」
イメージをコピーして

しまえば速い
イメージ作りの問題点
「AMI焼いといて」
って言われてもさ∼
動いてるサーバ、どれを基
準にすればいいんだ……
コピーのコピー
秘伝のタレ™化
コンソールぽちぽちとか
手順が煩雑
確実に手順を

コード化したい
Packer
イメージビルド手順を
自動化
プロビジョンのための

シェルスクリプトを流す
Puppetなどのマスター

を用意し、プロビジョニング
※Puppetの質の確保、
Vagrantが役に立った
できたサーバに
tgzをダウンロード、展開
初期化処理は
cloud-initにお任せ
packer templateは

履歴管理する
より簡単にするため、
MakefileやRubyと連携
※ イメージからの起動にTerraformを使おうと思いつつ未検証……
いろいろな問題が解決!
めでたい
それでも残る問題
リリースしたサーバ、

ちゃんと動いてる?
動的に増やしても
Nagiosの設定を手動で追加するんじゃ

………
Consul
サーバ連携をポンって
するやつ
ヘルスチェックも自動
結果を一覧
通知
https://github.com/AcalephStorage/consul-alerts
起動後のサーバに
自動テストしてる感じ
失敗してたら

その台数作り直せばOK!
サーバを増やすのが

便利になった
> PR <
詳細は
PHP_EOL

More Related Content

What's hot

PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
 
俺のZabbixがこんなに可愛いわけがない
俺のZabbixがこんなに可愛いわけがない俺のZabbixがこんなに可愛いわけがない
俺のZabbixがこんなに可愛いわけがない
Seiichiro Ishida
 
NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話
SATOSHI TAGOMORI
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
 

What's hot (20)

Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixiv
 
SignalRブートキャンプ
SignalRブートキャンプSignalRブートキャンプ
SignalRブートキャンプ
 
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
 
PHPデプロイツールの世界
PHPデプロイツールの世界PHPデプロイツールの世界
PHPデプロイツールの世界
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
 
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみたKubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
 
俺のZabbixがこんなに可愛いわけがない
俺のZabbixがこんなに可愛いわけがない俺のZabbixがこんなに可愛いわけがない
俺のZabbixがこんなに可愛いわけがない
 
最近流行りのビルドツールとは
最近流行りのビルドツールとは最近流行りのビルドツールとは
最近流行りのビルドツールとは
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
PIAXで作る P2Pネットワーク
PIAXで作る P2PネットワークPIAXで作る P2Pネットワーク
PIAXで作る P2Pネットワーク
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
 
PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
bicep 0.5 pre
bicep 0.5 prebicep 0.5 pre
bicep 0.5 pre
 
運用に効く!JVMオプション三選
運用に効く!JVMオプション三選運用に効く!JVMオプション三選
運用に効く!JVMオプション三選
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)
 

Viewers also liked

PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)
stibear (stibear1996)
 
Manual do Proprietario Ford Puma
Manual do Proprietario Ford PumaManual do Proprietario Ford Puma
Manual do Proprietario Ford Puma
pxe
 

Viewers also liked (11)

PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)PXE @第一回成果報告会(2012/12/17)
PXE @第一回成果報告会(2012/12/17)
 
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
 
Let’s Encrypt更新話
Let’s Encrypt更新話Let’s Encrypt更新話
Let’s Encrypt更新話
 
EROSについて
EROSについてEROSについて
EROSについて
 
Manual do Proprietario Ford Puma
Manual do Proprietario Ford PumaManual do Proprietario Ford Puma
Manual do Proprietario Ford Puma
 
RaspberryPi を持ち運びパソコンとして使いたい
RaspberryPi を持ち運びパソコンとして使いたいRaspberryPi を持ち運びパソコンとして使いたい
RaspberryPi を持ち運びパソコンとして使いたい
 
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
入門Ansible
入門Ansible入門Ansible
入門Ansible
 

Similar to Hashicorpツールズ

なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 

Similar to Hashicorpツールズ (20)

Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
 
DevOps for Small Starter
DevOps for Small StarterDevOps for Small Starter
DevOps for Small Starter
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ
 
20111029 rubyon php
20111029 rubyon php20111029 rubyon php
20111029 rubyon php
 
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Hadoop Source Code Reading #17
Hadoop Source Code Reading #17Hadoop Source Code Reading #17
Hadoop Source Code Reading #17
 
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
 
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
 
TokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoopTokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoop
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebian
 
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse MoonlinxOsc2008 Opensuse Moonlinx
Osc2008 Opensuse Moonlinx
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 

More from Uchio Kondo

More from Uchio Kondo (12)

人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemd
 
ペパボのサービスとRuby
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRuby
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
Ruby way-openstack.keynote
Ruby way-openstack.keynoteRuby way-openstack.keynote
Ruby way-openstack.keynote
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
Puppet of-2015-forupload
Puppet of-2015-foruploadPuppet of-2015-forupload
Puppet of-2015-forupload
 
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
Testing in Sinatra
Testing in SinatraTesting in Sinatra
Testing in Sinatra
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
 
otomodachi-kakumei
otomodachi-kakumeiotomodachi-kakumei
otomodachi-kakumei
 

Hashicorpツールズ