This document summarizes Lastminute.com's migration to Kubernetes and microservices over the past year to improve scalability and processes. Some key points:
- Lastminute.com is a large tech company with over 300 developers and 100 applications.
- They migrated their search product to a new infrastructure using Docker containers, Kubernetes, and a microservices architecture to address issues like long provisioning times and lack of monitoring/alerting.
- After initial successes, they encountered failures that highlighted problems with configuration, tools, and manual mistakes. Further work improved automation and deepened their Kubernetes expertise.
- Implementing a continuous delivery pipeline was a major step, allowing automated deployments from code commits to QA/
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Kubernetes and lastminute.com: our course towards better scalability and processes (Codemotion Rome 2017)
1. Kubernetes and lastminute.com group:
our course towards better scalability
and processes
michele.orsi@lastminute.com
@micheleorsi
Rome, 24-25 March 2017
3. A tech company to the core
Tech department: 300+ people
Applications: ~100
Database: 4 TB data
Servers: 1400 VMs, 300 physical machines
Locations: Chiasso, Milan, Madrid, London, Bengaluru
3
7. A lot of issues
● LONG provisioning time
● LACK OF alignment across environments
● LACK OF alignment across applications
● LACK OF awareness about ops (monitoring, alerting)
7
8. An year-long endeavour
● build a new, modern infrastructure
● migrate the search (flight/hotel) product there
... without:
● impacting the business
● throwing away our whole datacenter
8
9. Our plan
● same architecture across environments
● a common framework to align software
● centralized monitoring/logging, with alerts
● zero downtime deployment
● automation everywhere
9
10. How? Teams and peopleNew teams
https://www.pexels.com/photo/blue-lego-toy-beside-orange-and-white-lego-toy-standing-during-daytime-105822/
11. Our infrastructure and technologyOur infrastructure and technology
https://www.pexels.com/photo/colorful-toothed-wheels-171198/
20. Kubernetes: our architecture and choices
APP1-PRODUCTION
deployment
replica-set
app1.lastminute.intra
secret configmap
POD
3
POD
2
POD
1
production
20
24. Kubernetes contract
"When a container is dead I will restart it"
"When a container is ready I will forward traffic to it"
25. Kubernetes probes: liveness & readiness
Two questions:
● when can I consider my
container alive?
● when can I consider my
container ready to receive
traffic?
spec:
containers:
livenessProbe:
httpGet:
path: /liveness
readinessProbe:
httpGet:
path: /readiness
deployment.yaml
26. /liveness:
● when tomcat container is up
● when ratio active/max threads < threshold
/readiness:
● all the startup jobs have run
.. ongoing never-ending research ..
Our choices: framework - k8s
26
27. ● zero downtime during rollout
● resilience improved
● legacy infrastructure to the rescue in case of problem
2nd try (with production traffic)
27
28. ... failure ... the big one!
https://www.flickr.com/photos/ghost_of_kuji/2763674926
35. There’s light ..There’s a light .. at the end
https://www.pexels.com/photo/grayscale-photography-of-person-at-the-end-of-tunnel-211816/
36. ● lead and migration time
● resilience
● root cause analysis
● speed of deployment
● instant and easy scaling
... benefits
36
37. ● 70 physical nodes, 1300 pods, 5200 containers
● 20k req/sec in the new cluster
● 35 micro-services migrated in 6 months
● 10 minutes to create a new environment
● whole pipeline runs in 16 minutes
○ 4 minutes to release 100 instances of a new version
● 2M metrics/minute flows
Give me the numbers!
37