106 Views
March 26, 26
スライド概要
2026年3月26日に開催した「コンテナ基盤リアルトーク〜コンテナ運用のつらみ大集合〜」で使用した資料です。
イベント詳細:https://wealthnavi.connpass.com/event/383661/
ウェルスナビ株式会社 技術広報チームの公式アカウントです。
CIOpsと比べた GitOpsのうまみとつらみ 2026.3.26 コンテナ基盤リアルトーク 〜コンテナ運⽤のつらみ⼤集合〜 安藤 太希 1
1. CIOps / GitOpsの違い 2. GitOpsのうまみ 3. GitOpsのつらみ 4. おわりに 2
⾃⼰紹介 安藤 太希(Taiki Ando) ウェルスナビ株式会社 システム基盤チーム 2024年度新卒入社。システム基盤チームに配属後、新規プロダクトのインフラ構築、開発者 プラットフォーム改善、社内向けAIサービスの構築やAIを活用した業務改善に取り組んでい ます。 ひとこと 初の外部登壇頑張ります💪 3 @2026 WealthNavi Inc.
インフラやアプリのデプロイ、どうやっていますか? ● CodePipeline? GitHub Actions? それとも別の仕組み? 4 @2026 WealthNavi Inc.
インフラやアプリのデプロイ、どうやっていますか? ● 当社にはデプロイ⽅法が2パターンあり、最初は混乱しました (正直統⼀してほしい...) ● 業務で向き合う中で、この2つの違いが⾒えてきました 👉 今⽇はその話をします 5 @2026 WealthNavi Inc.
1 CIOps と GitOpsの違い Push型 vs Pull型 © WealthNavi Inc. All Rights Reserved. 6
当社のECSアプリのデプロイ ⚙ ECS + CIOps(GitHub Actions → ecspresso → ECSへPush) ○ ○ 開発者がPRを作成 → SREチームがApprove → マージ → GitHub Actionsが自動デプロイ タスク定義をjsonnetで管理、GitHub Actionsがapplyする 7 @2026 WealthNavi Inc.
当社のEKSアプリのデプロイ ⚙ EKS + GitOps(PRマージ後、ArgoCDで差分を検知) ○ ○ プロダクトごとに Manifest Repo を分離 マニフェスト(設定ファイル) で設定を宣言 → マージ → ArgoCD が差分検知して EKS に自動反映 8 @2026 WealthNavi Inc.
CIOpsとGitOpsの違い 💡 根本的な違いは”誰が”環境を変えるか CIOps GitOps デプロイ実行者 CI/CDツール( GitHub Actions / Bitbucket Pipelinesなど) CDツール( ArgoCD/FluxCD/PipeCD など) デプロイタイミン グ push / merge Gitの状態の変化を検知 デプロイ方向 CIツールがクラスタ外から環境を pushして変える( Push型) CDツールがクラスタ内から Gitと環境の差分を検知 してpullしてくる( Pull型) 9 @2026 WealthNavi Inc.
CIOpsとGitOps両⽅を経験して感じたこと ⚙ やりたいことは同じはずなのに、CIOpsの⽅がつらみが多い… ● ● 実環境とコードの内容に差分があった場合に気づきづらい ○ 例: サーキットブレイカーでECSサービスのタスクリビジョンがロールバックされた場合 ○ 例: 障害対応など復旧スピード優先でやむをえず⼿で修正し、コードを取り込み忘れた場合 ○ CloudFormationやHCP Terraform以外はdrift検知機能を⾃分で実装する必要がある 環境ごとにパイプラインの挙動が違うため運⽤難易度が⾼い ○ ブランチの保護設定が複雑になる(そもそも上位のプランでなければ細かい制御ができない) ○ 問題発⽣時の原因調査に⼿間どる 10 @2026 WealthNavi Inc.
2 1 GitOpsのうまみ © WealthNavi Inc. All Rights Reserved. 11
GitOpsのうまみ① 💡Gitに書いてある内容が、常に実環境と⼀致している ● ● 環境とコードのずれが発⽣しない ○ Argo CDが常にGitと実環境を⽐較し、差分があればk8sが⾃動で収束させるため ○ CIOpsと⽐べた時の安⼼感 ■ ⾃分が書いた変更内容以外の差分は発⽣しないという安⼼感 ■ あまり知らない環境のコードを触る時の⼼理的なハードルが下がる ロールバックが簡単 ○ git revertするだけで環境も⾃動的に元に戻る ○ CIOpsでもgit revertは可能だが、CIの再実⾏が必要になる ■ CIの途中で失敗した場合後続の処理が停⽌してしまう(実装次第ではあるが) 12 @2026 WealthNavi Inc.
GitOpsのうまみ② 💡権限分離をしやすい = セキュリティの考慮点を減らせる ● CIツールとデプロイ先の権限分離 ○ ● CIツール(GitHub Actions)にデプロイ先(AWS)の接続情報や権限を持たせる必要がない ⼈とツールの権限分離 ○ デプロイに必要な権限はAWS内(ArgoCD)に閉じるので、⼈に強い権限を渡さなくていい 13 @2026 WealthNavi Inc.
GitOpsのうまみ③ 💡⽬的やチーム、プロダクトを境界としてリポジトリをわけやすい ● リポジトリをわけたいシーン ○ 共通コンポーネントやセキュリティに関わる設定はSREで責任を持ちたいが、 それ以外の部分は開発者におまかせしたい ○ ● モノレポにした場合、CODEOWNERSで責任者を表現できるがブランチ戦略が固定されてしまう ArgoCDは複数のリポジトリを連携できる(設定も簡単) ○ 開発者が触るリポジトリ ■ ○ Helmパラメーター(image tag、env、replica 等) SREが触るリポジトリ ■ ArgoCD Application定義 ■ 共通コンポーネント定義(LoadBalancer Controller、External Secretsなど) ■ Helm定義(Deployment、Ingressなどを標準化したもの) 14 @2026 WealthNavi Inc.
3 1 GitOpsのつらみ © WealthNavi Inc. All Rights Reserved. 15
GitOpsのつらみ① ⚠ 学習コストとリポジトリ分散 ● リポジトリ分散による開発者の学習コスト増加 ○ ⽬的に対してどのリポジトリの定義を変更すればいいのかわかりづらい ○ 課題例: 新規アプリ追加時に複数リポジトリへのPR作成が必要 PR作成 開発者 GitHub ArgoCD App repo Argo CD EKS GItHub Actions RDS / S3など Helm Parameter repo GitHub Terraform repo 16 @2026 WealthNavi Inc.
GitOpsのつらみ①の対策 💡開発者ポータル(Backstage)で必要な設定を⾃動複製できるようにする ● ● 「どこに何を書くか」を知らなくても新規アプリケーションを⽴ち上げることができる Backstageとは:https://backstage.io/ リポジトリの分散は残るが、その複雑さを開発者ポータル側で解消する 17 @2026 WealthNavi Inc.
GitOpsのつらみ② ⚠ コスト削減とselfHealの相性の悪さ ● コスト削減のためにdev/staging環境を夜間休⽇停⽌したい ● しかしGitOpsだと運⽤に問題がある ● ○ replica=0にしても Argo CDが「Gitと違う」と判断して数分で戻す(selfHeal) ○ だからと⾔って、毎晩Gitのコードを⾃動書き換えするのも微妙 CIOpsではどうしてたか ○ 起動数設定はIaCから切り離して外部(Notion DB)で管理して それを元に起動停⽌処理を⾏うツールを実装していた 18 @2026 WealthNavi Inc.
GitOpsのつらみ②の対策 💡CronWorkflowで夜間だけArgo CDの⾃動同期を無効化する 19 @2026 WealthNavi Inc.
1 4 おわりに © WealthNavi Inc. All Rights Reserved. 20
さいごに うまみとつらみはトレードオフ ● GitOps = 楽というよりは、やり⽅が制限されるため運⽤がシンプルになるイメージ ○ gitを信頼できる唯⼀の情報源として扱うことで、変更⽅法がgitの定義ファイルの変更のみに統 ⼀されシンプルになった ○ ● その反⾯、selfHealやリポジトリ分散といった別の複雑さへの対応は必要 すべてをGitOpsにすれば幸せになれるのか?→No ○ k8sやArgoCDなどの 仕組み* があるからこそGitOpsの真価が発揮できる *常にGitと実環境を⽐較し、差分があれば⾃動で収束させる仕組みのことを指す 21 @2026 WealthNavi Inc.
【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 22 @2026 WealthNavi Inc.
ご清聴ありがとうございました 23 @2026 WealthNavi Inc.