Kubernetes has emerged as the defacto standard in enabling IT to build out digital architectures to deliver on their business goals, and it is now a “must have” for whatever your organization’s level of digital maturity is. In this article, Vamsi Chemitiganti talks about the five fundamental business capabilities that Kubernetes can drive in the enterprise.
This article originally appeared on JaxEnter
Software is eating the world. In today’s economy, every business is a software business and every enterprise CIO is tasked with releasing applications that deliver a high quality and unified customer experience that rivals that of Amazon, Google or Netflix.
While the business benefits of software innovation are clearly understood, the IT capabilities needed to support these are more complex (high degree of customization, infinite systems capacity, seamless scalability, ironclad security, cost optimization, and more), and the most effective way to meet these challenges is still evolving, as organizations strive to become better at competing in this digital world.
Kubernetes, the open source container orchestration platform, has emerged as the defacto standard in enabling IT to build out digital architectures to deliver on their business goals, and it is now a “must have” for whatever your organization’s level of digital maturity is.
Why Cloud Native = Digital Transformation
The ability for an enterprise to become a Cloud Native (CN) or Digitally Native (DN) business implies the need to develop a host of technology capabilities and cultural practices in support of two goals. First, IT becomes aligned with & responsive to the business. Second, IT leads the charge on inculcating a culture of constant business innovation. Given these realities, large & complex enterprises that have invested into DN capabilities often struggle to identify the highest priority areas to target across lines of business or in shared services.
With Cloud Native application development emerging as the key trend in Digital platforms, containers offer a natural choice for a variety of reasons within the development process. In a nutshell, Containers are changing the way applications are being architected, designed, developed, packaged, delivered and managed. This is the reason why Container Orchestration has become a critical “must have” – since for enterprises to be able to derive tangible business value from their digital transformation, they must be able to run large-scale containerized applications which deliver an integrated customer experience with a high level of fidelity and agility.
Kubernetes – The Digital Operating System (OS)
Containers are now unquestionably the granular unit of application development and deployment – and we see that across private and public clouds and managed service providers as well. Containers are platform independent, portable and enable enterprises to develop applications more quickly, and scale more granularly and cost-effectively, to reliably deliver consistent digital innovation to their end users.
In 2018, Kubernetes has become the de-facto standard in container orchestration across multiple cloud providers, and – in essence – is becoming the default Cloud Operating System (OS). As far as technology choices go, Kubernetes is a sure thing to bet on and one you can’t go wrong with for the next decade or two.
With its Google pedigree, Kubernetes is the only container orchestration platform that is proven at web-scale, cloud-native world.
Kubernetes Drives the Business
There are five fundamental business capabilities that Kubernetes can drive in the enterprise – be it large or small – where it is solving industry challenges:
- Provide a platform for an enterprise-wide cloud program
- Help in migrating legacy businesses and applications to a modern container cloud
- Enable Greenfield applications to go cloud-native from the start
- Realize the vision of a truly hybrid, interoperable cloud Drive a robust digital transformation initiative
- Enable your organization’s digital transformation
Let’s dig in!
1. Digital laggard enterprises launch company-wide Cloud Programs
By and large, Enterprises have begun embarking on a decade-long journey to move to a cloud technology-dominated IT landscape across both infrastructure and development. While the traditional life-cycle has always been a huge management challenge the question now is how digital and cloud technology can help create new markets and drive higher margins in established areas. Technology can do all of the above and foster new business models – by driving customer value on top of the core product.
Whatever the industry you are in, the move to a cloud will be dictated by quantitative factors – economics (such as infrastructure costs, developer/admin training/interoperability costs), return on investment (ROI), the number of years/quarters passed before breakeven, and qualitative factors – the tolerance of the business for short-term pain. The key need is for the enterprise to shorten their time to market in terms of developing agile capabilities that can disarm competition.
While the critical business drivers for each enterprise may vary, business criteria such as time to market, cost reduction, and easier manageability are usually deemed important. Within initiatives such as Cloud programs, the continuum of use cases is really very large ranging from data-intensive applications to cost reduction to making the moves to a SaaS-based model to deliver applications to consumers. Containers are emerging as the default for applications across these use cases and Kubernetes is the right choice to orchestrate these containers.
2. Migrating legacy business applications to the cloud
One of the biggest technology megatrends being witnessed is the move to a SaaS-based model for consumer services. The SaaS model has proven itself with Netflix, Uber, Airbnb in the consumer world and with Salesforce in the enterprise. The business benefits of executing a successful business platform strategy – as opposed to building siloed business applications ad nauseum – are apparent to may enterprises.
Perhaps the most famous example of an enterprise successfully executing a platform strategy is Amazon. Amazon began life as a retailer in 1994 and over time evolved into offering diverse services such as Marketplace, AWS, Prime Video, Payments etc.
Amazon’s platforms have led to an ever-increasing panoply of services, higher revenues, promoted more directed consumer interactions and higher network effects. Each of Amazon’s platforms generates its own revenue stream and many are large standalone corporations. However, the sum of these platforms is higher than the sum of the individual products & services they offer. This has, in part, led to Amazon becoming the most valuable company in the world (as of early 2018).
Enterprises have thus begun not just consuming applications via a SaaS but also delivering applications in such a manner to their own consumers. SaaS implies a move to the cloud and a way for legacy applications to behave in a cloud native manner. As cloud programs are launched, existing applications are being examined wholesale to migrate them to a cloud-native model based on microservices. In this regard, legacy applications will undergo either refactoring or re-platforming to enable them to be hosted on containers.
Kubernetes & the ecosystem around it is the natural choice to build ‘must have’ capabilities across different application components or tiers- such as scalability, common access & audit logging, automation both for provisioning, upgrades, rollbacks, billing, disaster recovery, monitoring, and a DevOps-based CI/CD pipeline and processes.
However, the chief pain point with a SaaS model is the need to own and run infrastructure at scale – which can divert from the core business purpose of an enterprise. Most companies just want a dependable vendor to do it for them, so they can focus on business applications. With Kubernetes providing fidelity and portability across environments, enterprises that standardize of Kubernetes can enjoy cloud/vendor portability as the need arise.
3. Enable Greenfield to go cloud-native
Greenfield applications are typically modern apps, that work across devices/channels and enable a single view of a consumer or transaction with regards to backend systems and related services, such as sales, marketing, call center, and more. Financial services, telco and retail are industries that are going cloud-native for all new applications. The first and foremost characteristic of a CN Architectures is the ability to dynamically support massive numbers of users, and large, distributed, development and operations teams. This requirement is even more critical when one considers that cloud computing is inherently multi-tenant in nature.
Three strategic areas of advances for Kubernetes in 2018 that make it the ideal choice for Greenfield, include:
- Playing the container factotum for a range of Greenfield architectures supporting microservices, serverless
- Refinement of Kubernetes deployments around cloud-native microservices-based architectures. These include operating in an architecture with Service Meshes, Serverless Computing & Chaos Engineering concepts
- Increased vertical industry adoption especially around private cloud and in industries such as retail, financial services and telecommunications.
4. Realize the vision of a truly Hybrid Cloud
While the major public clouds offer a panoply of services, running massive scale digital platforms on them can be suboptimal – both from a cost and a business flexibility standpoint. Both legacy and greenfield applications that benefit from a cloud-based development and delivery models would benefit from a move to a hybrid cloud strategy – a mix of the private and the public cloud resources – to optimize cost, IT utilization, and ensure agility and portability.
These applications are typically composed of microservices & serverless functions and developed using DevOps processes and tools. These processes include CI/CD pipelines, continuous deployments, and others, that are available as services offered by the different public cloud vendors. However, as applications mature and are certified for deployment, a move to the private cloud can save a LOT of cost.
Kubernetes again confers cloud independence on such applications. As long as they’re developed to leverage the common API – they will work and be portable across both cloud variants.
5. Enable your organization’s digital transformation
Digital transformation is critical to the competitiveness and survival of businesses today. The word ‘Digital’ is definitely nebulous and overloaded. Let us break it down into a few discrete requirements.
No matter which vertical your business operates in, the following capabilities are essential:
- The customer needs to be at the heart of your channel strategy, which is comprised of multiple channels
- A 100% digital engagement model is a must (i.e., no “pushing paper”)
- Your business and operations need to reflect and respond to a real-time picture of your customer’s preferences and behaviors
- Personalization and tailored products, messaging and offerings are expected by end users
- The customer journey and experience must be non-intrusive, allowing the consumer to traverse operational silos, services and devices, seamlessly
For a given platform or an application within it to be digitized implies a move to decomposing a monolithic application into groups of microservices and serverless functions. The decoupling enables these applications to be designed for reusability and access by other services (via APIs). In addition, they are designed for independent development and release cycles, to enable faster releases, as well as for independent, granular scaling- to simplify operations and reduce IT costs.
For instance, it is a very common deployment pattern for companies to provide vertical capabilities such as products as a service and analytics platforms as a service. Whether these applications are running on the public cloud (Azure or AWS) or Private Cloud (OpenStack or VMware)– the best practice is to design their services as Kubernetes-based.
The key advantage is that it is easier to use the same technology for running their on-premises version as well (rather than having to re-architect the application, have a separate product line, or compromise some of the key benefits that have led them to choose Kubernetes in the first place.)
We’ve been fortunate to be part of many digital transformations where Kubernetes has been used in a variety of interesting ways – from mobile applications and video processing to AI. While some of these companies do run their Kubernetes infrastructure on the public cloud, many large enterprises also have Kubernetes-based applications that are for internal consumption, running on internal, on-premises hardware.
Now that we’ve seen how Kubernetes can transform your business, in the next articles we’ll explore what are some best practices to deploy and manage Kubernetes for enterprise workloads- to streamline their journey to the cloud and modernizing their applications- on premises or in the cloud.