A presentation at Paris Container Day in in Paris, France by Paul Czarkowski
Cloud Native Operations With Kubernetes Paul Czarkowski @pczarkowski pczarkowski@pivotal.io © Copyright 2018 Pivotal Software, Inc. All rights Reserved.
Cloud Native Operations With Kubernetes Paul Czarkowski @pczarkowski pczarkowski@pivotal.io © Copyright 2018 Pivotal Software, Inc. All rights Reserved.
Operations is the Secret sauce
Operations as a Competitive Advantage
Just not Traditional Operations.
https://go.forrester.com/blogs/ceos-and-software/
The Agile/DevOps Journey
Months BUSINESS Months DEVELOPMENT Months TEST / QA Operations
Weeks BUSINESS Months DEVELOPMENT Months TEST / QA Operations
Weeks Months Operations BUSINESS DEVELOPMENT TEST / QA
Weeks BUSINESS Months DEVELOPMENT TEST / QA Operations
Weeks BUSINESS DEVELOPMENT TEST / QA Operations
https://www.sketchplanations.com/post/175174474143/conways-law-im-paraphrasing-here-but-the-gist
Hack Conway’s Law
CHANGE
Users API Storage Admin DBA Systems Admin Network Engineer Security QA
Users API Artifacts Database Storage 1 Compute Network Access 2 Creative Commons [1] Jon Trillana [2] Simon Child
Operations as a Platform
Platform as a Product
Take business requirements and turn them into features Application Team App1 Messaging Build common services for App Teams Platform Team App Platform ML ? App2 Creds/Certs App3 Middleware ELK Container Services DBaaS Container Hosts | Kubernetes ? Infrastructure Team Abstract infrastructure complexity with easy consumption IaaS Infra Services Virtual Infrastructure Physical Infrastructure ?
Orchestration and scheduling Observability CI / CD Access Control
APP APP APP APP Production
This is Cloud Native Operations
Kubernetes
Controllers
Controllers make Kubernetes great.
Desired State Actual State
Unix Philosophy: Do one thing. Do it well.
A Kubernetes pod is fragile.
The ReplicaSet Controller Adds resiliency to your Pods.
The Deployment Controller Adds upgradability to your ReplicaSets.
You can write custom controllers very easily.
Kubernetes is an API for Operations
DNS A record please Hi, we need a DNS record for bacon.example.com To point to IP 22.33.44.55. Thanks.
external-dns controller https://github.com/kubernetes-incubator/external-dns
cert-manager controller (/operator) https://github.com/jetstack/cert-manager
Operators extend Kubernetes to support custom resources
https://github.com/operator-framework/awesome-operators
Controllers and Operators turn Kubernetes Into an API for Operations
Let’s run Kubernetes
“Let somebody else Do the hard stuff” - Me
One Big Cluster or Many Smaller Clusters One [or two] Big Cluster[s] Many Smaller Clusters ● All teams co-located on cluster, “namespaces” separate them. ● Each “team” or “business unit” gets its own cluster. ● Higher chance of noisy neighbor, other multi-tenancy issues. ● Dedicated resources to each cluster reduces noisy neighbor etc. ● Better utilization of resources (less servers, higher bin-packing) ● Resources can be customized at the cluster for the specific use cases. ● Cluster Upgrades affect everyone. ● ● Large Blast radius during cluster issues / outages. Cluster Upgrades only affect one team, easier to coordinate. ● Cluster issues/outages restricted to one team. Monolithic approach to infrastructure ● Microservices approach to Infrastructure ●
One Big Cluster or Many Smaller Clusters One [or two] Big Cluster[s] Many Smaller Clusters ● Kops ● Google Container Engine ● Pivotal Container Service - Essentials ● Pivotal Container Service - Enterprise ● OpenShift ● Elastic Container Service ● Kubespray ● Azure Container Service ● DIY chef/puppet/ansible ● Pivotal Container Service - Cloud
https://k8s.af
Start with the idea of doing many smaller clusters.
One Big Cluster or Many Smaller Clusters One [or two] Big Cluster[s] Many Smaller Clusters
APP APP APP APP Production
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
APP APP APP APP
A P A P P P A P A P P P A P A P P P A P A P P P A P A P P P A P A P P P A P A P P P A P A P P P
We’ve spent 10 years figuring out how to do agile operations
Platform Operations A P A P P P Kube Env #2 Repo Helm Chart Repo A P A P P P Kube Env #1 Repo A P A P P P A P A P P P
Developer Workflow App Env Repo #1 App Source Code App Env Repo #2
DEMO TIME
Transforming How The World Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Paul will talk through how Kubernetes enables a new Cloud Native way of operating software, part devops, part SRE, all awesome! As Paul introduces the audience to the concepts of Cloud Native Operations he will put it to action and build out a cloud native CI/CD stack and show deploying and upgrading an application from source all the way to production on Kubernetes.
Here’s what was said about this presentation on social media.
[#ContainerDayFR] Paul Czarkowski @pczarkowski de @pivotal, sera présent le 4 juin prochain ! Réservez vos places dès maintenant : https://t.co/zko0r3DEqY #container #cloud pic.twitter.com/bByI2C2c2A
— Paris Container Day (@ContainerDayFR) May 18, 2019