Mastering the Zen of Dev Experience

Kubernetes and the Art of Simplicity

Calvin Hendryx-Parker, CTO

Six Feet Up

The Cat

The Dog

Check it out 🚀

https://github.com/sixfeetup/scaf

Scaf Github Repository

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.

Let’s Peek at some YAML

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

Quick Kubernetes Primer

Nodes/Services/Deployments/Pods

Contexts and Clusters

Namespaces Are One Honking Great Idea

Kubernetes vs Docker-Compose

Kubernetes Developer Workflow

Live Demo 🤞

Resources

Find Me 😍

🐘 @calvinhp@fosstodon.org
🐦 @calvinhp