Presenters

Source

Beyond the Push: Unlocking Scalable GitOps at Intuit 🚀

Hey tech enthusiasts! Ever feel like you’re wrestling with your GitOps workflows, especially when it comes to managing deployments across multiple environments? You’re not alone! We recently had a fantastic session that dove deep into this exact challenge, and the insights were truly eye-opening. Let’s unpack how Intuit is tackling this, and what it means for the future of GitOps.

The GitOps Landscape: A Thriving Ecosystem 🌐

Intuit, a powerhouse in financial services software, is deeply invested in the open-source community. They’re behind well-known projects like Argo and Numaflow, and their commitment has even earned them the prestigious CNCF Top End User award – twice! This dedication means they’re not just using cloud-native tech; they’re actively shaping it.

The big question on everyone’s mind? Have we truly solved GitOps? While the tools and community are incredibly strong, there’s always room for innovation, especially when it comes to user experience.

Understanding Our Users: The Persona Playbook 👨‍💻

To build better tools, we need to understand who we’re building for. Intuit identifies two primary user personas for Argo CD:

  • Platform Engineers: These are the GitOps and Kubernetes wizards among us. We’re comfortable with YAML and understand the intricate workings of the cloud-native world.
  • App Developers: These are the brilliant minds crafting APIs and web applications. While they leverage Git daily, they might not be as deeply immersed in Kubernetes or the nuances of GitOps.

Argo CD does an exceptional job of catering to app developers. The intuitive UI provides a clear visual representation of resource relationships and health checks, acting as a gateway for those new to Kubernetes. The direct link between a Git push and a deployment is a game-changer, empowering developers without overwhelming them.

The Multi-Environment Maze: Where GitOps Gets Tricky 🤯

Intuit heavily relies on Argo CD’s Application Sets, with a staggering 66% of users also utilizing this feature. This is crucial for managing the complex web of environments app developers juggle – think dev, performance testing, UAT, and beyond.

However, here’s the rub: promoting applications through these environments is often a manual, “babysitting” affair. An end-user survey revealed that 67% of users resort to manual processes or custom scripting for environment promotion.

At Intuit, this meant:

  • Turning off Argo CD’s autosync on the majority of their 30,000+ applications. This defeats a core tenet of GitOps!
  • Relying on Jenkins to trigger Argo CD syncs and waits across environments.
  • Sifting through 346 kilobytes of logs just to understand a single environment promotion pipeline – a level of detail that’s frankly unnecessary for most users.

Enter GitOps Promoter: Simplifying the Journey ✨

To address this friction, Intuit is introducing a new open-source project: GitOps Promoter. Currently residing in Argoproj Labs and still experimental, this project is built on a few key principles designed to streamline environment promotions:

  • Embrace the Git Ecosystem: The goal isn’t to reinvent the wheel. GitOps Promoter leverages existing Git and Source Control Management (SCM) features, like GitHub.
    • Promotions via Pull Requests: Each promotion to a new environment is initiated by an automatically opened pull request. Once approved (or automatically merged based on your workflow), it triggers the next stage. This allows you to turn autosync back on and let Argo CD do its magic!
  • Git as the Single Source of Truth: The entire history of your application’s promotion journey is stored in Git.
    • Reconstructible State: If you were to delete GitOps Promoter, you could reinstall it and have everything set up perfectly, simply by looking at your Git history. No proprietary CR status fields or Jenkins runtime data to worry about!

This innovative approach promises to bring back the true spirit of GitOps by automating the promotion process, reducing manual overhead, and providing a clear, auditable history of every deployment step – all within the familiar comfort of Git.

Keep an eye on Argoproj Labs for updates on GitOps Promoter! This could be a game-changer for anyone looking to scale their GitOps practices effectively. 💡

Appendix