Kubernetes has crossed the chasm. Will GitOps follow?
The CNCF’s annual survey for 2021 has just been published. Among the headlines is the newfound ubiquity of Kubernetes in the enterprise. With more and more organizations using it – alongside multiple public clouds and in many cases, hybrid...
The CNCF’s annual survey for 2021 has just been published. Among the headlines is the newfound ubiquity of Kubernetes in the enterprise. With more and more organizations using it – alongside multiple public clouds and in many cases, hybrid cloud too – the need for secure, reliable automation has never been more pressing. And that could well be where GitOps comes in.
Every year, the Cloud Native Computing Foundation (CNCF) conducts a study of the adoption of cloud native software and its associated methodologies, polling thousands of software developers across six continents. Every year, the results reveal a high uptake of technologies such as Kubernetes – the open source container orchestration system on which so many of today’s cloud applications run – among the usual suspects for early adoption: small, nimble businesses, including, for example, tech start-ups building the app on which their businesses will be based. But 2021 was different. As even the most conservative organizations undertook wide-ranging digital transformation, cloud native software is now being adopted across the board. (You can find the CNCF data here.)
Kubernetes goes mainstream
Of course, cloud native tends to mean containers – and nowadays, containers usually involve Kubernetes. According to the report, “An interesting trend CNCF has seen develop is the correlation between Kubernetes and large organizations: respondents from organizations larger than 5,000 FTEs are far more likely to use Kubernetes than those working at smaller organizations.”
It is clear from the data that Kubernetes has, as the report puts it, ‘crossed the chasm’, going mainstream in organizations right across the globe. The report also highlights the fact that as well as becoming more commonplace, Kubernetes is in the process of becoming an ‘under-the-hood’ technology, just as Linux did before it. In other words, organizations will find themselves buying or adopting technologies that are built on Kubernetes, perhaps without knowing that Kubernetes provides the underlying architecture.
Across the entire universe of respondents, the survey found that 93% of organizations have more than one Kubernetes cluster running in production, while almost two thirds – 64% – have more than five production clusters. When you factor in the total number of clusters (production, development, staging etc) a full 67% of organizations have more than 20 clusters running at any one time. 5.6 million developers are using Kubernetes today – a 67% increase on the year before. Moreover, many of these clusters are running on relatively complex architecture, in that 46% of organizations are using hybrid cloud for their clusters, with four out of five using more than one public cloud provider.
More Kubernetes can mean more complexity
One thing this rapid growth suggests, however, is that for many organizations now embracing Kubernetes enthusiastically, there needs to be a corresponding acceleration in the adoption of management tools. Kubernetes is a fantastic technology, but its popularity – not to mention its license-free nature – makes uncontrolled propagation of clusters a potential problem. Explosive growth can quickly lead to needless complexity.
GitOps is arguably the most appropriate way for many organizations to manage Kubernetes. Built entirely on open source software – Kubernetes itself, Git and the CNCF-approved reconciliation agent Flux – it combines a pleasingly simple software architecture with a set of best practices that together, take much of the risk out of running cloud applications. For those organizations running Kubernetes clusters on hybrid cloud architecture (or just across more than one public cloud), Weave GitOps – the package offered by Weaveworks – can prove particularly useful. Not only can it be used to manage applications across multiple clusters, but it gives you a single, web-based UI through which you can manage all your Kubernetes clusters, regardless of which cloud you use.
The greater the scale at which you need to operate, the more beneficial Weave GitOps can be. That’s because its UI can be used to keep clusters consistent across multiple platforms at all times, whether they are on-premise, on public clouds or at the edge. Regardless of how many clusters there are and where they need to run, they will all be subject to the same controls. Actions performed on one, in other words, can be enacted on them all.
How GitOps works
GitOps exploits the declarative nature of Kubernetes to enable configuration information to be stored alongside application code in version control (a Git repository).
By using Flux to monitor a Kubernetes cluster, continuously comparing it to the system described in Git, the GitOps model can highlight any discrepancies between the desired state of the application and its actual state, as they arise. With additional features such as role-based access control (RBAC) and a raft of Kubernetes policies that can be applied, automating much of the management of a production cluster becomes reasonably trivial. Developers are empowered to work faster, with policy guardrails in place to stop accidental or unauthorized configuration changes. And perhaps the most useful feature of GitOps to the many organizations running production clusters today is the fact that GitOps can be applied to a cluster that is already running, effectively bringing the entire application under GitOps control.
Explore the potential of GitOps in your organization
If your organization is among those to have embraced Kubernetes in the last year, you may already have realized that some kind of automation and management system will be required in the near future. And if you are already running production applications on Kubernetes clusters, the sooner you investigate your options the better. To learn more about the capabilities of GitOps, take a look at Weave GitOps, the managed GitOps solution from Weaveworks, the GitOps pioneers.