At the Microsoft Build 2022 conference this week, Weaveworks and Microsoft announced that the Weave GitOps Flux 2 platform has been integrated with both the Microsoft Azure Kubernetes Service (AKS) and the Azure Arc management platform for Kubernetes environments.
In addition, there is now a Weave GitOps extension for Microsoft Visual Studio Code to provide developers with more visibility into how applications are being deployed on Kubernetes clusters.
Weaveworks COO Steve George said this alliance will make it simpler for organizations to embrace GitOps best practices that unify the management of code to provision infrastructure and applications using a Git repository. The alliance with Microsoft will make it simpler for organizations that are building containerized applications on the Microsoft Azure cloud to adopt GitOps best practices, he noted.
GitOps is emerging as an approach to advance continuous delivery (CD). While many organizations have continuous integration/continuous delivery (CI/CD) platforms, very few of them have automated application delivery. Historically, each platform used to run applications has had its own set of interfaces that make it challenging to automate application delivery. Kubernetes, however, is designed to run on multiple platforms and surface a consistent set of application programming interfaces (APIs) that makes automating application delivery easier.
The Weaveworks platform adds the ability to hold both configuration and security policies in a Git repository alongside the code created to manage infrastructure. It is based on Flux, an open source tool that automatically ensures that the state of a cluster matches the configuration stored in a Git repository. It uses an operator in the cluster, dubbed Flagger, to trigger application deployments to Kubernetes. Flux monitors all image repositories, detects new images, triggers deployments and updates configurations accordingly.
Weaveworks also provides Team Workspaces, a workflow application for tracking changes to Git-based deployments. IT teams can then decide where and how custom policies should be applied using a policy-as-code engine embedded within their pipelines.
It’s not clear whether the proliferation of Kubernetes clusters in the enterprise will lead to the widespread adoption of GitOps best practices. However, as IT teams increasingly deploy fleets of Kubernetes clusters across an extended enterprise, there is a unique opportunity to centralize the management of those clusters via a standard set of APIs. In the longer term, those APIs will become the foundation on which a hybrid cloud computing environment can be implemented. GitOps platforms like Weaveworks Enterprise should then make it feasible to manage application deployments across what will inevitably become a highly distributed computing environment.
It’s clear there is a symbiotic relationship between GitOps and Kubernetes. Less clear is the degree to which organizations that have embraced Kubernetes have also embraced GitOps. Many organizations have already implemented a DevOps workflow, but the level of maturity IT teams have in terms of their ability to continuously build and deploy applications varies widely. Many organizations will be automating application delivery for the first time.
Regardless of the approach to application development and delivery, the way DevOps teams work will evolve as more containerized applications are built. The only thing that really remains to be determined is to what degree.