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

Hashicorpツールズ