IT用語: GitOpsとは|Gitをインフラ・デプロイの唯一の真実として使う手法
Gitリポジトリの状態をインフラの望ましい状態として、差分を自動的に本番環境に反映するGitOpsの仕組みを解説。
GitOpsとは
GitOpsは「Gitリポジトリをインフラ・アプリケーションの望ましい状態の唯一の真実(Single Source of Truth)として使う」運用手法です。Weaveworksが2017年に提唱しました。Pull Request経由で変更をレビューし、マージされると自動的に本番環境に反映されます。
仕組み
- 開発者がインフラ/アプリの変更をGitにPush
- GitOpsエージェント(ArgoCD・Flux等)がGitの状態と本番環境の差分を検知
- 差分を自動的に本番環境に適用(Reconciliation)
GitOpsのメリット
- 監査ログ: すべての変更がGitのコミット履歴に残る
- ロールバック:
git revertで即座に前の状態に戻せる - セキュリティ: 本番環境へのSSH直接アクセスが不要
KubernetesクラスタとArgoCDを組み合わせた構成が最もよく使われます。
関連する用語 (DevOps)
全58件を見るAnsible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
Chaos Engineering
本番システムに意図的に障害を注入し、システムの回復力(レジリエンシー)を検証する実践手法。Netflixが提唱しChaos Monkeyで有名。「障害は必ず起きる」という前提のもと、弱点を事前に発見する。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。
SLO
Service Level Objective(サービスレベル目標)の略。システムの可用性・応答時間などの目標値を定量的に設定したもの。SRE文化における運用品質の指標。例:月間稼働率99.9%。
Dockerfile
Dockerイメージをビルドするための設計書ファイル。FROM・RUN・COPY・CMD等の命令を書くことで、ベースOSからアプリのセットアップまでを自動化できる。docker buildコマンドで実行される。