Cloud-native and Kubernetes are dominant topics in technology circles these days. But why? What makes such previously obscure concepts and tools suddenly so relevant?
Standard practices for software operations until now have been imperative, meaning that instructions are explicit, requiring manual steps and active intervention. Kubernetes and a new generation of cloud-native software have changed that paradigm. In this new framework, operations are declarative, meaning that an abstract desired state is conveyed to the system. This desired state is automatically brought about, to the best of the system’s ability, without manual intervention or explicit guidance.
The complexity and scale of new systems demands automation. This is true for the manufacturing industry, as the fourth industrial revolution unfolds. And it’s true for the telecommunications industry, which depends on declarative systems at scale to ensure 5G’s success with a generation of new services underpinned by analytics, automation, and AI. Automation isn’t just the next big thing; the concept itself is imperative for the next stage of generational growth.
Why shift-left isn’t exactly right
Today, nearly everything runs on software, from enterprises to telecommunications. In telecoms, the radio network, user/control planes and devices are all driven by software. Even the life cycle management of those elements is controlled by software. As part of this software-centric approach, there’s been a concerted effort to advance DevOps and Agile practices to improve the underlying processes. The latest manifestation of this is the “shift-left” approach, which advocates constant testing early (i.e., to the left) in the development process.
Shift-left and automated testing enable rapid prototyping and agile new code development. And shift-left embraces automation at every stage of development. But this is only one component of commercial and operational agility for modern businesses. What’s missing in this approach is a recognition that achieving growth at scale involves automation of not only development processes but all operations, beyond coding and testing, and inclusive of infrastructure, deployment and lifecycle activities for services in motion.
What we find is that automation must be both pervasive and recursive. Once automation is achieved in some aspects of the business lifecycle, it creates a need for more automation across other aspects and over a collection of these aspects. It may start with automating one link in a chain, but agility at scale creates urgency to automate the entire chain, and ultimately, a series of interconnected chains.
Openness and accessibility
Automation is a process — one that must be both accessible and repeatable. This means that automation must harness common, open-source technologies such as Kubernetes to enable wide adoption. Common technology is the key to any industrial revolution. If factories had scarce access to electricity or, later to computers, those revolutions would have faltered.
Fortunately, the Cloud Native Computing Foundation (CNCF) has taken a leadership role in defining open-source tools critical to the adoption of Kubernetes and declarative operations. Communities are important. It’s not always a matter of designing the best tool; it’s sometimes ensuring that everyone has access to and is using the same tools. This commonality is essential to innovation, as is the case with 5G.
5G is the perfect test case for automation
When it comes to transformative technologies, 5G is at the top of the list. From connected factory robotics and massive-scale sensor networking to automated guided vehicles and virtual reality, 5G is the very definition of a disruptive game-changer. But without automation, 5G doesn’t happen—at least not on the scale that we think of it today.
The future of 5G is defined by speed, scalability and a massive influx of new use cases and personalized services. It requires network slicing on demand, auto-scaling, self-optimizing, self-healing networks and a fail-fast philosophy. This is almost the exact opposite of how telecommunications networks operate today. Automation changes everything. It enables network services to be spun up and down rapidly with ease. It supports discovery and trials for small-market services. It enables service providers to try out new ideas without investing a lot of time and money. And, if done right, telecom operators will participate with enterprises in new ways to generate revenue in ways never before possible.
5G isn’t just a telco play, however. Enterprises stand to benefit just as much, if not more, from 5G. The Industrial Internet of Things is a prime example. The ability to connect intelligent devices in new ways sets the stage for everything from self-driving vehicles to fully automated factories. Automation also elevates the role of the worker. In an automated factory, human beings become the managers of quality control and efficiency. As declarative operations replace imperative operations, humans focus more on planning and design, rather than on repetitive instructions.
Automation isn’t an end, it’s a beginning
Automation is a self-fulfilling prophecy. The more one automates, the more opportunities arise to automate processes further. In one sense, automation takes businesses from a micro view of processes to a macro view of their entire operations. In another and different sense, it takes businesses from a traditional macro view of broad market opportunities to a micro view of more personalized and ephemeral services.
Generations ago, we would have had another name for such a declarative solution. We would have called it a magic lamp. Like a genie, Kubernetes tries its best to make our actual state resemble our desired state. Yet as in the fables of old, we must be careful with our wishes.
Most discussions on automation pertain to sunny-day scenarios. Like autopilot on a modern airplane we can remove drudgery from common tasks. But what happens when things go wrong? Perhaps this is when automation can help us most. Often when processes break down, we turn to people and manual actions to make things right. But automation can be vitally important, particularly when it seems that the next storm is just over the horizon. Automation practices like chaos engineering are important to anticipate challenges, while Kubernetes’ resilience is essential for disaster recovery. Automation can enable mobile hospitals to be operational in minutes. It can provide a critical lifeline when scarce resources need to be brought to bear quickly for unanticipated needs.
Automation begets more automation. And declarative solutions like Kubernetes move our actual state ever closer towards our desired state. The large, complex solutions of our near-future, like 5G services, require ever more automation. Hence the irony: automation is imperative. It’s the key to our future.