Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A year of GitOps at loveholidays - Dmitri Lerko

29 views

Published on

Deck for the presentation at London DevOps on 4th of July 2019 (https://www.meetup.com/London-DevOps/events/262283493/)

Published in: Software
  • Be the first to comment

  • Be the first to like this

A year of GitOps at loveholidays - Dmitri Lerko

  1. 1. IN PRODUCTION A YEAR OF GITOPS
  2. 2. WHAT IS CURRENTLY RUNNING IN YOUR PRODUCTION?
  3. 3. ABOUT ME ▸ Dmitri Lerko ▸ Ask questions https://www.linkedin.com/in/lerko/ ▸ I will blog about GitOps here https://deploy.live ▸ GCP, Kubernetes, AWS Certified
  4. 4. WHAT IS GITOPS? ▸ Push > Pull ▸ Definition ▸ Making changes
  5. 5. WHAT IS GITOPS? ▸ Push > Pull ▸ Definition ▸ Making changes
  6. 6. WHAT IS GITOPS? ▸ Push > Pull ▸ Definition ▸ Making changes
  7. 7. CALL OF HANDS Photo by Kaleb Nimz on Unsplash
  8. 8. BEFORE CLOUD, KUBERNETES, GITOPS ▸ Physical servers
  9. 9. BEFORE CLOUD, KUBERNETES, GITOPS ▸ Physical servers ▸ KVM VMs
  10. 10. BEFORE CLOUD, KUBERNETES, GITOPS ▸ Physical servers ▸ KVM VMs ▸ Jenkins
  11. 11. BEFORE CLOUD, KUBERNETES, GITOPS ▸ Physical servers ▸ KVM VMs ▸ Jenkins ▸ Ansible
  12. 12. CI WITH JENKINS
  13. 13. CD WITH JENKINS ▸ Also known as CIOps
  14. 14. SNOWFLAKEOPS Photo by Kalle Kortelainen on Unsplash
  15. 15. I LOVE JENKINS ▸ 42 Tabs ▸ 268 Jobs ▸ 142 Plugins
  16. 16. JENKINS UI ROCKS
  17. 17. CLOUD NATIVE ERA Photo by Samuel Zeller on Unsplash
  18. 18. CI/CD GOALS ▸ Full audit trail
  19. 19. CI/CD GOALS ▸ Full audit trail ▸ Everything as code
  20. 20. CI/CD GOALS ▸ Full audit trail ▸ Everything as code ▸ No cap on concurrency and parallelism
  21. 21. CI/CD GOALS ▸ Full audit trail ▸ Everything as code ▸ No cap on concurrency and parallelism ▸ Minimise configurational drift
  22. 22. CI/CD GOALS ▸ Full audit trail ▸ Everything as code ▸ No cap on concurrency and parallelism ▸ Minimise configurational drift ▸ Don’t give CI/CD a wildcard access to your environments
  23. 23. GITOPS IS THE ANSWER ▸ Full audit trail ▸ Everything as code ▸ No cap on concurrency and parallelism ▸ Minimise configurational drift ▸ Don’t give CI/CD a wildcard access to your environments
  24. 24. POOR MAN’S GITOPS ▸ while true ▸ git pull ▸ kubectl apply -f ▸ sleep 30
  25. 25. BETTER GITOPS https://github.com/weaveworks/flux
  26. 26. CLOUD NATIVE CI ▸ Google Cloud Build
  27. 27. CLOUD NATIVE CI ▸ Google Cloud Build ▸ Minimalistic
  28. 28. CLOUD NATIVE CI ▸ Google Cloud Build ▸ Minimalistic ▸ Unlimited parallel builds
  29. 29. CLOUD NATIVE CI ▸ Google Cloud Build ▸ Minimalistic ▸ Unlimited parallel builds ▸ Declarative
  30. 30. CLOUD NATIVE CI ▸ Google Cloud Build ▸ Minimalistic ▸ Unlimited parallel builds ▸ Declarative
  31. 31. CLOUD NATIVE CI - IN THEORY
  32. 32. CLOUD NATIVE CI - IN PRACTICE
  33. 33. GITOPS BUILD STEP ▸ Use git, hub (GitHub’s CLI), yq (jq for YAML) ▸ Check out GitOps repo with git ▸ Make a branch ▸ Update image version using yq ▸ Commit changes ▸ Push branch ▸ Create a PR with hub https://github.com/github/hub/releases/ https://github.com/mikefarah/yq/releases/
  34. 34. CLOUD NATIVE CD
  35. 35. GITOPS IS THE ANSWER ▸ Full audit trail ▸ Everything as code ▸ No cap on concurrency and parallelism ▸ Minimise configurational drift ▸ Don’t give CI/CD a wildcard access to your environments
  36. 36. WHY BOTHER? ▸ Best practices
  37. 37. WHY BOTHER? ▸ Best practices ▸ Developer friendly
  38. 38. WHY BOTHER? ▸ Best practices ▸ Developer friendly ▸ Quick to try
  39. 39. ANY DOWNSIDES? ▸ The incident
  40. 40. ANY DOWNSIDES? ▸ The incident ▸ Broken YAML manifests upset GitOps
  41. 41. LOVEHOLIDAYS + GITOPS ▸ 11,190
  42. 42. LOVEHOLIDAYS + GITOPS ▸ 11,190 ▸ GitHub vs kubectl
  43. 43. FUTURE OF GITOPS AT LOVEHOLIDAYS ▸ Istio for canary and continuous deployments
  44. 44. FUTURE OF GITOPS AT LOVEHOLIDAYS ▸ Istio for canary and continuous deployments ▸ Roll-out https://github.com/weaveworks/kubediff
  45. 45. FUTURE OF GITOPS AT LOVEHOLIDAYS ▸ Istio for canary and continuous deployments ▸ Roll-out https://github.com/weaveworks/kubediff ▸ Teach kubediff how to self-heal violations
  46. 46. HOW TO START https://github.com/weaveworks/flux https://www.weave.works/blog/gitops-is-cloud-native alternatives: https://argoproj.github.io/argo-cd/ https://razee.io
  47. 47. WE ARE HIRING CAREERS.LOVEHOLIDAYS.COM QUESTIONS?

×