SlideShare a Scribd company logo
GNOME ASIA SUMMIT 2021
Next Level
DevOps Implementation
with GitOps
Ramadoni Ashudi
ramadoni.ashudi@gmail.com
20-21 November 2021
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
1
Agenda
➔ What is DevOps?
➔ What is GitOps?
➔ GitOps Principals
➔ How GitOps Works?
➔ Advantage of GitOps
➔ Best Practices of GitOps
➔ GitOps Tools
➔ Demo
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/
Process
Culture & MIndset
Productivity
Efficiency
Continuous Integration
Continuous Delivery
Microservices
Monitoring & Logging
Etc…
Bitbucket
Jenkins
Docker
Kubernetes
ELK
Jira & Confluence
Etc…
People
Tools
Basic Concepts of DevOps Practices
Manual
Automatic
1
2
3
Result
Result
What is GitOps?
GitOps is a way of implementing Continuous
Deployment for cloud native applications.
https://www.gitops.tech/#what-is-gitops
What is GitOps?
GitOps: versioned CI/CD on top of declarative
infrastructure.
- Kelsey Hightower -
What is GitOps?
Set of practices to manage infrastructure and
application deployment using Git as a single source
of truth with declarative model
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
Declarative
1
Imperative
Set “annotation”
Set “replicas”
Set “image”
nginx-deployment.yml
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.
DevOps CI/CD Pipeline
GitOps Workflow
Actual State
Desired State
Operator Ensure
Actual State == Desired state
Advantages of
GitOps
➔ Faster Time to Market
➔ Improve Security
➔ More Reliable
➔ Improved Developer Experience
➔ Auditable
➔ Standardized Operations across the
Infrastructure
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
GitOps Tools ➔ Flux CD - https://fluxcd.io
➔ Argo CD - https://argoproj.github.io/cd
➔ Jenkins X - https://jenkins-x.io
Demo ➔ Code Repository: Github
➔ CI Server: Jenkins
➔ Container Repository: Docker Hub
➔ GitOps Operator: Argo CD
➔ Configuration Manager for K8s:
Kustomize
➔ Platfrorm Deployment: Kubernetes
Vanilla
Next Level DevOps Implementation with GitOps
Thank you!

More Related Content

Next Level DevOps Implementation with GitOps

  • 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
  • 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.
  • 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