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

Next Level DevOps Implementation with GitOps

A9bdde44f333e64911876b9c20adbd4c?s=47 invaleed
November 21, 2021

Next Level DevOps Implementation with GitOps

Gnome Asia Summit 2021- Online - Malaysia

A9bdde44f333e64911876b9c20adbd4c?s=128

invaleed

November 21, 2021
Tweet

More Decks by invaleed

Other Decks in Technology

Transcript

  1. GNOME ASIA SUMMIT 2021 Next Level DevOps Implementation with GitOps

    Ramadoni Ashudi ramadoni.ashudi@gmail.com 20-21 November 2021
  2. Hello! I’m Ramadoni ➔ IT Infra & Cloud Automation at

    Commonwealth Bank Indonesia ➔ Student of Magister Informatics Engineering at Universitas AMIKOM Yogyakarta https://github.com/invaleed
  3. 1 Agenda ➔ What is DevOps? ➔ What is GitOps?

    ➔ GitOps Principals ➔ How GitOps Works? ➔ Advantage of GitOps ➔ Best Practices of GitOps ➔ GitOps Tools ➔ Demo
  4. What is DevOps? DevOps is the combination of cultural philosophies,

    practices, and tools that increases an organization’s ability to deliver applications and services at high velocity https://aws.amazon.com/devops/what-is-devops/
  5. Process Culture & MIndset Productivity Efficiency Continuous Integration Continuous Delivery

    Microservices Monitoring & Logging Etc… Bitbucket Jenkins Docker Kubernetes ELK Jira & Confluence Etc… People Tools
  6. Basic Concepts of DevOps Practices Manual Automatic 1 2 3

    Result Result
  7. What is GitOps? GitOps is a way of implementing Continuous

    Deployment for cloud native applications. https://www.gitops.tech/#what-is-gitops
  8. What is GitOps? GitOps: versioned CI/CD on top of declarative

    infrastructure. - Kelsey Hightower -
  9. What is GitOps? Set of practices to manage infrastructure and

    application deployment using Git as a single source of truth with declarative model
  10. 1 GitOps Principles ➔ Describe the entire system declaratively ➔

    The desired system state is versioned in Git ➔ Automatically apply approved changes to the system ➔ Ensure correctness and alert on divergence with software agents Source: https://www.weave.works
  11. Declarative 1 Imperative

  12. Set “annotation” Set “replicas” Set “image” nginx-deployment.yml

  13. How GitOps Works? ➔ GitOps architecture enables developers to manage

    infrastructure operations using Git as the only source of truth. ➔ Gitops uses the operator as a deployment synchronizer that will always compare the desired state and the actual state.
  14. DevOps CI/CD Pipeline

  15. GitOps Workflow Actual State Desired State Operator Ensure Actual State

    == Desired state
  16. Advantages of GitOps ➔ Faster Time to Market ➔ Improve

    Security ➔ More Reliable ➔ Improved Developer Experience ➔ Auditable ➔ Standardized Operations across the Infrastructure
  17. GitOps Best Practices ➔ Split Repo: One For App Repository,

    Another For Environment/Config Repository ➔ Test the Manifests Before Commit ➔ Git Manifests Should Not Change Due To External Changes ➔ Plan How to Manage Secrets
  18. GitOps Tools ➔ Flux CD - https://fluxcd.io ➔ Argo CD

    - https://argoproj.github.io/cd ➔ Jenkins X - https://jenkins-x.io
  19. Demo ➔ Code Repository: Github ➔ CI Server: Jenkins ➔

    Container Repository: Docker Hub ➔ GitOps Operator: Argo CD ➔ Configuration Manager for K8s: Kustomize ➔ Platfrorm Deployment: Kubernetes Vanilla
  20. None
  21. Thank you!