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. Here, Rick Veague, Chief Technology Officer, North America, IFS, explains its increasing
popularity and the business benefits associated with Kubernetes-enabled
enterprise software and that it really can, as its name suggests, help
businesses navigate the choppy waters of cloud computing and
containerized applications.
Kubernetes is one of the most
exciting enterprise software developments in recent years. 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 on Kubernetes technology
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 - significant in terms of user
engagement and time efficiency.
Taking the fast track further
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.
Software must match business adaptability and
scalability
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.
And for the first-time 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.
CIOs can choose the deployments best for their business,
not for their software provider
Kubernetes can 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 of all deployments
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 will know, 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.
Kubernetes
marches on
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.
##
ABOUT THE
AUTHOR
Rick Veague, Chief Technology
Officer, North America, IFS
As Chief Technology Officer of IFS in North America, Rick
Veague has overall responsibility for the product and industry solutions
offered to IFS customers and partners in the United States and Canada. As a
well-respected panelist and speaker, Rick regularly speaks on IFS solutions and
IT strategies at tradeshows and industry events throughout the country.
Rick joined IFS in 1999, and has held various pre- and
post-sales positions developing, marketing and delivering high-value business
applications including ERP, SM, EAM and MRO solutions. He holds a degree in
Computer Science and Mathematics from Knox College.
https://www.linkedin.com/in/rick-veague-2494733