GitOps and Kubernetes | Continuous Deployment with Argo CD, Jenkins X and Flux
Preface:
As Intuit embarked on the journey from on-premises to cloud-native, the journey itself
presented an opportunity to reinvent our build and deployment process. Similar to
many large enterprises, our old deployment process was data-center-centric with separate
QA, Ops, and Infrastructure teams. Code could take weeks to get deployed, and
developers had no access to infrastructure when there were production issues. Infrastructure
issues could take a long time to resolve and required many groups’ collaboration.
As Marianna Tessel (Intuit CTO) and Jeff Brewer (Intuit SBSEG chief architect)
decided to bet big on Kubernetes and Docker, we were fortunate to be the first team
to fully migrate one of our production applications with Kubernetes and Docker.
Along the way, we got to reinvent our CI/CD pipeline and adopt the GitOps process.
Jesse and Alex created Argo CD (CNCF incubator project) to address enterprise
needs for GitOps. Todd and his team created world-class cluster management tools so
we can scale out to hundreds of clusters with ease.
Having a standard like Kubernetes and Docker enables all engineers to speak a
common language in terms of infrastructure and deployment. Engineers can easily
contribute to other projects and deploy as soon as the development process is complete.
GitOps also allows us to know exactly who and what gets changed in our environments,
which is especially important if you are subject to compliance requirements. We
cannot imagine going back to the old way we did deployment, and we hope that this
book can help accelerate your journey to embrace GitOps!