構成管理してるつもりだけにならない方法
by
Kasumi Hanazuki
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
構成管理ツールを用いた インフラ開発フローの改善 構成管理してるつもりだけにならない方法
Slide 2
Slide 2 text
2016-05-14 @k_hanazuki ● 2015-04 入社 ● 2016-01― 技術部インフラG Twitter: k_hanazuki GitHub: hanazuki 花月かすみ
Slide 3
Slide 3 text
2016-05-14 @k_hanazuki ● ホームページ作成サービス ○ ウェブ (PHP, MySQL, …) ○ メール, メールマガジン ○ DNS ○ ... グーペ (goope.jp)
Slide 4
Slide 4 text
2016-05-14 @k_hanazuki ● 物理サーバから プライベートクラウドへ 昨年末移設 ● ~20ロール / 35インスタンス グーペのインフラ
Slide 5
Slide 5 text
2016-05-14 @k_hanazuki 1. Puppetで構成を記述 2. Serverspecで仕様を記述 3. GitHubでレビュー 4. Droneを使ってCI 5. サーバへPuppet適用 インフラ開発フロー
Slide 6
Slide 6 text
構成管理してた つもりなんだけど……
Slide 7
Slide 7 text
2016-05-14 @k_hanazuki ● 変更のコード化を忘れる ○ 障害対応のため手動で設定変更 ○ 巻き戻って障害再発 ● コードの適用を忘れる ○ PRをマージはしたんだけど…… ○ 台数が多いとうっかり…… 課題: 構成管理と本番の差異
Slide 8
Slide 8 text
2016-05-14 @k_hanazuki ● CI環境: ベースイメージから構築 ○ 構成と仕様の一致を検査 ● 本番: 既存の環境に差分適用 ○ うまく動くとは限らない 課題: CI環境と本番の差異
Slide 9
Slide 9 text
2016-05-14 @k_hanazuki ● 本番と構成記述の差異 ● 本番とCI環境の差異 課題
Slide 10
Slide 10 text
可視化しよう!
Slide 11
Slide 11 text
2016-05-14 @k_hanazuki ● 「あるべき状態」と本番の比較 ○ Puppet ○ Serverspec コードと本番の差分の可視化
Slide 12
Slide 12 text
2016-05-14 @k_hanazuki ● 本番の状態と一致しているか ○ 構成の記述漏れ ○ 仕様の修正漏れ ○ 時間経過による状態の変化 ● 本番に適用して想定通りか 差分の可視化によりわかること
Slide 13
Slide 13 text
2016-05-14 @k_hanazuki ● 差分を可視化するダッシュボード ○ https://github.com/ hanazuki/puppet-theatre ● 毎朝始業前に結果を通知 ダッシュボード(プロトタイプ)
Slide 14
Slide 14 text
2016-05-14 @k_hanazuki
Slide 15
Slide 15 text
2016-05-14 @k_hanazuki ● パッケージ更新にいち早く気づく ● コードの質の向上 ○ 偽陽性の差分を撲滅 思わぬうれしさ
Slide 16
Slide 16 text
それ……でできるよ
Slide 17
Slide 17 text
2016-05-14 @k_hanazuki ● ブラウザ上でデプロイ設定する 機能は不要 ○ 差分の可視化に的を絞る ● Puppetと疎結合 ○ Serverspec等を統合的に扱う Puppet Dashboardとの比較
Slide 18
Slide 18 text
これから
Slide 19
Slide 19 text
2016-05-14 @k_hanazuki ● レビューフローとの統合 ○ コードの変更による本番への 影響を可視化 ● デプロイフローとの統合 ○ デプロイ時の差分, デプロイ後の差分を可視化 これから
Slide 20
Slide 20 text
2016-05-14 @k_hanazuki ● 構成の変化の可視化 = サーバ構成の監視 ● プッシュ型のコード改善フロー ● 安心感 まとめ