KubeCon + CloudNativeCon North America 2018

Abstracting Heavy Lifting How K8s Speeds Up Multi Cloud Solution Delivery

1. Abstracting Heavy Lifting: How Kubernetes Speeds Up Multi-Cloud Delivery Rob Zuber CTO, CircleCI @z00b 1
2. 300k developers 12+ million builds/month 25k+ organizations 2
3. 7 Years Earlier.... 3
4. The Monolith "Cloud" 4
5. The Monolith The Monolith "Cloud" "Server" 5
6. 6
7. api workflows output permissions identities auth test results builds plans charging monolith monolith monolith monolith monolith 7
8. 8
9. "Now we've got 2 problems" 9
10. "Now we've got n2 problems" 10
11. 11
12. "Dev" Developers the chasm of despair "Production" Operators 12
13. "Dev" "Production" Developers Operators 13
14. Application "Dev" "Production" Infra "Dev" "Production" 14
15. 15
16. What We've Learned 1. Understand your customer 2. Focus on your core competencies 3. Use abstractions to isolate change 4. Use abstractions to reduce complexity 16
17. Understand Your Customer 17
18. 18
19. The CircleCI Server Customer • Sophisticated development shop 19
20. The CircleCI Server Customer • Sophisticated development shop • Experienced with k8s 20
21. The CircleCI Server Customer • Sophisticated development shop • Experienced with k8s • Live upgrades > one-click 21
22. The CircleCI Server Customer • • • • Sophisticated development shop Experienced with k8s Live upgrades > one-click Operates like a multi-tenant cloud 22
23. Focus on Your Core Competencies 23
24. 24
25. Postprocessing (generic) Operation (generic) Identities & Permissions (generic) Workflow Coordination (core) Job Execution (core) Insights (supporting) Plans & Payments (generic) 25
26. But what if we zoom in another level? 26
27. JOB EXECUTION Resource Availability (generic) Environment Construction (core) Input / Output Signaling (core) Task Scheduling (generic) 27
28. OPERATION Container Orchestration (generic) Upgrade (core) Observability (generic) 28
29. Use Abstractions to Isolate Change 29
30. 30
31. Infrastructure HTTP API API Adapter Storage Adapter Domain Driving Adapters Rabbit MQ Application Event Adapter Postgres Driven Adapters Storage Adapter Mongo 31
32. Postgres Kubernetes 32
33. Postgres Kubernetes jclouds go-cloud 33
34. Storage Adapter Deployment Adapter Scaling Adapter Scaling Adapter Postgres Kubernetes jclouds go-cloud 34
35. Infrastructure HTTP API API Adapter Storage Adapter Domain Driving Adapters Rabbit MQ Application Event Adapter Postgres Driven Adapters Storage Adapter Mongo 35
36. Use Abstractions to Reduce Complexity 36
37. "the greatest limitation in writing software is our ability to understand the systems we are creating" John Ousterhout, A Philosophy of Software Design 37
38. } CircleCI Replicated AWS GCP Our Application Azure 38
39. } CircleCI Our Application Kubernetes AWS GCP Azure 39
40. Recap & Takeaways 1. Understand your customer 2. Focus on your core competencies 3. Use abstractions to isolate change 4. Use abstractions to reduce complexity 40
41. Thank you. https://circleci.com/jobs 41

相关幻灯片