I came across a job posting for a site reliability engineer role that mentions needing expertise in continuous deployment systems like Buildkite and ArgoCD. I've been in the CI/CD game for about 7-8 years and have set up quite a few delivery mechanisms, primarily using GitLab CI, GitHub workflows, Azure Pipelines, etc., and they've served me well. Can anyone explain the key benefits of Buildkite and ArgoCD? I've tried Googling it, but I haven't found anything that really highlights what they offer over something like GitHub Actions.
5 Answers
ArgoCD shines with its application sets, which are fantastic if you're deploying similar applications across multiple environments, almost like an operator maintaining your deployments. I've heard Buildkite does well with mobile app deployments too, but I haven't used it myself.
Buildkite provides a unique approach by allowing you to host your own runners for executing tests. This gives you more control especially if you have specific hardware needs or want to maintain privacy of your source code. They handle the control plane and web UI while you manage your resources.
ArgoCD is explicitly designed for Kubernetes deployments and reacts to repo updates effectively. Although I don’t have hands-on experience with Buildkite, I've heard good things about its usability for various app types, including mobile.
If you can deploy using GitHub Actions, it definitely involves scripting and manual command management. With ArgoCD, you can streamline that process significantly, potentially removing a lot of the manual steps needed in a typical pipeline.
ArgoCD operates mainly in a declarative manner, distinguishing itself from traditional CI/CD pipelines which are more imperative. While they can be integrated, ArgoCD focuses on maintaining the desired state in Kubernetes based on what's declared in Git, following a GitOps approach. It pulls updates from Git and applies them to Kubernetes, which means you don’t need to give your CI/CD pipeline direct access to your K8s cluster. This setup has its own set of advantages! Plus, it features drift detection, allowing it to automatically correct mismatches between the desired and actual states or send alerts when issues arise.
Exactly! The pull-based nature of ArgoCD really enhances security by minimizing access requirements. And that drift detection feature is a real lifesaver.