Kubernetes technology is complex, but it’s worth taking time to understand given its potential to help automate application deployment, quicken scalability, tighten security and add value to cloud-based software systems. The open-source technology facilitates containerization—a ‘must have’ approach to cloud computing that makes it easier to configure systems, increases reliability, allows for quicker software deployment and improves the efficient use of compute resources.
Gartner has predicted that, by 2023, 70 percent of global organizations will be running more than two containerized applications—up from just 20 percent in 2019. And that puts Kubernetes front and center for enterprise software development. As a way to orchestrate deployment, scaling and management of containerized applications, Kubernetes offers real advantages over the other methods of provisioning software such as virtual machines.
When Kubernetes is integrated as part of the enterprise technology stack, it opens the door to essential new productivity and profit margin gains.
Lifting the Lid
In a recent VMware study, 95 percent of participants realized benefits from Kubernetes, including 56 percent who said they saw improved resource utilization. This means reduced spend on the private or public cloud compute resources that typically house enterprise applications. Another 33 percent of respondents said Kubernetes delivered lower public cloud costs. But how?
Let’s look at one of the most common ways of provisioning software – virtual machines. Each virtual machine will include a copy of the software it provisions, a guest operating system, and a hypervisor to allocate computing resources across different operating systems and applications. All of these different components consume system resources. And virtual machines are relatively static, inasmuch as it is hard to move them back and forth between on-premise servers, private clouds or the public cloud.
A containerized software application runs on an external operating system, eliminating the amount of compute resources necessary to run the multiple guest operating systems. In many situations a company may be able to run multiple containerized applications on the server resources that previously could only accommodate one application. The container has central tools to manage how applications use server resources, which, along with the fact that there are no longer multiple operating systems to manage, reduces administrative overhead.
And here’s the icing on the cake—containerized applications with Kubernetes also start up faster than those on a virtual machine – milliseconds rather than minutes.
Taking the Fast Track
According to the VMware study, 53 percent of respondents said Kubernetes enabled faster software development cycles. If Kubernetes is embedded in an enterprise software platform, providers can quicken the pace of bringing new software features and capabilities to market and into the hands of customers. In turn, businesses can themselves quickly adapt to changes in the market and regulatory environment, and even turn that agility into a competitive advantage, beating rivals to market, or course correcting faster than they can.
But enterprise IT experts also value the fact that Kubernetes enables rapid scaling of a network. This is essential because, as we have seen in 2020, business is becoming less predictable, and rapid changes in demand for products or services can often be limited by finite compute resources from enterprise architecture that cannot scale quickly enough. This can equate to lost business, a poor customer experience or even business failure.
Now more than ever, businesses are having to constantly change or reset processes and requirements. Gone are the days when a company could roll out ERP or other enterprise technology and “set it and forget it” for years. Now, acquired divisions, changing customer demands, dynamic go-to-market strategies and the introduction of disruptive technologies such as the internet of things (IoT), artificial intelligence (AI) and augmented/virtual reality (ARVR), all mean the enterprise stack must be updated on an increasingly regular basis.
Cloud Becomes a Business Choice
Meanwhile, the inexorable move of business systems to the cloud goes on. In 2019, IFS conducted a study of 600 business decision makers from around the world to gauge cloud migration progress and strategies. When we compared that data with data from a similar IFS study in 2012, the percentage of companies now relying on various forms of cloud enterprise software provisioning almost doubled, while the percentage of companies with on-premise solutions almost halved.
But in a cloud-first environment, executives still recognize certain scenarios favor on-premise deployment or even need to be moved back and forth between public cloud, private cloud or on-premise. Or, an on-premise or private cloud application may need to seamlessly make use of compute resources in a public cloud to handle peak or hockey stick demand. Applications built with Kubernetes just make this easier.
Kubernetes can also help orchestrate containerization in a multitude of environments, including hosting software on a vendor’s cloud, self-hosting by a business, or in a hybrid environment where the core application stack is self-hosted, but several of the application services are accessed as cloud services run by the software vendor. The hybrid option allows businesses to offload some of the deployment complexity.
This means functions that might be better held closed, rather than placed in a public or even private cloud due to regulatory or practical considerations, can be run on-premise or wherever is most practical for the customer. That instance of software can be augmented by services from the software vendor ranging from reporting, optimization engines, cognitive services and more.
Courtesy of Kubernetes, different parts of the application can be run from separate servers – on premise, private cloud, public cloud – all depending on what makes sense to the end-user.
Security Has To Be in the DNA
To ensure key security provisions are respected as things change, Kubernetes must be used in the software stack as a container orchestration tool. Why? Because one benefit of containerization is the ability to quickly move new software into production, enabling rapid change and digital transformation.
But as every CIO knows, with every new deployment, security issues immediately raise their cyber heads. Which external device or system is authorized to access the software? Which users are enabled to view and interact with which data? Which roles in the organization have which access permissions?
All these rules and policies must be enforced as the application changes. This degree of management is easier if security is addressed early in the software development process—which means there are security benefits if Kubernetes and containerization are delivered as part of a packaged software application.
The most advanced enterprise software applications will increasingly own the Kubernetes container orchestration process in ways that automatically respects the security and permissions reflected in the application as a whole. Enterprise applications will deliver the software services in the form of Docker containers, orchestrated by Kubernetes. This will provide the scaling benefits of having regional Kubernetes clusters serve multiple customers, and the software vendor will ensure the application retains full separation and privacy of customers’ solutions through use of customer-specific Kubernetes namespaces, network separation, encryption, and database instances.
Enterprise software vendors not intent on selling their own proprietary technology can make use of packaged Kubernetes environments such as Microsoft Azure Kubernetes Service in their technology stack.
As enterprise software becomes more and more cloud native and businesses are having to change their processes on a regular basis, Kubernetes-enabled enterprise software is making more and more sense. Those members of the C-suite responsible for future-proofing business operations should not ignore the potential of Kubernetes as a tool to make sure their software infrastructure and their business is scalable, secure and flexible enough to adapt to any market changes or new opportunities—now and into the future.