構成管理してるつもりだけにならない方法

 構成管理してるつもりだけにならない方法

構成管理ツールを用いたインフラ開発フローの改善
at Pepabo Tech Conference #5
http://pepabo.connpass.com/event/30348/

B740b4b6ebd411a24c3ea0dfac44f04b?s=128

Kasumi Hanazuki

May 14, 2016
Tweet

Transcript

  1. 構成管理ツールを用いた インフラ開発フローの改善 構成管理してるつもりだけにならない方法

  2. 2016-05-14 @k_hanazuki • 2015-04 入社 • 2016-01― 技術部インフラG Twitter: k_hanazuki

    GitHub: hanazuki 花月かすみ
  3. 2016-05-14 @k_hanazuki • ホームページ作成サービス ◦ ウェブ (PHP, MySQL, …) ◦

    メール, メールマガジン ◦ DNS ◦ ... グーペ (goope.jp)
  4. 2016-05-14 @k_hanazuki • 物理サーバから プライベートクラウドへ 昨年末移設 • ~20ロール / 35インスタンス

    グーペのインフラ
  5. 2016-05-14 @k_hanazuki 1. Puppetで構成を記述 2. Serverspecで仕様を記述 3. GitHubでレビュー 4. Droneを使ってCI

    5. サーバへPuppet適用 インフラ開発フロー
  6. 構成管理してた つもりなんだけど……

  7. 2016-05-14 @k_hanazuki • 変更のコード化を忘れる ◦ 障害対応のため手動で設定変更 ◦ 巻き戻って障害再発 • コードの適用を忘れる

    ◦ PRをマージはしたんだけど…… ◦ 台数が多いとうっかり…… 課題: 構成管理と本番の差異
  8. 2016-05-14 @k_hanazuki • CI環境: ベースイメージから構築 ◦ 構成と仕様の一致を検査 • 本番: 既存の環境に差分適用

    ◦ うまく動くとは限らない 課題: CI環境と本番の差異
  9. 2016-05-14 @k_hanazuki • 本番と構成記述の差異 • 本番とCI環境の差異 課題

  10. 可視化しよう!

  11. 2016-05-14 @k_hanazuki • 「あるべき状態」と本番の比較 ◦ Puppet ◦ Serverspec コードと本番の差分の可視化

  12. 2016-05-14 @k_hanazuki • 本番の状態と一致しているか ◦ 構成の記述漏れ ◦ 仕様の修正漏れ ◦ 時間経過による状態の変化

    • 本番に適用して想定通りか 差分の可視化によりわかること
  13. 2016-05-14 @k_hanazuki • 差分を可視化するダッシュボード ◦ https://github.com/ hanazuki/puppet-theatre • 毎朝始業前に結果を通知 ダッシュボード(プロトタイプ)

  14. 2016-05-14 @k_hanazuki

  15. 2016-05-14 @k_hanazuki • パッケージ更新にいち早く気づく • コードの質の向上 ◦ 偽陽性の差分を撲滅 思わぬうれしさ

  16. それ……でできるよ

  17. 2016-05-14 @k_hanazuki • ブラウザ上でデプロイ設定する 機能は不要 ◦ 差分の可視化に的を絞る • Puppetと疎結合 ◦

    Serverspec等を統合的に扱う Puppet Dashboardとの比較
  18. これから

  19. 2016-05-14 @k_hanazuki • レビューフローとの統合 ◦ コードの変更による本番への 影響を可視化 • デプロイフローとの統合 ◦

    デプロイ時の差分, デプロイ後の差分を可視化 これから
  20. 2016-05-14 @k_hanazuki • 構成の変化の可視化 = サーバ構成の監視 • プッシュ型のコード改善フロー • 安心感

    まとめ