2020年09月03日 - Chrissie Buchanan     ( 原文 - 翻訳: Hiroyuki Sato   )

GitOpsはインフラ管理の次の主流になるのか

TwitterでGitOpsについて質問をした結果と、そこから見えてきたものを共有します。

「GitOpsエキスパートによるパネルディスカッション」を見る

インフラ管理は新しい問題ではありません。2006年にはAWSが一般に公開されています。ソフトウェア開発のライフサイクルはほとんどが自動化されていますが、インフラ管理の大部分は依然として専門のチームを必要とする手作業のままです。インフラは柔軟に拡張できる必要があり、自動化によってインフラ管理は大きく改善します。

GitOpsは、新しい技術用語で、多くのインフラチームが探し求めていた答えになるかもしれません。 GitOpsの中核をなすのは、チームがアプリケーション開発ですでに使用している技術によって、インフラ管理を自動化することです。

私たちはTwitterでGitOpsがどれくらい普及しているか聞いてみました。

GitOpsとは

GitOpsの独特な点は、それが単一の製品やプラグイン、プラットフォームではないということです。 GitOpsの詳細に飛び込む前に、GitOpsとは何かを定義してみましょう。

GitLabでは、GitOpsを次のように定義しています。

GitOpsは、バージョン管理、コラボレーション、コンプライアンス、CI/CDなど、アプリケーション開発で使われているDevOpsのベストプラクティスを、インフラの自動化に適用した運用フレームワークです。

GitOpsはアプリケーション開発と同じバージョン管理システムで行われるため、Gitに組み込まれている機能のすべてを活用することができ、チームはより良いコラボレーションができます。 GitOpsを実践しているインフラチームは、コードとして保存された設定ファイル(Infrastructure as Code)を使用します。

インフラチームはIaCを使用して、マージリクエストで変更を実施するようになります。インフラの変更がコード化され、再現性があり、追跡可能になります。ヒューマンエラーが発生する余地が少なくなり、全員で同じ情報を共有できるようになります。

GitOps = IaC + MRs + CI/CD

私たちは、どのくらいの人がこのフレームワークを探求しているのか、あるいは全く聞いたことがないのかを知るために、Twitterのフォロワーに聞いてみるのは面白いことだと考えました。ここでは、私たちの調査から得られたものを紹介します。

23.8%が現在GitOpsを利用している

おそらくGitLabのフォロワーには先進的なユーザーが多いと考えていますが、それでも、この数字は非常に心強いものです。回答者の約4分の1がこの新しいフレームワークを使用しているということは、GitOpsがインフラを自動化するための実行可能な方法であることを物語っています。

10.6%がGitOpsの導入を計画している

新しいプロセスを導入することは、高度に組織化されたチームであっても難しいことです。 GitOpsではより良いコラボレーションが可能になりますが、それは必ずしも自然なことではありません。 手早く手動で変更を行うことに慣れているインフラチームにとって、この新しいプロセスは大きな変革です。 これらのGitOpsを導入しようとしている10%以上の回答者に、私たちは新しいフレームワークを導入するために何が必要なのかを理解する手助けしたいと考えています。

11.6%はGitOpsを聞いたことはあるが、コミットはしていない

これらの回答者には、いくつかの共通点があります。GitOpsを聞いたことがある人にとって、何がGitOps導入の妨げとなり、どのようなハードルを想定していたのでしょうか。

GitOpsの原則は、VMやコンテナを含むあらゆるタイプのインフラ自動化に適用でき、Kubernetesクラスタを管理しようとしているチームにとっては非常に効果的です。 しかし、KubernetesがGitOpsに必須かどうかについては混乱があるかもしれません(必須ではありません)。それでも11%以上の回答者はGitOpsを聞いたことはあっても、それがどのように適用できるのか理解していないのかもしれません。

54% はまだGitOpsを検討していない

GitOpsはまだ始まったばかりなので、回答者の半数以上がまだ検討していないのは当然のことです。GitOpsは、組織がすでに使用しているツールと同じものを使って自動化を実現する画期的なテーマです。しかし、全く新しいプロセスに着手する前に、その仕組みを知ることは組織にとって重要です。

コラボレーションはDevOpsを効果的なものにしますが、GitOps によってインフラのプロビジョニングにも、コードでのコラボレーションの精神を取り入れることができます。 アプリケーション開発で使用されているバージョン管理システムと同じシステムでインフラを管理することで、組織全体に新たな透明性がもたらされます。

GitOpsの探求を続ける中で、このような調査は、コミュニティが新しいプロセスをどのように採用しているかを知るのに役立ちます。GitOpsは自動化の次の大きな流れになるのでしょうか?

GitOpsとその仕組みについてもっと知りたい方は、WeaveworksHashiCorpAnsible、GitLabのGitOpsエキスパートによるパネルディスカッションをご覧ください。

  • GitOpsがインフラ管理をどのように変えてゆくのか
  • 成功したGitOpsとはどのようなものか
  • チームがGitOpsを始めるために必要なことは何か

   GitLabのGitOpsエキスパートによるパネルディスカッションのウェブキャストを見る   

インフラ管理の詳細を読む:

Why GitOps should be the workflow of choice

How to use GitLab and Ansible to create infrastructure as code

How infrastructure teams use GitLab and Terraform for GitOps

Gitlab x icon svg