The article is originally published on ITNEXT.IO
In Kubernetes, there is a master node and multiple worker nodes, each worker node can handle multiple pods. Pods are just a bunch of containers clustered together as a working unit. You can start designing your applications using pods. Once your pods are ready, you can specify pod definitions to the master node, and how many you want to deploy. From this point, Kubernetes is in control. It takes the pods and deploys them to the worker nods.
If a worker node goes down, Kubernetes starts new pods on a functioning worker node. This makes the process of managing the containers easy and simple. It makes it easy to build and add more features and improving the application to attain higher customer satisfaction. Finally, no matter what technology you’re invested in, Kubernetes can help you.
A journey that affirms you don’t have to be too big to use Kubernetes. They started their CloudNative journey by splitting the massive monolith application into smaller microservices. To spin up these microservices, they used Ansible, Terraform, and Jenkins and to deploy these microservices as a whole unit.
Then they suddenly started to experience some of the scaling issues with Microservices. So, they didn’t get any of the microservices benefits. Hence they started looking for ways to get out of this complexity by shifting their focus from machine-oriented to application-oriented architecture. They chose Kubernetes as the abstraction layer along with AWS, not worrying about where the containers are running, and this is how they were able to manage microservices and unlocked the velocity of microservices. They also chose Kubernetes from a security perspective and to specify how the applications should run. Now they run around 80+ microservices now in production with the help of Kubernetes:)
Watch and learn how they did it in this video ‘Running Kubernetes in production at Lunar Way by Kasper Nissen.’
Airbnb’s transition from a monolithic to a microservices architecture is pretty amazing. They needed to scale continuous delivery horizontally, and the goal was to make continuous delivery available to the company’s 1000 or so engineers so they could add new services. Airbnb adopted to support over 1000 engineers concurrently configuring and deploying over 250 critical services to Kubernetes (at a frequency of about 500 deploys per day on average). I want you to see this excellent presentation from Melanie Cebula, the infrastructure engineer at Airbnb.
Daily, eBay handles 300 billion data queries & a massive amount of data that’s above 500 petabytes. eBay has to move massive amounts of data & manage the traffic, keeping in mind a smooth user experience while still ensuring a secure, stable environment that’s flexible enough to encourage innovation. In the fall of 2018, the company announced they were in the midst of a three-year plan they called “re-platforming.” eBay’s 90% of cloud technology was dependent on OpenStack, and they are in the move to ditch OpenStack altogether. eBay is “re-platforming, itself with Kubernetes, Docker, & Apache Kafka, a stream processing platform that increases data handling and decreases latency.
The goal is to improve the user experience and to promote productivity with their engineers and programmers & completely revamp its data center infrastructure. The other activities in this re-platforming include designing their own custom servers and rolling out a new, decentralized strategy for their data centers. Like Facebook & Microsoft, eBay is relying on open-sourcing to design their custom servers. Such an inspiring case study. What do you think?
Amadeus had two choices: Either pour more concrete and extend the data center or move the workload to the cloud & this made them go with Google Cloud. So within 18 months, Amadeus had lifted and shifted one of their most critical application ‘Master Pricer’ to the Google Cloud Platform.
Now you know, the next step for them was to move to Kubernetes since it made more sense with Google Cloud Platform. The aim is, they wanted to go faster with Kubernetes, and the challenge was to add a disciplinary policy of learning Kubernetes across the team. So, the team at Amadeus started learning how to operate Kubernetes and how to monitor it, do alerting. During the migration, Amadeus had engineers from both Google and Red Hat on site to help them get to grips with OpenShift and the container orchestration technology Kubernetes. The overall goal for Amadeus is to move all production workloads to run on a single operating model with Kubernetes. The company now feels it made the right bet.
They used Kubernetes into production in 2017. The aim was to bring up new applications and services to users as fast as possible and free up developers from operational tasks. After evaluating many offerings from different firms, they selected Kubernetes as they thought it aligned exactly with what they were trying to solve. One of the key aims at Bloomberg was to make better use of existing hardware investments using different features of Kubernetes. As a result, they were able to very efficiently use the hardware to the point where they could get close to 90 to 95 percent utilization rates (as per Andrey Rybka, head of the compute infrastructure team at Bloomberg) Nothing great comes easy; Kubernetes makes many things simpler only if you know how to use it. As the developers initially found it challenging to use, the teams had many training programs around Kubernetes at Bloomberg.
The critical goal for News UK was to be better able to scale up its environment around breaking news events & unpredictable reader volumes. They thought if VMs can help them, but soon they realized that VMs take long to spin up and when there is a spike of traffic, it is not fast enough to bring new capacity into the AutoScalingGroup (that’s what Marcin Cuber, a former cloud DevOps engineer at News UK has to say) They adopted Docker and Kubernetes. Docker containers running in Kubernetes are smaller and lightweight, and they can easily help to scale up or scale down as required.
Cuber also had some advice for any organization looking to adopt Docker and Kubernetes.
- make your Docker images as small as possible and to focus on running stateless applications with Kubernetes.
- run health checks for your applications and to use YAML to deploy anything News UK also wanted to cut cloud costs, so they paired EKS clusters with AWS spot instances, and they also used AWS Lambda to make this work efficiently.
This list should cover the whole damn thing on earth about Kubernetes.
The Game of PODs is a FREE fun and challenging set of challenges to be played on Kubernetes
Get hands-on experience with container orchestration
Kubernetes and containers on IBM Cloud - Free Kubernetes course by IBM Cognitive Class
A hands-on introduction to Kubernetes by the OpenShift team
Kubernetes By Example
Get familiar with the concepts of Kubernetes — A complete course
Scalable Microservices with Kubernetes
Kubernetes Webinars by Janakiram MSV
Getting Started with Google Kubernetes Engine
A curated list for excellent Kubernetes sources
Also, download this whitepaper that helps you with Kubernetes' best practices for taking your containers all the way to production.
Well, this post might also help you to enhance your DevOps learning, take a look below,
I share one story every day on my LinkedIn feed, let’s get connected on LinkedIn.