Mastering the
Zen of Dev Experience
Kubernetes and the Art of
Simplicity
Calvin Hendryx-Parker, CTO
Six Feet Up
The Cat
The Dog
Ideal Developer
Experience
- Set up in a few minutes
(
git clone && tilt up
)
- Enough resources (RAM, CPU, disk) to develop and run the
application
- Containerized (all developers run exactly the same stack)
- Continues integration and deployment for a quick feedback loop
- Automatic preview environment for PRs
- Use the same tools to debug Dev, QA, and Production
environments
“Scratch Your
Own Itch”
- Dev laptops can be underpowered (and couldn’t run large software
stacks)
- The dev environment is not set up with remote development in
mind
- Docker permission issues
- Little support for developing inside containers
- Difficulty debugging in the QA environment
Kubernetes to
the Rescue?
Kubernetes is
Declarative
- As a building plan does for construction, it requires you to
describe the desired state in what is known as a manifest.
- You are the architect, and Kubernetes is the builder.
- No manual commands are required for deployment.
- It does more! Like the maintenance man on your new home, it actively
maintains the state.
Kubernetes
Standardizes Deployment
- Use the same tools to deploy to all environments
- Application developers and DevOps engineers speak a common
language
- Easily switch from local to remote dev environment
Nodes/Services/Deployments/Pods
Contexts and Clusters
Namespaces Are One Honking Great Idea
Kubernetes
vs Docker-Compose
Kubernetes
Developer Workflow
Live Demo 🤞