Slide 1

Slide 1 text

ecspressoを活用したCI/CDパイプラインを アジャイル開発現場に導入してみたら 2023/08/08 JAWS-UG コンテナ支部 #24 ecspresso MeetUp

Slide 2

Slide 2 text

自己紹介 株式会社mediba バックエンドエンジニア 土屋 陽輝(つちや はるき) @hrktcy 経歴 ・情報系大学院修了→21年mediba入社 LIKE ・go言語 ・terraform ・ecspresso AWS Summit戦利品 AWSDevDay 2

Slide 3

Slide 3 text

今日お話しすること 3 弊社アジャイル開発現場で取り組んでいる ブランチ戦略とecspressoを活用したCI/CDパイプライン をご紹介し、得られた恩恵についてお話しします

Slide 4

Slide 4 text

アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 4

Slide 5

Slide 5 text

5 チーム構成 プロダクトチーム(5~15名程度) PdM 1名 PO/Dir 1~3名 程度 Developer (FE/BE/AE) 2~7名 程度 SRE UNIT 0~1名 Creator (UI/UX) 0~2名 品質管理 UNIT 0~1名 • 開発手法 • アジャイル • インフラ • 価値提供の素早さの観点からECSを採用することが多い

Slide 6

Slide 6 text

開発の進め方 6 ドライバーとナビゲーターに分かれて開発する • 個々人で開発するより生産性は下がる • 経験の浅い人にとっては負担が大きい 場合がある メリット デメリット • エラーや問題を早期発見できる • 全体で知識/スキルが共有される • 職能間の担当業務の垣根が軽減される

Slide 7

Slide 7 text

DevOpsをアジャイルに取り入れる 7 • ローンチに向けての生産性向上 • 継続的なリリースサイクルの実現

Slide 8

Slide 8 text

アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 8

Slide 9

Slide 9 text

ブランチ戦略 • 各環境に反映されているソースコードの可視性が高い状態である • 誰でも簡単に運用ができる(シンプルである) • 前バージョンへの切り戻しが高速且つ容易である • 高速且つ信頼性の高いデリバリーが実現できる 9

Slide 10

Slide 10 text

ecspressoで高速且つ信頼性の高いデリバリーを実現する • タスク定義・サービスのみを一元管理 • アプリケーションリポジトリに 設定ファイルを配置できる • デプロイがシンプル • 別プロダクトにも流用しやすい 10

Slide 11

Slide 11 text

アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 11

Slide 12

Slide 12 text

ecspressoを活用したCI/CDパイプライン 12 v1.0.0 リリースに向けて開発する時 main

Slide 13

Slide 13 text

ecspressoを活用したCI/CDパイプライン 13 release/* v1.0.0 ① リリース用ブランチを切る main

Slide 14

Slide 14 text

“環境-年月日_番号”の形式でタグをPush ↓ 資材をビルド&デプロイ* ecspressoを活用したCI/CDパイプライン 14 feature/* release/* v1.0.0 lintや単体テスト は push時に自動実行 ② featureブランチを切って作業 Point: リリース用ブランチへのマージだけを考えるだけでよい dev-20230808_01 dev/stg環境で検証したい場合 ※デプロイ方式はCodeDeploy(Blue/Green) main

Slide 15

Slide 15 text

ecspressoを活用したCI/CDパイプライン 15 feature/* release/* v1.0.0 ③ リリース用ブランチにマージ Point: releaseブランチのPRに[build]コメントをすると CI周りを事前に行うように設定 main

Slide 16

Slide 16 text

ecspressoを活用したCI/CDパイプライン 16 feature/* release/* main v1.0.0 ④ prdブランチにマージ&承認 →ecspressoによるデプロイが実行 Point: • デプロイ処理のみ走る • 失敗のリスクが低減される • 失敗原因の特定がしやすい • ecspresso deploy コマンド • codeDeployの終了を待つ(v2からデフォルト) • 新リビジョンの安定起動をGitHub Actionsで担保できる prd/*

Slide 17

Slide 17 text

ecspressoを活用したCI/CDパイプライン 17 feature/* release/* v1.0.0 v1.1.0 prd/* ⑤ リグレッションテスト後、mainにマージ • 切り戻しが必要になった場合 • v1.0.0地点からデプロイし直す main

Slide 18

Slide 18 text

アジェンダ • チーム構成/開発の進め方 • ブランチ戦略 • ecspressoを活用したCI/CDパイプライン • アジャイル開発現場にもたらした恩恵 18

Slide 19

Slide 19 text

アジャイル開発現場にもたらした恩恵 • アプリ開発に集中できる環境が整い、開発プロセスが大きく向上した • ecspressoが開発者のインフラに対する毛嫌いを減らしてくれた • O11yの観点を全員が考慮できるようになった • サイドカー設定も設定ファイルで可能 • FireLens経由で監視SaaSと紐付け • WebトランザクションやAPMなどの柔軟な計装を組み込み、試しやすくなった 19

Slide 20

Slide 20 text

20 ecspressoを活用したDevOpsの取り組みによって 私たちのアジャイル開発現場は 更なる成長を遂げることができました! 最後に