Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
構成管理してるつもりだけにならない方法
Search
Kasumi Hanazuki
May 14, 2016
Programming
10
8.5k
構成管理してるつもりだけにならない方法
構成管理ツールを用いたインフラ開発フローの改善
at Pepabo Tech Conference #5
http://pepabo.connpass.com/event/30348/
Kasumi Hanazuki
May 14, 2016
Tweet
Share
More Decks by Kasumi Hanazuki
See All by Kasumi Hanazuki
RubyKaigi 2023でのセキュアなDNSリゾルバの運用 / Secure DNS Resolver at RubyKaigi 2023
hanazuki
0
90
Mackerelでの家庭用ルータの監視 / Monitoring home routers with Mackerel
hanazuki
5
4.2k
Other Decks in Programming
See All in Programming
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
200
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
160
2024 컴포즈 정원사
jisungbin
0
150
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
170
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
800
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
1.1k
API Platform for Laravel
dunglas
0
320
A New Era of Testing
mannodermaus
2
510
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
470
Rubyのobject_id
qnighy
6
1.3k
マルチモジュールにおけるテスト最適化
fxwx23
0
210
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Being A Developer After 40
akosma
84
590k
Statistics for Hackers
jakevdp
794
220k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Why Our Code Smells
bkeepers
PRO
334
56k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
Designing for Performance
lara
604
68k
The World Runs on Bad Software
bkeepers
PRO
64
11k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Transcript
構成管理ツールを用いた インフラ開発フローの改善 構成管理してるつもりだけにならない方法
2016-05-14 @k_hanazuki • 2015-04 入社 • 2016-01― 技術部インフラG Twitter: k_hanazuki
GitHub: hanazuki 花月かすみ
2016-05-14 @k_hanazuki • ホームページ作成サービス ◦ ウェブ (PHP, MySQL, …) ◦
メール, メールマガジン ◦ DNS ◦ ... グーペ (goope.jp)
2016-05-14 @k_hanazuki • 物理サーバから プライベートクラウドへ 昨年末移設 • ~20ロール / 35インスタンス
グーペのインフラ
2016-05-14 @k_hanazuki 1. Puppetで構成を記述 2. Serverspecで仕様を記述 3. GitHubでレビュー 4. Droneを使ってCI
5. サーバへPuppet適用 インフラ開発フロー
構成管理してた つもりなんだけど……
2016-05-14 @k_hanazuki • 変更のコード化を忘れる ◦ 障害対応のため手動で設定変更 ◦ 巻き戻って障害再発 • コードの適用を忘れる
◦ PRをマージはしたんだけど…… ◦ 台数が多いとうっかり…… 課題: 構成管理と本番の差異
2016-05-14 @k_hanazuki • CI環境: ベースイメージから構築 ◦ 構成と仕様の一致を検査 • 本番: 既存の環境に差分適用
◦ うまく動くとは限らない 課題: CI環境と本番の差異
2016-05-14 @k_hanazuki • 本番と構成記述の差異 • 本番とCI環境の差異 課題
可視化しよう!
2016-05-14 @k_hanazuki • 「あるべき状態」と本番の比較 ◦ Puppet ◦ Serverspec コードと本番の差分の可視化
2016-05-14 @k_hanazuki • 本番の状態と一致しているか ◦ 構成の記述漏れ ◦ 仕様の修正漏れ ◦ 時間経過による状態の変化
• 本番に適用して想定通りか 差分の可視化によりわかること
2016-05-14 @k_hanazuki • 差分を可視化するダッシュボード ◦ https://github.com/ hanazuki/puppet-theatre • 毎朝始業前に結果を通知 ダッシュボード(プロトタイプ)
2016-05-14 @k_hanazuki
2016-05-14 @k_hanazuki • パッケージ更新にいち早く気づく • コードの質の向上 ◦ 偽陽性の差分を撲滅 思わぬうれしさ
それ……でできるよ
2016-05-14 @k_hanazuki • ブラウザ上でデプロイ設定する 機能は不要 ◦ 差分の可視化に的を絞る • Puppetと疎結合 ◦
Serverspec等を統合的に扱う Puppet Dashboardとの比較
これから
2016-05-14 @k_hanazuki • レビューフローとの統合 ◦ コードの変更による本番への 影響を可視化 • デプロイフローとの統合 ◦
デプロイ時の差分, デプロイ後の差分を可視化 これから
2016-05-14 @k_hanazuki • 構成の変化の可視化 = サーバ構成の監視 • プッシュ型のコード改善フロー • 安心感
まとめ