Implementing GitOps in the Enterprise
GitOps has been getting traction as a cloud-native approach to continuous deployment, leveraging Git for version control. If executed well, GitOps can bring benefits such as automation of your continuous deployment pipeline, lower downtimes, consistency of workflows, and more.
While it does bring many benefits, at scale, GitOps can also bring challenges as continuously deploying your application is just part of the overall DevOps workflow. The goal of GitOps on cloud-native first phase was to tackle the delivery of infrastructure and application-related objects on Kubernetes. Now that cloud-native is a proven approach, and GitOps is the desired delivery model, it must mature and integrate with an organization’s broader ecosystem, requirements, and goals.
If we try to picture GitOps on cloud-native phase 1, it looks like the following:
While this is a great starting point, as enterprises begin adopting GitOps, a few items need to be addressed to see it scaling to become the standard application deployment model and a practical part of your DevOps toolchain.
Points such as:
- GitOps need to go beyond Kubernetes. I’m sure you still have a large footprint of infrastructure hosted on VMs locally or in the cloud. Ideally, you should be able to use GitOps as the deployment method across all available infrastructure.
- It needs to be application-focused. The goal should be to have an infrastructure-agnostic approach where developers can describe their applications in a standard way that can be deployed seamlessly across heterogeneous infrastructure.
- Policy enforcement. Applying controls and governance to what is being deployed can become quite complex at scale. Governance should be part of the GitOps pipeline and efficiently implemented and scaled across different teams, infrastructure, and applications.
- Closing the operational loop. Go from Continuous Integration to Continuous Deployment and then Continuous Operation, so developers and SREs can effectively support their applications post-deployment, create audit reports, scale applications, application dependencies, and more.
Moving to Application Operations
Shipa has implemented an integration into your GitOps pipeline, allowing you to leverage GitOps as the deployment approach but focusing on the application operation rather than the Kubernetes-focused approach, enabling you to overcome the challenges mentioned above.
If we picture GitOps focused on the application operational aspect (AppOps), it looks like this:
This new phase of cloud-native and Shipa’s approach enables you to implement an application operational (AppOps) model.
Think about it: it’s not about upgrading the operating system anymore or keeping up-to-date with a security patch. It’s not about provisioning or creating Kubernetes object manifests. It’s not only about being able to deploy a microservice on Kubernetes but rather about deploying AND operating your application in the best possible way, anywhere. That’s where Shipa comes in.
Justin Cormack, CTO at Docker, recently gave a talk on GitOps Days 2021, where he describes where he believes GitOps should be in the next five years. Summarizing it:
- GitOps now is about integrating non-Git sources: Shipa brings integration into different sources, enabling you to make GitOps an essential part of your DevOps workflow and application operational model, integrating right into your existing stack.
- Declarative APIs: Shipa extends GitOps beyond Kubernetes with a convergent API that can leverage different infrastructure and services.
- Supply chain security: security needs to go way beyond security scanning, and Shipa brings onboard a structured workflow that enables you to implement and trace security aspects across security scanning, network policies, RBAC, process owners, and more.
While this may be his five-year vision for GitOps, Shipa is enabling you to deliver on the points above today!
The video below gives you an introduction to how Shipa can help you implement this new model:
We will be describing Shipa’s approach to GitOps and how you can build an enterprise-level GitOps model in the following articles. Stay tuned!