Exploring the evolution of Kubernetes to manage diverse IT workloads
Kubernetes started in 2014. For next two years, the adoption of Kubernetes as container orchestration engine was slow but steady, as compared to its counterparts – Amazon ECS, Apache Mesos, Docker Swarm, GCE et al. After 2016, Kubernetes started creeping into many IT systems that have wide variety of container workloads and demand higher performance for scheduling, scaling and automation.
This is so as to enable a cloud native approach having a microservices architecture in application deployments. Leading tech giants (AWS, Alibaba, Microsoft Azure, Red Hat) have started new solutions based on Kubernetes and in 2018, they are consolidating to build a de-facto Kubernetes solution which can cover every use case that handles dynamic hyperscale workloads.
Two very recent acquisitions depict how Kubernetes has created a huge impact in IT ecosystem. One is IBM’s Red Hat and VMware’s Heptio acquisition. IBM did not shown the direct interest to target container orchestrations but had eyes on Red Hat’s Kubernetes Based Openshift.
At VMworld Europe 2018, the acquisition of Kubernetes solution firm Heptio by VMware triggered a lot of heat. This acquisition is said to have a significant impact on the data centre ecosystem where Red Hat (IBM) and Google are among the top players. Heptio’s solution will be co-integrated with VMware’s Pivotal Container Services (PKS) to make this as a de-facto Kubernetes standard which will cover maximum data centre use cases from private, multi-cloud and public cloud.
Heptio was formed by ex-Google engineers Joe Beda and Craig McLuckie back in 2016. In its 2 years Heptio captured the eyeballs of industry giants with its offerings and contribution to cloud native technologies based on Kubernetes. Also, Heptio had raised $33.5 million through two funding rounds.
So, the question is why and on which kind of use cases Kubernetes is being used or being tested to use.
Enabling automation and agility in networking with Kubernetes
Leading communication service providers (CSPs) are demonstrating 5G in selected cities. 5G networks will support a wide range of use cases with a lowest possible latency and high bandwidth network. CSPs will need to deploy network services at edge of the network where data is generated by number of digitally connected devices.
To deploy services at the edge of the network and have a control on each point of the network, CSPs will need automated orchestration on each part. What’s more, as software containers are being adopted by CSPs to deploy virtual network functions, CSPs will be leveraging cloud native approach by employing microservices based network functions and real time operations by employing CI/CD methodologies. In this scenario, Kubernetes emerged as an enterprise level container management and orchestration tool. Kubernetes brings a number of advantages in this environment.
Jason Hunt wrote in a LinkedIn post that “Kubernetes allows service providers to provision, manage, and scale applications across a cluster. It also allows them to abstract away the infrastructure resources needed by applications. In ONAP’s experience, running on top of Kubernetes, rather than virtual machines, can reduce installation time from hours or weeks to just 20 minutes.” He added that CSPs were utilising mixing of public and private clouds for running network workloads. Kubernetes works well for all types of clouds to handle workloads of any scale.
Other example of Kubernetes utilisation in telecom is the recent release of Nokia CloudBand software for NFV. With this release of CBIS 19, there is support for edge network deployments along with support for containerised workloads and integration of Kubernetes for container management along with OpenStack which will handle virtual machine as well. In the last few years, usage of containers has being discussed within NFV architecture. But this release is one of the first representations of employing containers and container management for handling network functions in NFV infrastructure.
Kubernetes and AI/machine learning
KubeFlow – Managing machine learning stacks: Moving further on managing containers, Kubernetes has evolved to the extent that it is used to manage complex workloads for machine learning applications.
Machine learning applications or systems contain several software components, tools and libraries from different vendors which are all integrated together to process information and generate output. Connecting and deploying all the components and tools require manual efforts which are tedious and takes a fair amount of time. Also, for most of the cases the hardest part is that the machine leaning models are immobile, and require re-architecture while transferring from the development environment to a highly scalable cloud cluster.
To address this concern, Kubernetes introduced open framework KubeFlow which has all machine learning stacks pre-integrated into Kubernetes which will instantiate any project easily, quickly and extensively.
KubeFlow Architecture for ML Stacks
Image source: https://www.kubeflow.org/blog/why_kubeflow/
Kubernetes for eCommerce retailer JD.com: Besides the launch of KubeFlow, one interesting application of Kubernetes for AI is JD.com, a Chinese eCommerce retailer, which is managing the world’s largest Kubernetes clusters with more than 20,000 bare metal services in several clusters across data centres in multiple regions.
In an interview with CNCF, Liu Haifeng, chief architect at JD.com, was asked about how Kubernetes is helping JD for AI or big data analytics. He disclosed: “JDOS, our customised and optimised Kubernetes supports a wide range of workloads and applications, including big data and AI. JDOS provides a unified platform for managing both physical servers and virtual machines, including containerised GPUs and delivering big data and deep learning frameworks such as Flink, Spark, Storm, and Tensor Flow as services. By co-scheduling online services and big data and AI computing tasks, we significantly improve resource utilisation and reduce IT costs.”
JD.com is declared as winner in the top end user award by CNCF for its contribution to the cloud native ecosystem.
Managing hardware resources using Kubernetes
Kubernetes can also be used to manage hardware resources like graphics processing units (GPUs) for public cloud deployments. In one of the presentations at KubeCon China this year, Hui Luo, a software engineer at VMware demonstrated how Kubernetes can be used to handle machine learning workloads in private cloud as well.
As enterprises have started embracing open source technologies in considerable manner to reduce costs, it has been observed that Kubernetes has been evolved from just a container orchestration framework to handling even more complex workloads of different types.
Even though most of the software industry has leaned towards cloud-native, dividing monolithic applications in small services which can scale, managed independently and communicate among themselves through APIs, Kubernetes has become a de facto standard to completely take care of all services residing in containers. A similar mechanism of Kubernetes has been adopted to handle NFV, machine learning, and hardware resources workloads.
Download our eBook to know more about the Kubernetes technology and industry/market insights.
The post Evolvement of Kubernetes to Manage Diverse IT Workloads appeared first on Calsoft Inc. Blog.
Interested in hearing industry leaders discuss subjects like this and sharing their experiences and use-cases? Attend the Cyber Security & Cloud Expo World Series with upcoming events in Silicon Valley, London and Amsterdam to learn more.