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

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

hamakou108
March 13, 2023

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

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 参考資料