SlideShare ist ein Scribd-Unternehmen logo
1 von 65
FERNANDO FREIRE
Tech Lead
@nano_freire #EvolutionTW #ThoughtWorks
JAMES GREGORY
Tech Lead
@jagregory
Pets ➜ Cattle ➜ Steak
A story of the commoditisation of Cloud Compute
Pets ➜ Cattle ➜ Salad
A story of the commoditisation of Cloud Compute
JAMES AND
FERNANDO
4
©ThoughtWorks 2018 Commercial in Confidence
Anything we say may be outdated by the time we end this presentation.
No animals were harmed in the making of or lead up to this presentation
This talk is k8s heavy
5
MOTIVATION
THE 3 WAYS
PETS
CATTLE
IAAS
PAAS
SALAD
KUBERNETES 101
HIGH-LEVEL PRIMITIVES
CONTAINERS
PODS
DEPLOYMENTS
SERVICES
HOW DO YOU
DEPLOY AN API?
PETS
PETS
CATTLE
SALAD
METADATA
METADATA
your-container kube-api
Hi Kube API, how are you?
Got Stuff?
METADATA
your-container kube-api
Hi Kube API, how are you?
Got Stuff?
HELLO FRIEND.
GOT 2 SERVICES.
NGINX
PROXY
KUBE
LEGO
LOG
AGGREGATIO
N
HOW DO YOU
GET LOGS?
PETS
CATTLE
SALAD
DAEMONSETs
DAEMONSETs
fluentd
Pod
fluentd
Pod
fluentd
Pod
DAEMONSETs
LOGS
fluentd
Pod
LOG
AGGREGATOR
WE LOVE SALAD
POINTS OF FAILURE
tiller
Pod
fluentd
Pod
nginx
Pod
statsd
Pod
jenkins
Pod
fluentd
Pod
lego
Pod
type: Deployment
spec:
replicas: 2
selector:
app: nginx-ingress
POINTS OF FAILURE
tiller
Pod
fluentd
Pod
nginx
Pod
statsd
Pod
jenkins
Pod
fluentd
Pod
lego
Pod
nginx
Pod
type: Deployment
spec:
replicas: 2
selector:
app: nginx-ingress
affinity:
podAntiAffinity:
app: nginx-ingress
POINTS OF FAILURE
tiller
Pod
fluentd
Pod
nginx
Pod
statsd
Pod
jenkins
Pod
fluentd
Pod
lego
Pod
nginx
Pod
Lots of moving parts.
No one definition of
the whole system.
COMPLEXITY
48
49
DEV TEAMKUBERNETES PEOPLE
RE-CENTRALISING OPS
50
DEV TEAMKUBERNETES PEOPLE
RE-CENTRALISING OPS
51
DEV TEAMDBAS
RE-CENTRALISING OPS
52
DEV TEAMXML WRANGLERS
RE-CENTRALISING OPS
DEVOPS
53
DEV TEAM DEV TEAM
HOW DO YOU
GET STARTED?
USE A MANAGED SERVICE
AKS
Azure Container Service
GKE
Google Kubernetes Engine
EKS
Amazon Elastic Container Service for Kubernetes
PLAY IN A SANDBOX
OUR REAL SANDBOX
CONCLUSION
METADATA is our FRIEND, and so is the ECOSYSTEM
60
AGGREGATE SHARED CONCERNS
61
Keep your CLUSTER CONTAINED
62
RESIST CENTRALISATION
Grill beautiful steaks
THANK YOU
Fernando Freire
ffreire@ThoughtWorks.com
James Gregory
jgregor@ThoughtWorks.com
64
RESOURCES
● https://kubernetes.io/docs/tutorials/
● https://cloud.google.com/kubernetes-engine/kubernetes-comic/
● @krisnova
● @jessfraz
● @thockin
● @kelseyhightower
● @mipsytipsy

Weitere ähnliche Inhalte

Mehr von Thoughtworks

Mehr von Thoughtworks (20)

Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 
Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?Do No Harm: Do Technologists Need a Code of Ethics?
Do No Harm: Do Technologists Need a Code of Ethics?
 
Machine Learning for Product Managers
Machine Learning for Product ManagersMachine Learning for Product Managers
Machine Learning for Product Managers
 
Making best-in-class security ubiquitous - Why security is no longer just an ...
Making best-in-class security ubiquitous - Why security is no longer just an ...Making best-in-class security ubiquitous - Why security is no longer just an ...
Making best-in-class security ubiquitous - Why security is no longer just an ...
 
Security by default - Building continuous cyber-resilience.
Security by default - Building continuous cyber-resilience.Security by default - Building continuous cyber-resilience.
Security by default - Building continuous cyber-resilience.
 
How to tell secrets
How to tell secretsHow to tell secrets
How to tell secrets
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine Learning
 
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
Alice has a Blue Car: Beginning the Conversation Around Ethically Aware Decis...
 
