Accelerate Application Development Through GitOps

Accelerate Application Development Through GitOps

Building up on the DevOps practices, GitOps allows teams to make rapid changes to their application and infrastructure ecosystem. Salman will be sharing practices being used in order to move towards an environment where seamless changes to production ecosystem can be made from creating a pull request in Git. The talk will end with a demo of GitOps in action.

773929bfc59058bcbb5729fc9c2cc3f8?s=128

Salman Iqbal

July 30, 2018
Tweet

Transcript

  1. GitOps - High Velocity App Development Salman Iqbal @soulmaniqbal

  2. Who am I? • Lead Developer at JLT, Bristol •

    C#, Web, Python • Cloud Native Wales • Containers, k8s, Machine Learning
  3. None
  4. None
  5. How long will it to you to recover whole infrastructure?

    @soulmaniqbal
  6. Gimme more Developer Velocity

  7. Continuous Delivery Gimme more Developer Velocity

  8. Continuous Delivery Gimme more Developer Velocity Self healing

  9. Continuous Delivery Scalability Gimme more Developer Velocity Self healing

  10. Continuous Delivery Scalability Gimme more Developer Velocity 24/7 Self healing

  11. Continuous Delivery Scalability Gimme more Infra Abstraction Developer Velocity 24/7

    Self healing
  12. Savings Continuous Delivery Scalability Gimme more Infra Abstraction Developer Velocity

    24/7 Self healing
  13. GitOps – Operations by Pull Requests Alexis Richardson CEO, Weaveworks

    Source of truth for whole infrastructure
  14. Version Control EVERYTHING Code Config Monitoring Policy @soulmaniqbal

  15. GitOps Principles • Declarative provisioning • Entire system in single

    Git repo • Operational changes => Pull Requests • Alert on divergence
  16. File System OS Storage App Image Container?

  17. None
  18. “Kubernetes is an open-source system for automating deployment, scaling, and

    management of containerised applications.” - kubernetes.io
  19. Pod Pod Node Pod Pod Node Pod Pod Node MASTER

  20. Declarative Provisioning?

  21. Code, Config, CI, Containers Orchestration Sync

  22. github.com/ salmaniqbal /GitOps M N1 N2 N3 @soulmaniqbal

  23. Deployment Pipeline

  24. None
  25. None
  26. None
  27. None
  28. blog.cloudnativewales.io/bookclub/ @cloudnativewal

  29. Summary •Containers & Orchestration •Declarative Provisioning •All Change => Git

    Review •Operator => Desired State @soulmaniqbal
  30. • Talk – GitOps: Operation By Pull Request https://www.youtube.com/watch?v=BSqE2RqctNs •

    Weaveworks Blog: https://www.weave.works/blog/gitops-operations-by-pull-request • GitOps Demo by Stefan Prodan (Repo) https://t.co/fGAu6G2dMW • GitOps pipeline demo https://www.youtube.com/watch?v=M5rYTJxY5VI Want More?
  31. • State of kubernetes on Windows? If you would like

    to read about Windows server containers on kubernetes, please see this: https://kubernetes.io/docs/getting-started-guides/windows/ If you would like to run a Windows service in current Kubernetes version, please see this blog which takes you through deployment of C# Api in Kubernetes: https://blogs.msdn.microsoft.com/najib/2017/05/27/web-api-with-docker-and-kubernetes/ • How does Kubernetes help with stateful apps (databases)? People generally say no to running databases in Production. The outlook for stateful apps is getting better in kubernetes. Take a look at PersistentVolumes in Kubernetes: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ Also take a look at this blog by couchbase: https://blog.couchbase.com/databases-on-kubernetes/ • Should I run databases in docker? Yes, take a look at this: https://blog.docker.com/2017/09/microsoft-sql-on-docker-ee/. SQL docker images are available in docker hub • How does Netlify compare to other cloud providers? Netlify is great at static website hosting, if you would like further integration to your website such as database, authentication etc then aws/gcp/azure would provide more options. Questions
  32. How long will it to you to recover whole infrastructure?

  33. Thank you @soulmaniqbal

  34. Pod Pod kubelet proxy Node Pod Pod kubelet proxy Node

    Node Pool Master Scheduler Controller etcd Api