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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kasumi Hanazuki
May 14, 2016
Programming
9k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
構成管理してるつもりだけにならない方法
構成管理ツールを用いたインフラ開発フローの改善
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
250
RubyKaigi 2023でのセキュアなDNSリゾルバの運用 / Secure DNS Resolver at RubyKaigi 2023
hanazuki
0
180
Mackerelでの家庭用ルータの監視 / Monitoring home routers with Mackerel
hanazuki
5
4.5k
Other Decks in Programming
See All in Programming
さぁV100、メモリをお食べ・・・
nilpe
0
140
The NotImplementedError Problem in Ruby
koic
1
710
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
260
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
Oxcを導入して開発体験が向上した話
yug1224
4
310
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
150
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
210
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
880
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
51k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
The browser strikes back
jonoalderson
0
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Statistics for Hackers
jakevdp
799
230k
Designing for Performance
lara
611
70k
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 • 構成の変化の可視化 = サーバ構成の監視 • プッシュ型のコード改善フロー • 安心感
まとめ