Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Usecase: GitOps

Who to contact

Product Marketing Technical Marketing
@williamchia @csaavedra1

The Market Viewpoint

The need for GitOps

Modern applications are developed with rapid iteration and run at highly dynamic scale. In an organization with a mature DevOps culture code can be deployed to production hundreds of times per day. Applications can then run under highly dynamic loads from a few users to millions. Modern infrastructure needs to be elastic. Capacity that can be dynamically provisioned and de-provisioned is able to keep pace with load maintaining optimal performance and minimal cost. With the demands made on today's infrastructure it's becoming increasingly crucial manage infrastructure automation with a robust and cohesive methodology.

What is GitOps?

GitOps == IaC + MRs + CI/CD

GitOps is an operational framework that takes DevOps best practices used for application development such as version control, collaboration, compliance, and CI/CD, and applies them to infrastructure automation.

GitOps involves managing your IT infrastructure using practices well-known in software development such as version control, code review, and CI/CD pipelines. For example, infrastructure teams that practice GitOps use configuration files stored as code. Similar to how application source code generates the same application binaries every time it's built, GitOps configuration generates the same infrastructure environment every time it is deployed.

As with any emerging technology term, "GitOps" isn't strictly defined the same way by everyone across the industry. GitOps emerged in the cloud native community and some definitions restrict GitOps to say "Kubernetes is required to be doing GitOps." GitLab takes a broader approach. We've seen GitLab users and customers applying GitOps principals to all types of infrastructure automation including VMs and containers, as well as Kubernetes clusters.

While many tools and methodologies promise faster deployment and seamless management between code and infrastructure, GitOps differs by focusing on a developer-centric experience. Infrastructure management through GitOps happens in the same version control system as the application development, enabling teams to collaborate more in a central location while benefiting from all the built-in features of Git.

GitOps is a prescriptive workflow for using Infrastructure as Code. GitOps with GitLab helps you manage physical, virtual and cloud native infrastructures (including Kubernetes and serverless technologies) using tight integration with industry-leading infrastructure automation tools like Terraform, AWS Cloud Formation, Ansible, Chef, Puppet, and the like.

Benefits of GitOps

Personas

User Persona

Infrastructure as Code requires understanding of the platform and the desired state of the application environment. Users of Infrastructure as Code have a good understanding of both Git as a SCM tool as well as the platform they are expected to provision and manage. Below are a few power users Infrastructure as Code:

Buyer Personas

Buyers of Infrastructure as Code are usually leaders who lead infrastructure / automation initiatives. Typical buyer personas are:

Analyst Coverage

List key analyst coverage of this usecase

Market Requirements

Below are the market requirements for GitOps

Foster Collaboration

Other features - Quickly create new branches of a project - Add new files/assets - Collaborate on proposed changes (review comments, suggest changes, WebIDE, suggestion approvals, conflict resolution, merge, diffing, hand-offs) - Workflow automation - Wiki snippets - Version-controlled snippets - Automatically update or close related issue(s) when a merge request is merged - Configurable issue closing pattern - Display merge request status for builds in CI system - Terraform plan output - Visibility into security scans and build stats

Compliance and Auditing

Version controlled environements

Test Automation

Pipeline configuration management

The GitLab Solution

How GitLab Meets the Market Requirements

A collection of short demonstrations that show GitLab's GitOps capabilities.

Market Requirements How GitLab Delivers GitLab Stage/Category Demos
Foster Collaboration Discussions, user tagging, general comments, inline comments, inline suggestions, unresolved thread tracking, issue creation from comment, suggestion management, CODEOWNERS, approvals Discussions, CODEOWNERS, MR approvals Foster Collaboration with GitOps Foster Collaboration with GitOps

Top 3 Differentiators

Differentiator Value Proof Point
abc def ghi

Message House

The message house for the use case provides a structure to describe and discuss the value and differentiators for the use case.

Current messaging can be found in the market viewpoint section for this page and on the topic page which answers What is GitOps? along with some additional notes here:

"Infrastructure Platform" is a great phrase to use in connection with GitOps and GitLab. We need to be careful with its use so we don't portray ourselves as something we aren't. In the past we've been called out for claiming to have capabilities similar to Chef, Ansible, and Terraform, when we don't house the capabilities within GitLab, but instead seek to integrate with those tools. If we keep it clear that we provide infra platform capabilities via integrations then we have some strong messaging that connects with I&O buyers. See an example use on the topic page

Discovery Questions

Competitive Comparison

TBD - will be a comparison grid leveraging the capabilities

Industry Analyst Relations (IAR) Plan

For a list of analysts with a current understanding of GitLab's capabilities for this use case, please reach out to Analyst Relations via Slack (#analyst-relations) or by submitting an issue and selecting the "AR-Analyst-Validation" template.

Proof Points - customers

Quotes and reviews

Gartner Peer Insights

"Very efficient tool for managing releases and versions. We have a development and deployment process, and at all stages [GitLab] is involved. In addition to storing development code, we also store all packaging and deploy scripts in git"

"Finally, the most amazing thing about GitLab is how well integrated the GitLab ecosystem is. It covers almost every step of development nicely, from the VCS, to CI, and deployment."

"GitLab is the most preferred service in the world and its user community is very wide. We can authorize project or branch based user authorization on Gitlab. In addition, continuous deployment integrations can be done very quickly. In addition, you can create merge requests within the constraints you want and easily manage them. It is very easy to prevent conflicts. A service that must be used for software development teams."

Case Studies

-Northwestern Mutual

-Wag Labs

References to help you close

Partners

GitLab is not a replacement for existing Infrastructure Automation tools, but rather complements them to provide a comprehensive solution. As per the JetBrains DevOps Ecosystem 2019 survey, Terraform is the most popular infrastructure provisioning tool used by customers. Terraform is cloud-agnostic and helps manage complex infrastructures for distributed applications. GitLab will focus on Terraform support as the first step towards building a comprehensive GitOps solution.

Resources

Presentations

WebPage, Whitepapers, infographics, blogs

Videos (including basic demo videos)

Clickthrough & Live Demos

Buyer's Journey

Inventory of key pages in the buyer's Journey

Awareness
learning about the problem
Consideration
looking for solution ideas
Decision
is this the right solution
topic page? solution page proof points
landing pages? ?comparisons? comparisons
-etc?   - product page x
- product page y
- product page z
Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license