Upgrade to Pro — share decks privately, control downloads, hide ads and more …

私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for hamakou108 hamakou108
March 13, 2023

私達のチームのデプロイ戦略の軌跡 〜継続的デプロイの導入に至るまで〜

Avatar for hamakou108

hamakou108

March 13, 2023
Tweet

More Decks by hamakou108

Other Decks in Technology

Transcript

  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
  2. Copyright© M&Aクラウド 10 聖書を読む 「継続的デプロイ導入すれば良 いんじゃね?」 Nicole Forsgren Ph.D et

    al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
  3. Copyright© M&Aクラウド デリバリーのパフォーマンス 11 Four Keys と継続的デプロイの関係 • Four Keys

    ◦ デリバリーのパフォーマンスの計測指標 ▪ デプロイ頻度 ▪ 変更のリードタイム ▪ 平均復旧時間 ▪ 変更失敗率 ◦ 組織の収益性や市場占有率、生産性と相関がある • 継続的デプロイ ◦ コード修正を自動的に本番反映するプラクティス ◦ Four Keys 向上に大きな効果が期待できる
  4. Copyright© M&Aクラウド • バージョン管理 • デプロイメントの自動化 • 継続的インテグレーション • トランクベースの開発

    • テストの自動化 • テストデータの管理 • 情報セキュリティのシフトレフト • 疎結合アーキテクチャ • 権限をもつチーム • モニタリング • プロアクティブ(予防的)な通知 14 再び聖書を読む 継続的デリバリーを促進するケイパビリティ Nicole Forsgren Ph.D et al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
  5. Copyright© M&Aクラウド • バージョン管理 ✅ • デプロイメントの自動化 ✅ • 継続的インテグレーション

    ✅ • トランクベースの開発 ✅ • テストの自動化 ✅ • テストデータの管理 🚨 • 情報セキュリティのシフトレフト 🚨 • 疎結合アーキテクチャ ✅ • 権限をもつチーム ✅ • モニタリング ✅ • プロアクティブ(予防的)な通知 🚨 15 再び聖書を読む 継続的デリバリーを促進するケイパビリティ Nicole Forsgren Ph.D et al. 著, 武舎 るみ et al. 訳 (2018), LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する
  6. Copyright© M&Aクラウド 16 CI/CD パイプラインによる自動化とその高速化 • 自動化 ◦ テスト・静的解析 ◦

    DB マイグレーション ◦ キャッシュクリア ◦ 全文検索エンジンのインデックス更新 ◦ デプロイ (confirmation あり) • 高速化 ◦ テスト並列化 ◦ デプロイ速度のチューニング デプロイメントの自動化 継続的インテグレーション テストの自動化 バージョン管理
  7. Copyright© M&Aクラウド 17 Feature Toggle 戦略 • ロジックや UI を

    Feature Toggle で切り替え • ON/OFF データの管理を環境変数から RDB へ • 条件分岐コードの一括削除 ◦ kubotak-is/php-del ◦ fyui001/rice-ball • ON への切り替え時に社内 Slack にリリース通知 デプロイメントの自動化 FeatureToggle戦略と運用方法 - Speaker Deck トランクベースの開発 バージョン管理
  8. Copyright© M&Aクラウド 18 モニタリングとアラート検知 モニタリング バージョン管理 • Cloudwatch ◦ 死活監視

    ◦ リソース負荷の監視 • Sentry ◦ アプリケーションエラー検知 ◦ パフォーマンス問題の検知 ▪ レスポンス時間の長いページ ▪ N+1 クエリ
  9. Copyright© M&Aクラウド • CI/CD パイプラインによる自動化とその高速化 ◦ => 低コストかつ高頻度でデプロイできる • Feature Toggle

    戦略 ◦ => 小さなバッチサイズを維持できる • モニタリングとアラート検知 ◦ => 問題があったらすぐに検知して対処できる 19 実際に役に立った? 継続的デプロイとの相性
  10. 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 参考資料