Containers

Kubernetes

Julien Bisconti

Data Engineer

Google Cloud Platform icon

contact

g.dev/julien

Content

  • History
  • Containers
  • Containers demo
  • Kubernetes

demo source code:
github.com/veggiemonk/htw-demo-22

History

  • Virtual Machines
  • Capacity Planning (6 months to get new servers)
  • Compute density: “Right sizing” 📊
    • 1 server = 2 VMs (4 cores, 8GB RAM)
    • 1 server = 4 VMs (2 cores, 4GB RAM)
  • SysAdmin (Ops) 🤝 Developers = DevOps

Problems

  • Everything static/rigid
  • Scaling
  • Employee time > Machine time

Containers

data engineer toolbox

source link

kernel features

Containers

container image: zip file of app + dependencies
docker: program that runs the image
each container runs in its own namespace

DEMO

docker run -it ubuntu bash
docker ps
docker build -t tag/of/container .
docker images
docker inspect
docker run -p 8080:80 nginx

Deployment

Containers: lightweight VMs

  • 12 factor app
  • easier deploy
  • reproducible build


but ...

Deployment concerns

  • Scaling up and down
  • Redundancy
  • Scheduling / Orchestration
  • Service Discovery
  • Resiliency
  • Rolling out and back
  • Health checks
  • Secret and config

➡️ kubernetes

Kubernetes

Demo

kubernetes architecture

Kubernetes concerns

  • Logging
  • Tracing
  • Metrics
  • Dependency visualisation
  • Service identity and Auth
  • Circuit breaking
  • Traffic flow and policies
  • Failover
  • Fault injection
  • ...
  • Compute
  • Memory
  • Storage
  • Networking

What is missing ?

Security

Data breaches

  • Facebook
  • Ubiquiti
  • Solarwinds
  • MS Exchange

THANK YOU

and I'm sorry 🙏
If you had to maintain my code
I hope you learned more by maintaining it
than me by writing it

contact

https://bisconti.cloud/

@julienBisconti

Slides made with Reveal.js and hugo-reveal