From the course: Kubernetes: GitOps with ArgoCD
Continuous delivery of infrastructure with Argo CD
From the course: Kubernetes: GitOps with ArgoCD
Continuous delivery of infrastructure with Argo CD
- [Instructor] Hi, and welcome to this Kubernetes Essential Training: GitOps with Argo CD. Argo CD is a declarative GitOps continuous delivery tool for Kubernetes. CD here stands for continuous delivery and in Argo CD, this means continuous delivery of infrastructure. Argo CD was originally open source by Intuit in January, 2018. And it's used by a large number of companies around the world. Now you're probably familiar with the idea of CI/CD that is continuous integration and continuous delivery pipelines for code. This is where incremental code changes that you make to your application are built and tested in an automated manner. CI/CD for code is an integral part of the DevOps mindset and philosophy. And it's also essential for agile development. Here code that developers write are checked in and pushed out to production as soon as possible. And this requires the entire pipeline to be automated. This is what allows code to be delivered to production environments quickly and seamlessly. The idea of CI/CD pipelines for your applications code has been around a while and has been implemented by many organizations. Now organizations today are moving to the cloud as fast as they can. Cloud native applications are those that are built natively for the scalable elastic nature of the cloud. Cloud native applications typically do not use manual techniques for provisioning of resources. Cloud native applications use infrastructure-as-code for deployments. The whole idea behind infrastructure-as-code is to make release engineering easier and more automated. You shouldn't be managing and provisioning your resources manually. Instead, you should be using configuration files to define the physical infrastructure that you want to set up. The network resources you want your application to use. And also the security configuration. All of these should be declaratively specified in config files and should be stored in a version control system, such as GitHub, just like you do with the applications code. If infrastructure is declaratively specified and stored in a version control system, why should we not use continuous delivery for infrastructure? And this is exactly what Argo CD does. Any change you make to your infrastructure specification in a data repository will be automatically reflected in your live production environment. This continuous delivery of infrastructure is only possible because of the extensive use of infrastructure as code in cloud native applications. In infra-as-code, applications configurations, and even environments are not only declarative, they're also version controlled. When you use Argo CD for continuous delivery of infrastructure, it's possible to fully automate your application deployment and life cycle management. Your automation is not reserved only for your code pipelines. You can also apply this automation to your infrastructure pipelines. Argo CD fully automates your deployment, making them seamless, less error prone, and more robust.