Virtualization Technology News and Information
Why Kubernetes is the Catalyst for Multi-Cloud Adoption

Article Written by Ben Newton, Director of Product Marketing, Sumo Logic

When we talk about the challenges and benefits of running cloud-native applications on Kubernetes, we're first and foremost having a microservices discussion, and, in particular, talking about running containerized microservices at scale.

Microservices is all about making it small, making it independent and making it automatable. Containers, which are portable lightweight assets are the natural architectural platform for microservices because they are made to be disposable, atomic and repeatable. Any developer building, or rebuilding, an application in the cloud is very likely doing it with containers, because they provide an open standard for packaging and distributing microservice components.

Container technology adoption was originally slowed because it was difficult to manage and support containers at the scale needed for production environments. The very nature of container technology means that you mean have an order of magnitude more assets to manage than with server, virtual or otherwise, platforms. Orchestration platforms were the answer to that problem by abstracting away the complexity of managing thousands of containers.

Opening the K8s Floodgates

Enter Kubernetes, which is a solution for orchestrating containers that was developed at Google and then donated to the Cloud Native Computing Foundation (CNCF) as an open source project. Other popular orchestration platforms include Apache Mesos and Docker Swarm, but Kubernetes has taken the industry by storm and is the most-widely recognized standard means of orchestrating containers and deploying distributed applications in production.

Kubernetes is an extremely flexible platform - it can be run on a public cloud service or on-premises, is highly modular, open source and has a vibrant community. The speed of adoption of Kubernetes is unprecedented, and companies of all sizes are investing into it. This tsunami of support has pushed all the major public cloud providers - AWS, Microsoft Azure, and Google Cloud (GCP), of course - to fully support it, including as a fully managed service.

The bottom line is that Kubernetes has basically made containers operationally feasible at scale and opened the floodgates of adoption. And that is the key. Container technology had been previously hard to manage at scale before Google solved the problem with Kubernetes.

Multi-Cloud and K8s: A Natural Pairing

Over the past few years, there has been much debate within enterprise IT about moving critical infrastructure to the cloud, specifically, around which cloud model is the most cost effective, secure and scalable, and many have landed on a hybrid solution. The rub was that enterprises that don't want to be locked into a single cloud provider find it very difficult to develop modern applications for multiple cloud platforms.

The main difficulty is that the major cloud providers provide similar, but also distinctly different, services for the same use cases (for example, S3 on AWS versus Blob storage on Azure). The more a development leverages the benefits of the cloud provider, the more tied in they become with those underlying services. And those services are changing all the time. Even newer companies are struggling to keep up with evolving trends, and their management vendors are barely keeping up, if at all. So, the modern enterprise is trapped between the proverbial rock and a hard place of balancing the imperative to modernize and the need to avoid vendor lock in.

The breadth of adoption of containerization, including Docker and Kubernetes, has changed that equation dramatically, because you are now able to abstract away those details. In principle, a particular container should be able to run agnostically on any Kubernetes setup anywhere. This means that developers can much more easily transition workloads between AWS, Azure and GCP. It is important to understand this point. This cross-cloud-platform nature of Kubernetes, in particular, is a distinct challenge to the existing cloud order. This is particularly evidenced by the fact that AWS embraced Kubernetes almost in its original form, in contrast to their usual approach of making their own flavor of these things (for example, AWS ECS). Kubernetes adoption, even among enterprise laggards, provides an opening for Azure and GCP to challenge the AWS juggernaut.

The Takeaway?

The bottom like is that Kubernetes, and containers in general, are a natural fit for cloud environments because containers are much more portable and lightweight - and containers can run in most cloud and on-premise environments. Container-based microservices are a way to achieve a multi-cloud strategy, because they can be run across both on premise and the major cloud providers. This cross-compatibility makes containers an attractive option for reducing the risk of adopting microservices in the cloud. Things are about to get interesting...


About the Author

Ben Newton 

Ben Newton has spent the last decade and a half working in the world of IT. He is a Principal Product Manager for Sumo Logic, and he and his team are focused on a ground-breaking approach to machine data/big data analytics. Prior to Sumo Logic, Ben worked at LoudCloud and BladeLogic and he is interested in current discussions around DevOps, big data, machine data analytics, etc. because they recognize the need to address both technological and organizational challenges when moving forward.

For similar topics on Kubernetes, consider attending KubeCon + CloudNativeCon EU, May 2-4, 2018 in Copenhagen, Denmark. 
Published Wednesday, April 25, 2018 7:28 AM by David Marshall
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<April 2018>