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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kasumi Hanazuki
May 14, 2016
Programming
9k
10
Share
構成管理してるつもりだけにならない方法
構成管理ツールを用いたインフラ開発フローの改善
at Pepabo Tech Conference #5
http://pepabo.connpass.com/event/30348/
Kasumi Hanazuki
May 14, 2016
More Decks by Kasumi Hanazuki
See All by Kasumi Hanazuki
Ruby meets secure DNS & modern Internet protocols
hanazuki
0
200
RubyKaigi 2023でのセキュアなDNSリゾルバの運用 / Secure DNS Resolver at RubyKaigi 2023
hanazuki
0
170
Mackerelでの家庭用ルータの監視 / Monitoring home routers with Mackerel
hanazuki
5
4.5k
Other Decks in Programming
See All in Programming
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
250
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
220
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
How Swift's Type System Guides AI Agents
koher
0
190
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
実践CRDT
tamadeveloper
0
390
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
550
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Exploring anti-patterns in Rails
aemeredith
3
310
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Believing is Seeing
oripsolob
1
110
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
870
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 • 構成の変化の可視化 = サーバ構成の監視 • プッシュ型のコード改善フロー • 安心感
まとめ