Kubernetes Stories ๐๐๐
Kubernetes is like teenage sex; many people just talk about it a lot more than they actually do it.
Presenting 10 mind-blowing stories that should help you gain real-world Kubernetes usage.
● Box’s Kubernetes Journey: An interesting case study:)
A few years ago at Box, it was taking up to six months to build a new micro-service.
Fast forward to today, it takes only a couple of days.
How did they manage to speed up?
Two key factors made it possible,
1. Kubernetes technology
2. DevOps practices
Founded in 2005, Box was a monolithic PHP application and had grown over time to millions of
lines of code. The monolithic nature of their application led to them basically building very
tightly coupled designs, and this tight coupling was coming in their way. It was resulting in
them not being able to innovate as quickly as they wanted to.
Bugs in one part of their application would require them to roll back the entire application. So
many engineers working on the same code base with millions of lines of code, bugs were not
that uncommon. It was increasingly hard to ship features or even bug fixes on time. So they
looked out for a solution and decided to go with the micro-services approach. But then they
started to face another set of problems....
That's where Kubernetes came in:)
●
A 250 Year Old Bank's Cloud-Native Kubernetes Journey:
For them, it all started with using containers in the beginning and they began to face some problems
in the initial stages since it was a bank (financial sector), they usually face more challenges with
compliance, governance and the priority was more on security. On the cloud-native landscape, as
there are many tools, it was confusing for them to choose which tool for what as they didn't want
each developer team selecting different tools and facing a catastrophic separation from others and
licensing issues.
So the need for them was to come up with some clear guidelines for developers, the best cloud
features they can consume easily before moving to a cloud-native approach to creating a uniform
way of working. They also came up with a plan of having a regulated team that previously worked on
tools and processes to share knowledge and best practices. They created a team called 'Stratus.'
The mission of this team 'Stratus' is to enable development teams to quickly deliver secure and
high-quality software by providing them with easy to use platforms, security, portability across
clouds on enterprise-level, and reusable software components.
●
How did 'Pokemon Go' able to scale so efficiently?
The answer is Kubernetes.
500+ million downloads and 20+ million daily active users. That's HUGE.
Pokemon Go engineers never thought their user base would increase exponentially surpassing the
expectations within a short time. Even the servers couldn't handle this much traffic.
The Challenge:
The horizontal scaling on one side but Pokemon Go also faced a severe challenge when it came to
vertical scaling because of the real-time activity by millions of users worldwide. Niantic was not
prepared for this.
The Solution:
The magic of containers. The application logic for the game ran on Google Container Engine (GKE)
powered by the open-source Kubernetes project.
Niantic chose GKE for its ability to orchestrate their container cluster at planetary-scale, freeing its
team to focus on deploying live changes for their players. In this way, Niantic used Google Cloud to
turn Pokรฉmon GO into a service for millions of players, continuously adapting and improving. This
got them more time to concentrate on building the game's application logic and new features rather
than worrying about the scaling part.
“Going Viral” is not always easy to predict but you can always have Kubernetes in your tech stack.
●
Shopify engineering team's journey to building their own PaaS with Kubernetes
Shopify was one of the pioneers in large-scale users of Docker in production.
They ran 100% of their production traffic in hundreds of containers. Shopify engineering team saw
the real value of containerisation and also aspired to introduce a real orchestration layer.
They started looking at orchestration solutions, and the technology behind Kubernetes fascinated
them.
It all started in 2016 where all the engineers were happy running services everywhere with a simple
stack that included Chef, Docker, AWS, and Heroku. But just like any other company that is in the
growth phase, the Shopify encountered some challenges when this Canadian e-commerce company
saw 80k+ requests per second during peak demand. Wohooo:)
Many processes were not scalable, and they needed a quick solution. The Shopify team recognized
that they needed to increase their focus on tested infrastructure, and automation that works as
expected, every time.
The Shopify engineering team believed in three principles: providing a 'paved road, 'hide complexity'
and 'self-serve.'
●
Italy's biggest traditional bank is embracing Kubernetes.
A conventional bank running its real business on such a young technology?
Are you kidding me?
Nope, I am not kidding. Italy's banking group, Intesa Sanpaolo, has made this transition.
These are banks who still run their ATM networks on 30-year-old mainframe technology and
embracing the hottest trend & tech is nearly unbelievable. Even though ING, the banking and
financial corporation changed the way the banks were seen by upgrading itself with Kubernetes and
DevOps practices very early in the game, there was still a stigma with adopting Kubernetes in the
highly regulated and controlled environments like Healthcare, Banks, etc.
The bank's engineering team came up with an initiative strategy in 2018 to throw away the old way
of thinking and started embracing the technologies like micro-services, container architecture, and
migrate from monolithic to multi-tier applications. It was transforming itself into a software
company, unbelievable.
Today the bank runs more than 3,000 applications. Of those, more than 120 are now running in
production using the new micro-services architecture, including two of the 10 most business-critical
for the bank.
●
Kubernetes success story at Pinterest
With over 250 million monthly active users and serving over 10 billion recommendations every single
day, that is huge. (The numbers might have changed now)
As they knew these numbers are going to grow day by day, they began to realise the pain of
scalability and performance issues.
Their initial strategy was to move their workload from EC2 instances to Docker containers; hence
they first moved their services to Docker to free up engineering time spent on Puppet and to have an
immutable infrastructure.
And then the next strategy was to move to Kubernetes:)
Now they can take ideas from ideation to production in a matter of minutes whereas earlier they
used to take hours or even days. They have cut down so much of overhead cost by utilising
Kubernetes and have removed a lot of manual work without making engineers worry about the
underlying infrastructure.
●
Airbnb's Kubernetes story
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).
●
The New York Times Kubernetes story
Today the majority of their customer-facing applications are running on Kubernetes.
What an amazing story:)
The biggest impact has been to speed up deployment and productivity. Legacy deployments
that took up to 45 minutes are now pushed in just a few.
It's also given developers more freedom and less bottlenecks.
The New York Times has gone from a ticket-based system for requesting resources and weekly
deploy schedules to allowing developers to push updates independently.
●
Kubernetes at Reddit
Reddit is one of the top busiest sites in the world.
Kubernetes forms the core of Reddit's internal Infrastructure.
For many years, the Reddit infrastructure team followed traditional ways of provisioning and
configuring. However, this didn't go long until they saw some huge drawbacks and failures
happening while doing the things the old way.
They moved to 'Kubernetes.'
●
Tinder’s Kubernetes story:
Due to high traffic volume, Tinder's engineering team faced challenges of scale and stability. What
did they do? Kubernetes.' Yes, the answer is Kubernetes.
Tinder's engineering team solved interesting challenges to migrate 200 services and run a
Kubernetes cluster at scale totalling 1,000 nodes, 15,000 pods, and 48,000 running containers.
Was that easy? No ways. However, they had to do it for the smooth business operations going
further.
One of their Engineering leaders said, "As we on-boarded more and more services to Kubernetes,
we found ourselves running a DNS service that was answering 250,000 requests per second."
Fantastic culture, Tinder’s entire engineering organisation now has knowledge and experience on
how to containerise and deploy their applications on Kubernetes.
●
Try This Simple 5-Step Kubernetes CI/CD Process
Step 1. Develop your micro-service. This can be a .war or .jar file.
Step 2. Create a Docker Framework using Tomcat and Java-8 on Ubuntu as a base image.
Step 3. Create the Docker image for the micro-service by adding the .war/.jar file to the Docker
Framework.
Step 4. Create a Helm chart for the micro-service.
Step 5. Deploy the micro-service to the Kubernetes cluster using the Helm Chart.
Try: http://bit.ly/CICDPROCESS
Thanks:) :) :)