GitOps takes DevOps teams to higher levels of maturity
The 2021 State of DevOps report has concrete steps to move to high levels of DevOps maturity. We are referring to continuous delivery, progressive delivery and self service fueling developer autonomy. These steps are made possible by GitOps. Read our latest blog to learn more.
Continuous AWS Cloud Security with Trusted Delivery
Progressive Delivery: Towards Continuous Resilience with Flagger & Weave GitOps
Safety Fast with Weave GitOps Trusted & Progressive Delivery
We recently published the highlights from the 2021 State of DevOps report, and promised a follow up post to touch on some key points. Particularly, we wanted to talk about how the findings from the report endorse a GitOps approach.
Stream-aligned and platform teams
The 2021 State of DevOps report identifies two types of teams - stream-aligned teams, and platform teams - as the way high-maturity teams organize themselves. The idea of a 'platform' or 'internal developer platform' is fundamental to GitOps. While a GitOps pipeline begins with committing code to a Git repository, it is made possible by a platform that paves the way for that new code to move in an automated way from the repository to a production environment.
The platform is how the Ops team provisions resources such as cloud services, storage, service meshes, and security and monitoring tools in a ready-made template. These templates are created even before they are needed, and made available to any developer within the organization. The big shift due to this is that developers need not raise a ticket for the resources they need, they can pick a ready-made template and deploy their code in a matter of minutes. From the Ops side, they have peace of mind knowing they have configured this template and it follows security protocol by default. It does not require developers to separately configure security for deployments.
GitOps tools like Flux are essentially platform-building tools. They help to build and maintain platforms that contain these ready-made templates. Flux leverages Helm to define resources as Helm charts.
Maintaining the platform as a product
Another key idea in the report is to treat the platform as a product. This is easier said than done. With the numerous products and services that need to be developed within the organization, another complex product is the last thing the Ops team wants. However, GitOps provides a framework for this idea.
Just like the application code, GitOps requires that the platform itself be fully described in Git. This means all cloud services, service meshes, and every other component that makes up the infrastructure stack are defined in code. The benefit of this is that whatever is defined in code can be kept from drifting from its original state. Further, when changes need to be made, all it takes is to edit a line of code in the repository. Ops teams can even enforce policies that span multiple repositories, and these policies are defined in code.
Flux, the open source CNCF-adopted GitOps tool, enables Ops teams to manage the platform using Git repositories.
A self-service developer experience
For developers, the biggest benefit of having a platform from which they can create and utilize resources is that they enjoy a self-service experience. This improves developer productivity. GitOps and the platform model is key to enabling a self-service developer experience and greater developer productivity.
"So much of infrastructure and operations are really now in service of elevating developer productivity." -Gene Kim, Author, The Phoenix Project
Further, developers need not worry about configuring security manually, it's all baked into the templates. This is not only a relief for developers, but also results in a better security posture for applications as Ops has more control over security, and security is defined as code. Learn more in our white paper titled ‘GitOps Accelerates Self-service for Developers and Operators.'
Automating more than infrastructure
The 2021 State of DevOps report talks about the need to move beyond infrastructure automation to automate higher-level processes like developer components. Delivering cloud infrastructure and resources is a starting point, but the platform model really shines when it is also used to deliver developer experiences in ready-made packages. This may include readily available service mesh tooling like Istio, or monitoring tools like Prometheus and Grafana.
Weave GitOps Enterprise enables this type of developer experience with its Workspaces feature. This enables each team to have its own namespace on multi-tenant infrastructure. This way, each team enjoys autonomy to operate on its own and has a ready-made workspace that is configured just for them. These workspaces can be configured by lines of business, or product lines, or by geographic region. The report says 'Make the right things easy and the right things will happen quickly.' That's what Weave GitOps enables with its Workspaces feature.
From continuous delivery to progressive delivery
The report noted that continuous delivery is a unique character trait of high-performing teams. GitOps is particularly geared towards enabling continuous delivery. Weave GitOps, in particular, leverages Flagger, an open source tool that simplifies progressive delivery.
Progressive delivery involves using deployment tactics such as canary releasing, blue-green deployments, and A/B testing to improve reliability during releases and enhance user experience. However, these approaches have been difficult to implement in a complex Kubernetes application stack. Now, with GitOps, and powerful tools like Flagger, progressive can be defined and controlled using Git repositories. All it takes is defining the policies for the deployment process in Git. This can be as few or as many lines of code as required.Flagger reads these policies and implements them along with service mesh tools like Istio or Linkerd. Tweaking the policies involves editing a couple of lines of code in the Git repository.
Weave GitOps provides full visibility into the progress of the deployment and even allows rollback of any changes that break parts of the system. Rollbacks are a particularly powerful way to build reliable systems that can quickly recover from failure.
The 2021 State of DevOps report touches on the central issues facing DevOps teams today. It points out the principles to be applied to achieve higher levels of maturity. GitOps is the ideal way to implement these principles. It addresses key areas such as developer experience, developer productivity, security, automation, continuous delivery, and reliability. These are key priorities for every DevOps team, and a solution like Weave GitOps is the simplest and quickest way to achieve these goals.Book a demo with us today.