⚜ Staying True to Its Culture, Adidas Got 40% of Its Most Impactful Systems Running on Kubernetes in a Year ⚜
⭐ CASE STUDY : Adidas ⭐
"I call our cloud native platform the field of dreams. We built it, and we never anticipated that people would come and just love it."— DANIEL EICHTEN, SENIOR DIRECTOR OF PLATFORM ENGINEERING AT ADIDAS
🔰 What is Kubernetes ??
>> Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation. It aims to provide a “platform for automating deployment, scaling, and operations of application containers across clusters of hosts”. It works with a range of container tools and runs containers in a cluster, often with images built using Docker. Kubernetes originally interfaced with the Docker runtime through a “Dockershim”; however, the shim as since been deprecated in favor of directly interfacing with containerd or another CRI-compliant runtime.
Many cloud services offer a Kubernetes-based platform or infrastructure as a service (PaaS or IaaS) on which Kubernetes can be deployed as a platform-providing service. Many vendors also provide their own branded Kubernetes distributions.
🔰 KUBERNETES ARCHITECTURE :
Kubernetes defines a set of building blocks (“primitives”), which collectively provide mechanisms that deploy, maintain, and scale applications based on CPU, memory or custom metrics. Kubernetes is loosely coupled and extensible to meet different workloads. This extensibility is provided in large part by the Kubernetes API, which is used by internal components as well as extensions and containers that run on Kubernetes. The platform exerts its control over compute and storage resources by defining resources as Objects, which can then be managed as such. Kubernetes follows the primary/replica architecture. The components of Kubernetes can be divided into those that manage an individual node and those that are part of the control plane.
🔰 ADIDAS :
Adidas is a German multinational corporation, founded and headquartered in Herzogenaurach , Germany, that designs and manufactures shoes, clothing and accessories. It is the largest sportswear manufacturer in Europe, and the second largest in the world, after Nike. It is the holding company for the Adidas Group, which consists of the Reebok sportswear company, 8.33% of the German football club Bayern Munchen, and Runtastic, an Austrian fitness technology company.
"For me, Kubernetes is a platform made by engineers for engineers. It's relieving the development team from tasks that they don't want to do, but at the same time giving the visibility of what is behind the curtain, so they can also control it."— FERNANDO CORNAGO, SENIOR DIRECTOR OF PLATFORM ENGINEERING AT ADIDAS
🔰 Adidas runs its e-commerce platform on Kubernetes 🔰
Retail giant Adidas is using a cloud native architecture, underpinned by the CNCF driven Kubernetes system, to support its front-end e-commerce platform, which is now being used at scale for massive events such as Cyber Monday and Christmas.
Daniel Eichten, platform engineer at Adidas, was speaking at KubeCon + CloudNativeCon this week in Copenhagen, where he was joined by Oliver Thylmann, CCO of Giant Swarm, an agency that specialises in Kubernetes deployments in the enterprise. Thylmann and Giant Swarm have been helping Adidas on its journey.
For those unaware, a cloud native architecture is defined as one that relies on containers, distributed management and orchestration, and the use of micro-services — all of which are specifically designed for cloud environments. It’s the next level of abstraction up from virtualisation and allows for greater utilisation, lower costs and better portability.
The open source technologies that underpin such an architecture — largely driven by the Kubernetes focused CNCF — are growing hugely in popularity and have seen rapid adoption amongst buyers over the past three years.
Fast forward to July 2015 and Eichten attended his first KubeCon conference in Portland, where seeing what Kubernetes could do first hand was convinced that this was something that Adidas needed in its organisation. However, his enthusiasm wasn’t well received back at HQ.
I went back a week later and said we have to do this, but I learnt our big corporate was like a shipping container, it doesn’t move direction that easily. So my idea was killed. But later that year we got a new CIO.
It was at this point that Eichten was allowed to pursue Kubernetes, as the new CIO was keen to try new things often and wasn’t afraid of failure. It was at this point that Eichten also met Thylmann and the Giant Swarm team.
We met them at the right time and decided to set up a two day work shop, to try to understand what the current challenges are and think about what we can move first. And that’s what we did.
We try to take a step back and really think about what the first project might be and what might be easily attainable.
We normally start with a playground cluster, because it allows us to let the company play. We open a Slack channel together. We have very direct interactions — I think there are 60 people currently in the Adidas Slack Channel. Really assess how we adapt the platform to fit their needs.
For one thing, “everybody who can touch a line of code” has spent one full week onboarding and learning the platform with members of the 35-person platform engineering team, says Cornago. “We try to spend 50% of our time sitting with the teams, because this is the only way to understand how our platform is being used. And this is how the teams will feel safe that there is someone on the other side of the wall, also feeling the pain.”
Additionally, Cornago and Eichten took advantage of the fact that as a fashion athletic wear brand, adidas has sports and competition in its DNA. “Top-down mandates don’t work at adidas, but gamification works,” says Cornago. “So this year we had a DevOps Cup competition. Every team created new technical capabilities and had a hypothesis of how this affected business value. We announced the winner at a big internal tech summit with more than 600 people. It’s been really, really useful for the teams.”
Just six months after the project began, 100% of the adidas e-commerce site was running on Kubernetes. Load time for the e-commerce site was reduced by half. Releases went from every 4–6 weeks to 3–4 times a day. With 4,000 pods, 200 nodes, and 80,000 builds per month, adidas is now running 40% of its most critical, impactful systems on its cloud native platform.
"There is no competitive edge over our competitors like Puma or Nike in running and operating a Kubernetes cluster. Our competitive edge is that we teach our internal engineers how to build cool e-comm stores that are fast, that are resilient, that are running perfectly."— DANIEL EICHTEN, SENIOR DIRECTOR OF PLATFORM ENGINEERING AT ADIDAS