The layperson's guide to software architecture
The layperson's guide to software architectureThe layperson's guide to software architecture
The layperson's guide to software architecture
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

James Gregory & Fernando Freire- Pets ~> Cattle ~> Steak: A Story of the Commoditisation of Cloud Compute (Evolution)

Hinweis der Redaktion

  1. These are our opinions based on our experience, we are consultants, so if you hire us we will probably be expressing these opinions.
  2. This is a pivot point in the industry We don’t think we all get it yet: we’re still thinking about servers We’ve had some experiences that are worth sharing
  3. http://www.acreditanisso.com.br/wp-content/uploads/2015/11/vaca9.jpg nano talks about physical servers and star wars and uptime racers
  4. Uptime racers story, 3 years without rebooting the server james: 3 years without security patches? overspecing, possibly black friday example
  5. NOT supposed to name Not suppose to keep them around Scale up and down 2 ways for cattle
  6. IAAS - too low level, have to to everything myself Story: general first experience of what autoscaling was like
  7. Too specific Gets expensive
  8. CONTAINERS! ALL we want is SALAD! pack everything together, run instantly, modular, portable, reproducible and scalable Smaller, faster, repeatable
  9. Docker called it “swarm” for a reason… lots of little things that are hard to control james goes into the docker host story, talking about how all of us played with this and immediately out grew the single host, and orchestration became a problem
  10. https://portworx.com/use-case/kubernetes-storage/ - image
  11. Remember the bees? Kubernetes gives us order and structure It’s about taking all our containers, and scheduling and distributing them across our servers
  12. James talks about high level abstractions, descriptive language, pods nano talks about services and deployments, how that gives an abstraction for things we use to do by hand (blue/green, zero downtime...) Like language abstractions and patterns
  13. you order a server, you name it, you compile the kernel, you wait a bunch of months, you click on a domain register to setup your DNS, you order a certificate with goDaddy, there are not enough characters in the star wars universe to run netflix
  14. This is your alerting system
  15. you write a bunch of ansible, you have some terraform. you have route53 on your terraform with your domains you get certs from your cert issuer (waiting months for internal certs from enterprise), link them in your scripts you bake some AMIs with your ansible and you app
  16. Not physically, but virtually putting things together, so many things to do still
  17. CONTAINERS!
  18. CONTAINERS!
  19. Developers are creative, it’s all containers anyway.
  20. Developers are creative, it’s all containers anyway.
  21. Mind blown story
  22. you ssh into your servers and tail the logs you forget passwords to some servers you need to physically be in the building to access the internal network
  23. That one time I forgot to logrotate ssh multiplexing
  24. you add log forwarding configuration to your ansible you need to make sure it's running
  25. One of your servers out of many is not shipping it Some apps are not shipping config drift, deployment staleness
  26. CONTAINERS!
  27. There are nodes that run all of our pods/services/deployments
  28. A daemon set runs on all (or selected) nodes
  29. Containers log to STDOUT Container hosts have access to logs on STDOUT Another container listens to host logs and forwards them to you log aggregator of choice Story about moving log aggregator service without impacting any of the teams
  30. So we walk into work one day and the CI is down What could be happening?
  31. only one nginx running on an overloaded node
  32. Ok, so we scale up, amazing!
  33. Still down, what did we get wrong?
  34. We have them running on the same node, the node goes down it’s all over
  35. So we make them run on separate nodes using affinities
  36. Now they’re distributed properly
  37. https://appdevelopermagazine.com/5680/2017/11/16/the-kubernetes-list-of-certified-providers/
  38. Who manages all this? Isn’t it becoming more specialised? Are developers realistically expected to know all of this? SRE, roaming specialists, secondments.
  39. Who manages all this? Isn’t it becoming more specialised? Are developers realistically expected to know all of this? SRE, roaming specialists, secondments.
  40. Who manages all this? Isn’t it becoming more specialised? Are developers realistically expected to know all of this? SRE, roaming specialists, secondments.
  41. Who manages all this? Isn’t it becoming more specialised? Are developers realistically expected to know all of this? SRE, roaming specialists, secondments.
  42. the good patterns of the industry still apply there’s no reason clusters should be shared
  43. While you’re mastering what’s the difference between ReplicaSets, StatefulSets, DaemonSets, Deployments etc, use a managed service for looking after your cluster.
  44. We’re all learning. This is all new. Play somewhere safe.
  45. Create a cluster, peer it with a real system, and run something non-production on it. Monitoring, alerting, logging, CI workers, etc...
  46. ecosystem, new creative ways to compose solutions
  47. keep things that change together close, and change apart separate
  48. there is still infra there
  49. The lessons summarised
  50. This is the future, or actually the present. We are at a time where we can make our salad exactly how we like it, on demand It presents complexities, but as we have seen a huge amount of benefit to make our systems and organisations more resilient.
  51. Some links and stuff for people to get started