Top Banner
udzura PHPカンファレンス福岡 Hashicorpと私(仮題)
69

Hashicorpツールズ

Aug 06, 2015

Download

Internet

Uchio Kondo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hashicorpツールズ

udzura

PHPカンファレンス福岡

Hashicorpと私(仮題)

Page 2: Hashicorpツールズ

me

Page 3: Hashicorpツールズ
Page 4: Hashicorpツールズ
Page 5: Hashicorpツールズ

Ruby厨です!!1

Page 6: Hashicorpツールズ

閑話休題

Page 7: Hashicorpツールズ

Hashicorp

Page 8: Hashicorpツールズ

DevOps

Page 9: Hashicorpツールズ

みなさん DevOpsしてますか?

Page 10: Hashicorpツールズ

DevOpsしとうと?

Page 11: Hashicorpツールズ

自動化しとう?

Page 12: Hashicorpツールズ

自動化で救われた話

Page 13: Hashicorpツールズ

注意: 内容はやや

省略しているところもあります

Page 14: Hashicorpツールズ

とあるWebサービス

Page 15: Hashicorpツールズ

#3分でサーバ台数 倍にできるようにして

Page 16: Hashicorpツールズ

まじ?

Page 17: Hashicorpツールズ

はい

Page 18: Hashicorpツールズ

アプリは某R⚪ils

Page 19: Hashicorpツールズ

bundle installが……

Page 20: Hashicorpツールズ

Asset Pipelineが……

Page 21: Hashicorpツールズ
Page 22: Hashicorpツールズ

PHPでも、今時は composerとか

gulpとかありますよね……

Page 23: Hashicorpツールズ

デプロイ時間かかる問題

Page 24: Hashicorpツールズ

先に「ビルド」して 配ればよくね?

Page 25: Hashicorpツールズ

中略

Page 26: Hashicorpツールズ

ビルドサーバー (本番とarchが同じ)

本番サーバー

本番サーバー

本番サーバー

s3とかswiftとかそういう オブジェクトストレージ

$ git clone $ bundle install $ rake asset:precomple $ tar zxf

Page 27: Hashicorpツールズ

なんかできたっぽい

Page 28: Hashicorpツールズ

「もっと速くできない?」

Page 29: Hashicorpツールズ

イメージをコピーしてしまえば速い

Page 30: Hashicorpツールズ

イメージ作りの問題点

Page 31: Hashicorpツールズ

「AMI焼いといて」 って言われてもさ~

Page 32: Hashicorpツールズ

動いてるサーバ、どれを基準にすればいいんだ……

Page 33: Hashicorpツールズ

コピーのコピー 秘伝のタレ™化

Page 34: Hashicorpツールズ

コンソールぽちぽちとか 手順が煩雑

Page 35: Hashicorpツールズ

確実に手順をコード化したい

Page 36: Hashicorpツールズ

Packer

Page 37: Hashicorpツールズ
Page 38: Hashicorpツールズ

イメージビルド手順を 自動化

Page 39: Hashicorpツールズ
Page 40: Hashicorpツールズ

プロビジョンのためのシェルスクリプトを流す

Page 41: Hashicorpツールズ

Puppetなどのマスター を用意し、プロビジョニング

Page 42: Hashicorpツールズ

※Puppetの質の確保、 Vagrantが役に立った

Page 43: Hashicorpツールズ

できたサーバに tgzをダウンロード、展開

Page 44: Hashicorpツールズ

初期化処理は cloud-initにお任せ

Page 45: Hashicorpツールズ
Page 46: Hashicorpツールズ

packer templateは履歴管理する

Page 47: Hashicorpツールズ
Page 48: Hashicorpツールズ

より簡単にするため、 MakefileやRubyと連携

※ イメージからの起動にTerraformを使おうと思いつつ未検証……

Page 49: Hashicorpツールズ

いろいろな問題が解決!

Page 50: Hashicorpツールズ

めでたい

Page 51: Hashicorpツールズ

それでも残る問題

Page 52: Hashicorpツールズ

リリースしたサーバ、ちゃんと動いてる?

Page 53: Hashicorpツールズ

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

………

Page 54: Hashicorpツールズ

Consul

Page 55: Hashicorpツールズ
Page 56: Hashicorpツールズ

サーバ連携をポンって するやつ

Page 57: Hashicorpツールズ

ヘルスチェックも自動

Page 58: Hashicorpツールズ

結果を一覧

Page 59: Hashicorpツールズ
Page 60: Hashicorpツールズ

通知

Page 61: Hashicorpツールズ

https://github.com/AcalephStorage/consul-alerts

Page 62: Hashicorpツールズ

起動後のサーバに 自動テストしてる感じ

Page 63: Hashicorpツールズ

失敗してたらその台数作り直せばOK!

Page 64: Hashicorpツールズ

サーバを増やすのが便利になった

Page 65: Hashicorpツールズ

> PR <

Page 66: Hashicorpツールズ

詳細は

Page 67: Hashicorpツールズ
Page 68: Hashicorpツールズ
Page 69: Hashicorpツールズ

PHP_EOL