What C-level execs should know about Kubernetes-enabled enterprise software
source link: https://blog.ifs.com/2020/12/what-c-level-execs-should-know-about-kubernetes-enabled-enterprise-software/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
What C-level execs should know about Kubernetes-enabled enterprise software
C-level executives are probably entirely disinterested in Kubernetes as a technology. After all, other people in the organization are more focused on the specifics of how enterprise software is delivered. A technologist may present to the C suite about Kubernetes as an orchestration system that can help them automate application deployment and management while achieving scalability. But decision makers need to understand the core concepts and how they relate to the effectiveness of their software and cloud technology investments.
Kubernetes is an open-source technology that facilitates containerization—an approach to cloud computing that makes it easier to configure systems, increases reliability, allows more rapid software deployment and makes more efficient use of compute resources. When Kubernetes are introduced to the enterprise software technology stack, so enterprise resource planning (ERP) and other systems of record have Kubernetes baked in—there are gains in productivity and margin that may eclipse cost savings.
The benefits are real—that is why Gartner has predicted that 70 percent of global organizations will be running more than two containerized applications—up from just 20 percent in 2019. But social proof is not adequate for the board room–the better senior executives understand exactly how Kubernetes creates value, the better decisions they can make about core business systems including ERP that rely on Kubernetes and containerization.
The technology behind the benefits
As a way to orchestrate deployment, scaling and management of containerized applications, Kubernetes offers real advantages over the other popular methods of provisioning software—the virtual machine. A virtual machine, as the name suggests, is a virtual replica of a standalone physical computer hard drive or server. 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. 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.
One additional piece of nomenclature decision makers should understand is the difference between Docker, a company that offers Docker Runtime and other applications for containerization, and Kubernetes, which is an open-source technology. Docker’s products are generally designed to run containers on a single node or computer, while Kubernetes will enable a containerized architecture to run across a cluster of servers as is common in a cloud environment, allocating resources to the applications in each container as needed. Docker does offer a product called Docker Swarm, which like Kubernetes, is a container orchestration engine. And many application stacks that rely on Kubernetes also leverage bits of Docker’s open source technology.
Better use of hardware and easy scalability
In a 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 house your enterprise applications. Another 33 percent of respondents said Kubernetes delivered lower public cloud costs.
But enterprise IT experts also value the fact that Kubernetes enable rapid scaling of a network. That is essential because with business becoming less predictable, rapid increases in demand for products or services can suddenly come up against compute resources of enterprise architecture that cannot rapidly and seamlessly scale. That can mean lost business, a poor customer experience or even business failure. And in some anecdotal, project-driven business models like construction or engineer-to-order manufacturing, the number of users, transactions and shred documents may spike at certain times during the lifecycle of dynamic projects.
Fluid Truck Share CTO Leonaro Amigoni credits Kubernetes with enabling their rapidly-scaling, on-demand servitized business.
“Kubernetes allows us to manage our infrastructure by deploying machine-agnostic microservices that can be replicated just about anywhere,” Amigoni said. “It is an orchestration tool for containers that ensures our platform scales based upon demand. Microservices are easily scaled using a combination of load balancers and replication sets. We sought to automate our platform’s scalability by containerizing our microservices. Kubernetes was the right tool to help us manage this task.”
Faster software development and agile operations
One problem enterprise software vendors like IFS and its customers have focused on for the last 20 years is the need to facilitate changing business 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 like the internet of things (IoT), artificial intelligence (AI) and augmented/virtual reality (ARVR) mean the enterprise stack must be updated on a more rapid cadence than was the case even a few years ago.
According to the VMware study, 53 percent of respondents said Kubernetes enabled faster software development cycles. What that means is that if Kubernetes is embedded in an enterprise software platform, a company like IFS can more rapidly move software features and capabilities from concept to release to market and into the hands of customers. So customers can react more rapidly 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.
Making the enterprise cloud easier and more agile
If you are not already running your core business systems in the cloud, you likely will before long.
In 2019, IFS conducted a study of 600 business decision makers from around the world, and asked them about how they currently buy and provision their software and their attitudes about enterprise cloud. When we compared that data with data from a similar IFS study from 2012, we found that between 2012 and 2019, the percentage of companies relying on various forms of cloud enterprise software provisioning almost doubled while the percentage of companies with on-premise solutions almost halved. In 2012, 61.6 percent of respondents housed their software on premise, a figure that dropped to just 37.2 percent seven years later.
But even as cloud is now the default approach to enterprise computing, executives realize some situations favor on-premise deployment. In other situations, solutions 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 will make this easier.
Packaged systems for faster ROI
In this informative piece in Diginomica, Kirk Marko points out that while usage of Kubernetes is on an upwards trend, many companies have a hard time recruiting people with the requisite skill sets and with some new security challenges containerized applications present.
Because one benefit of containerization is the ability to quickly move new software into production, thereby enabling rapid change and digital transformation, as a container orchestration tool, Kubernetes must be used in the software stack in such a way as to ensure key security provisions are respected as things change. 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 security 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.
In his Diginomica piece, Marko quotes John Adams—”‘every problem is an opportunity in disguise.’ In this case, the challenges accompanying enterprise adoption of Kubernetes has been a boon to companies selling packaged container products that turn a DIY open source software puzzle into a pre-built, ready-to-use environment.”
The most advanced enterprise software applications will therefore, increasingly own the Kubernetes container orchestration process in ways that automatically respect 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, 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 will be free to, themselves, select packaged Kubernetes environments like Microsoft Azure Kubernetes Service, for inclusion in their technology stack.
Enterprise software vendors will want to build their application and associated technology stack in such a way that Kubernetes can orchestrate their containerized products across multiple different provisioning strategies including:
- Software as a cloud solution directly from the vendor
- Self-hosting by the customer
- A hybrid where the core application stack is self-hosted, but several of the application services are accessed as cloud services run by the software vendor, rather than co-deployed with the core stack
The hybrid option will be a good way to offload some of the deployment complexity for those who still need to self-host the core application stack. Functions that may, due to regulatory or practical considerations, be better held close rather than placed in a public or even private cloud, 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. Different parts of the application can be run from different servers—on premise, private cloud, public cloud—all depending on what makes sense to the customer courtesy of Kubernetes.
The way forward
As enterprise software becomes more and more cloud native, vendors’ ability to understand the benefits their customers want from Kubernetes-native systems and deliver those benefits in packaged, commercial products will perhaps determine which software vendor wins the hearts, minds and confidence of customers.
To learn more about what IFS is doing with Kubernetes, download our Statement of Direction document.
Do you have questions or comments?
We’d love to hear them so please leave us a message below.
Follow us on social media for the latest blog posts, industry and IFS news!
Aggregate valuable and interesting links.
Joyk means Joy of geeK