Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Leeds DevOps Oct '18 - Accelerating Delivery Ve...

Leeds DevOps Oct '18 - Accelerating Delivery Velocity With Kubernetes

Avatar for Si Westcott

Si Westcott

October 23, 2018

More Decks by Si Westcott

Other Decks in Technology

Transcript

  1. Bet UK 2015 2018 3 Software Engineering Squads 15 Software

    Engineering Squads 1 DevOps Squad 0 DevOps Squads Monolith Monolith, Microservices On-premise On-premise, AWS VMs VMs, Containers @sewestcott
  2. Growing pains Increasing complexity Unclear ownership Risky to change Release

    queues Static configuration 30% YoY growth @sewestcott
  3. Platform Engineering Outside of the squad, there should be no

    humans involved between feature and customer @sewestcott
  4. • Production pilot • Partnered with engineering squad • Managed

    monitoring, alerting, logging • Launched Summer ’17 • Prod – 8 services, more in build @sewestcott @
  5. • Partnered with engineering squad • 2 Colo DCs •

    Launched Summer ’18 • Prod – 3 services, more in build @sewestcott @
  6. Test > Staging > Prod-1 > Prod-2 The cost of

    “Hello World” Backups DNS Certificates Load Balancing Storage Firewall Operating System Servers Failover Logging Scaling Patching Alerting Monitoring SIEM IDS @sewestcott
  7. Repeatability Test > Staging > Prod-1 > Prod-2 helm install

    <chart> --namespace test --values env/test.yaml helm install <chart> --namespace staging --values env/staging.yaml helm install <chart> --namespace prod-1 --values env/prod-1.yaml helm install <chart> --namespace prod-2 --values env/prod-2.yaml @sewestcott
  8. Shifting left Integration, performance testing helm install <chart> --namespace TICKET-1

    --values env/integration.yaml helm install <chart> --namespace TICKET-2 --values env/integration.yaml helm install <chart> --namespace TICKET-3 --values env/integration.yaml helm install <chart> --namespace TICKET-4 --values env/integration.yaml @sewestcott
  9. VM VM VM VM VM Stats VM Stats Graphite Static

    workload config Separate deployment pipeline Alerting @sewestcott
  10. Prometheus Operator Orchestrates Prometheus on Kubernetes Scrape targets & rules

    defined as Kubernetes YAML Deployed with application github.com/coreos/prometheus-operator @sewestcott
  11. Squads have operational responsibility for their services ... that includes

    patching Jenkins is the go to platform Groovy libraries to interface with load balancers, run healthchecks & silence alarms Is this an effective use of engineering time? @sewestcott
  12. Kubernetes Deployments Engineering squads responsible for updating containers Managed rollouts

    and readiness/liveness probes Trust Kubernetes to handle updates @sewestcott