Infrastructure as Code ? • Increase speed of deployment • Reduce Human errors • Enables DevOps teams to test applications in production-like environments • Optimize Costs, it’s easy to destroy non-production environment
Code the wrong way Stores Files in Repo - Version control for IaC files - Stored Centrally, where everyone can access to it No Review/Approval Process No Pull request (Merge Requests) No Code review No Collaboration No Automated tests
“GitOps is an operating model pattern for cloud native applications & Kubernetes storing application & declarative infrastructure as code in Git as the source of truth used for automated continuous delivery.”
vs Pull deployment 22 Environment Push Pull Environment Agent Agent is installed in the environment Monitors and compares desired state with actual state
game changer Managing infrastructure has long been treated differently from the applications they run. There is a common division of labor between infrastructure and applications. Updates to applications are more frequent and often get more attention from CI/CD. The underlying infrastructure is often left in a set once and forget model. Automating infrastructure in a fully-GitOps compliant way is difficult so it is left behind and treated differently than the application layer. Infrastructure-as-Apps