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
hamakou108
March 13, 2023
Technology
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜
hamakou108
March 13, 2023
More Decks by hamakou108
See All by hamakou108
MathPHP で数学人材を目指す - PHPカンファレンス 2021 1週間前イベント 〜 帰ってきたPHP勉強会@東京
hamakou108
0
290
Laravel のメール認証の内部実装を掘り下げる - PHPerKaigi 2021
hamakou108
4
2.7k
PHPer のための Vim 実践入門 - PHP Conference 2020
hamakou108
0
850
Other Decks in Technology
See All in Technology
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
210
MCP Appsを作ってみよう
iwamot
PRO
4
530
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
600
フロンティアAIのゲート化と地政学リスク
nagatsu
0
120
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
EventBridge Connection
_kensh
5
690
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
770
Chainlitで作るお手軽チャットUI
ynt0485
0
200
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
370
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.1k
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building the Perfect Custom Keyboard
takai
2
790
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
Copyright© M&Aクラウド 私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜 PHPerKaigi 2023(勝手に)リジェクトカンファレンス 株式会社M&Aクラウド 濱田晃輔
Copyright© M&Aクラウド 2 悔しいっ......!悔しいっ......! PHPerKaigi 2023 のプロポーザル通過ならず...
Copyright© M&Aクラウド 3 だがこれでいい......! (勝手に) リジェクトカンファレンス LT 🎉🎉🎉
Copyright© M&Aクラウド 4 プロポーザルの内容 私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜 by 濱田晃輔 | トーク |
PHPerKaigi 2023 #phperkaigi - fortee.jp
Copyright© M&Aクラウド 5 レギュラートーク...? 私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜 by 濱田晃輔 | トーク |
PHPerKaigi 2023 #phperkaigi - fortee.jp
Copyright© M&Aクラウド 6 20分......??? 私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜 by 濱田晃輔 | トーク |
PHPerKaigi 2023 #phperkaigi - fortee.jp
Copyright© M&Aクラウド 7 出来らあっ!!! えっ!!5分で20分の内容を!?
Copyright© M&Aクラウド 8 とある上長 1on1 にて 自分「なるほど...?」 上司「目標設定何か1つ やりたいこと入れて良いよ」
Copyright© M&Aクラウド 9 そういえば... 「おもしれーやつ」 「Four Keys って言うんだ」 生産性を可視化したい! /
SUZURI's four keys - Speaker Deck DevOpsDays Tokyo2022 ファクトから始める改善アプローチ 〜「LeanとDevOpsの科学」を実践して〜 - Speaker Deck 開発組織の生産性を可視化する State of DevOpsとFour Keysとは / deep dive into State of DevOps - Speaker Deck
Copyright© M&Aクラウド 10 聖書を読む 「継続的デプロイ導入すれば良 いんじゃね?」 Nicole Forsgren Ph.D et
al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
Copyright© M&Aクラウド デリバリーのパフォーマンス 11 Four Keys と継続的デプロイの関係 • Four Keys
◦ デリバリーのパフォーマンスの計測指標 ▪ デプロイ頻度 ▪ 変更のリードタイム ▪ 平均復旧時間 ▪ 変更失敗率 ◦ 組織の収益性や市場占有率、生産性と相関がある • 継続的デプロイ ◦ コード修正を自動的に本番反映するプラクティス ◦ Four Keys 向上に大きな効果が期待できる
Copyright© M&Aクラウド 12 翌週 自分「時代は 継続的デプロイです」 上司「ええやん」 ※実際にはもっと具体的な議論を行っています
Copyright© M&Aクラウド 13 赤信号みんなで渡れば怖くない? 継続的デプロイ導入に伴うリスク • 本番環境で盛大にバグるかも... • ロールバックの判断が難しくなるかも ...
• もう元の開発フローに後戻りできないかも ...
Copyright© M&Aクラウド • バージョン管理 • デプロイメントの自動化 • 継続的インテグレーション • トランクベースの開発
• テストの自動化 • テストデータの管理 • 情報セキュリティのシフトレフト • 疎結合アーキテクチャ • 権限をもつチーム • モニタリング • プロアクティブ(予防的)な通知 14 再び聖書を読む 継続的デリバリーを促進するケイパビリティ Nicole Forsgren Ph.D et al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
Copyright© M&Aクラウド • バージョン管理 ✅ • デプロイメントの自動化 ✅ • 継続的インテグレーション
✅ • トランクベースの開発 ✅ • テストの自動化 ✅ • テストデータの管理 🚨 • 情報セキュリティのシフトレフト 🚨 • 疎結合アーキテクチャ ✅ • 権限をもつチーム ✅ • モニタリング ✅ • プロアクティブ(予防的)な通知 🚨 15 再び聖書を読む 継続的デリバリーを促進するケイパビリティ Nicole Forsgren Ph.D et al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
Copyright© M&Aクラウド 16 CI/CD パイプラインによる自動化とその高速化 • 自動化 ◦ テスト・静的解析 ◦
DB マイグレーション ◦ キャッシュクリア ◦ 全文検索エンジンのインデックス更新 ◦ デプロイ (confirmation あり) • 高速化 ◦ テスト並列化 ◦ デプロイ速度のチューニング デプロイメントの自動化 継続的インテグレーション テストの自動化 バージョン管理
Copyright© M&Aクラウド 17 Feature Toggle 戦略 • ロジックや UI を
Feature Toggle で切り替え • ON/OFF データの管理を環境変数から RDB へ • 条件分岐コードの一括削除 ◦ kubotak-is/php-del ◦ fyui001/rice-ball • ON への切り替え時に社内 Slack にリリース通知 デプロイメントの自動化 FeatureToggle戦略と運用方法 - Speaker Deck トランクベースの開発 バージョン管理
Copyright© M&Aクラウド 18 モニタリングとアラート検知 モニタリング バージョン管理 • Cloudwatch ◦ 死活監視
◦ リソース負荷の監視 • Sentry ◦ アプリケーションエラー検知 ◦ パフォーマンス問題の検知 ▪ レスポンス時間の長いページ ▪ N+1 クエリ
Copyright© M&Aクラウド • CI/CD パイプラインによる自動化とその高速化 ◦ => 低コストかつ高頻度でデプロイできる • Feature Toggle
戦略 ◦ => 小さなバッチサイズを維持できる • モニタリングとアラート検知 ◦ => 問題があったらすぐに検知して対処できる 19 実際に役に立った? 継続的デプロイとの相性
Copyright© M&Aクラウド 20 2018年4月リリースから2023年現在に至るまで 日々の開発フロー改善の積み重ねがあった
Copyright© M&Aクラウド 21 青信号を確認して渡ろう 必要最低限のケイパビリティは備えていると判断して導入 メインブランチを develop から master へ!
レビュープロセスや DoD の変更! マージされたら CircleCI で本 番デプロイ! ✅ ✅ ✅
Copyright© M&Aクラウド • 「LeanとDevOpsの科学」では継続的デリバリーの促進要因が示されている • 次のような開発フロー改善が継続的デプロイ導入に特に役立った ◦ CI/CD パイプラインによる自動化と高速化 ◦
Feature Toggle 戦略 ◦ モニタリングとアラート検知 • 継続的デプロイ導入には日々の開発フロー改善が役に立つ 22 まとめ
Copyright© M&Aクラウド Thank you for your attention! 🤩 23
Copyright© M&Aクラウド • 生産性を可視化したい! / SUZURI's four keys - Speaker
Deck • DevOpsDays Tokyo2022 ファクトから始める改善アプローチ 〜「LeanとDevOpsの科学」を実践して〜 - Speaker Deck • 開発組織の生産性を可視化する State of DevOpsとFour Keysとは / deep dive into State of DevOps - Speaker Deck • Nicole Forsgren Ph.D et al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する • プログラマ三大美徳を実現するデプロイフローを目指して - Speaker Deck • PHPコードを消すライブラリを作った - Speaker Deck • FeatureToggle戦略と運用方法 - Speaker Deck 24 参考資料