一覧に戻る
Lv.2

GitOps

GitOps

Gitを使ってシステムの設計図を管理し、運用や設定を自動化する開発手法。

簡単に説明すると

GitOpsというのは、Gitにあるシステムの設計図をもとに、本番環境の構築や運用を自動化する手法のことだよ。 開発者がプログラムの設定をGitに保存すると、専用のツールが常にその内容を監視して、実際のサーバーやコンテナの構成を自動で最新の状態に保ってくれるんだ。 アプリの開発チームとインフラの運用チームが同じGitを使って作業を進める現場で利用されているよ。

名前のヒミツ

GitOps(ギットオプス)は、プログラムの変更履歴を管理するツール「Git」と、システム運用を意味する「Operations」を組み合わせた言葉なんだよ。 システムの設定や構成をGit上で管理して、運用の仕組みを自動化しようという考え方から名付けられたんだ。

くわしく見てみよう!

GitOpsとは、システムの構成情報や設定ファイルをGitで一元管理し、その内容を自動的に運用環境へ反映させる開発手法のことだよ。
イメージとしては、Webサイトやアプリの設計図をすべてGitに置いておき、設計図が更新されたらロボットが自動で本番の設備を組み替えてくれる仕組みなんだよ。
これによって、だれがいつどんな変更を加えたかが履歴として正確に残るようになるんだ。

従来の運用では、担当者が手動でサーバーの設定を変更したりコマンドを実行したりすることが多かったんだよ。
GitOpsでは、Git上の設定ファイルが正解の状態となり、監視ツールが常に実際の環境とGitの内容を比較するんだ。
もし実際の環境とGitの内容にズレがあれば、自動でGitの状態に合わせて修復が行われる仕組みになっているよ。

この手法は、複数のコンテナをまとめて管理するクラウド環境や、頻繁にアップデートを行うWebサービスの開発現場で広く使われているよ。
トラブルが起きたときでも、Gitの履歴を過去の状態に戻すだけで、アプリやインフラの構成を以前の正常な状態へ素早く復旧できるという特徴があるんだ。