Getty Images/iStockphoto
Credit Karma preps 'Zero-touch' Argo Rollouts
The Intuit subsidiary is in the process of moving to a homegrown event-driven progressive delivery platform and has already contributed some related code upstream.
Argo Rollouts shored up the foundation of a fully automated, progressive delivery system created by fintech Credit Karma that might find its way to open source.
The system, named Zero-touch, consists of three main elements: a Kubernetes-based infrastructure platform codenamed Falcon; a policy check engine named Flare; and Argo Rollouts, an open source utility built on the open source Argo CD framework. Argo CD is often used to force consistency between production deployments and Git code repos -- a practice termed GitOps. But DevOps teams can use Argo Rollouts to do rolling deployments, also known as progressive delivery, ensuring the consistency and reliability of changes before they're made throughout production.
Credit Karma, acquired by Argo's creator Intuit in 2020, built Falcon and Flare to serve as an internal developer platform over the last six years, adding a user-friendly interface to Kubernetes application deployments and automating a series of health and quality checks on code before changes were allowed into production.
"Falcon is probably our most heavily used product every day, because it's … the tool that teams use to manage all their assets in production and even in test environments," said Jeremy Unruh, senior director of engineering at Credit Karma who leads developer efficiency and platform engineering teams for the company. "It became a turnkey product where developers would just go onto their MacBooks like, 'I want to deploy this version of my service production.' And it's that easy."
Platform engineering and application engineering teams at Credit Karma use an internally developed user interface named Platform Console to access Falcon. This is a point of pride for Unruh, who said a user experience (UX) designer was his first hire when he began building the system six years ago.
"If you want the best experience for your users, you need a designer. That was a model I [followed] in my previous [jobs]," Unruh said.
Now, in an era when developer experience and a product mindset have become trendy topics among enterprise platform teams, "all of our products look like they could be SaaS products sold to other companies," he said.
Argo Rollouts fuels shift from abstraction to automation
Credit Karma's product development teams use both Argo CD and Flux to do GitOps deployments for some applications. Falcon's existing support for service mesh means these teams could already perform blue/green deployments, which deliver changes to about half the environment at a time, as well as canary deployments, in which smaller percentages of network traffic are sent to the new version for a more gradual rollout.
But until recently, such deployments were done manually, sending Unruh on the hunt for a way to automate progressive delivery workflows. That's where Argo Rollouts came in, providing a Kubernetes controller and a set of custom resource definitions that add progressive delivery features to software delivery platforms. It can integrate with service meshes and observability tools to automate deployments and rollbacks based on the health of updates, according to the project's website.
"We are seeing success in reducing site incidents since rollbacks happen quickly using Argo versus human wait time. … We have also seen an increase in [deployment] velocity," Unruh said. "Instead of a team spending an hour to ramp with blue/green, we are seeing one lead monitor … the rollout, spending about 15 [minutes instead of] an hour. … This has given about 75% of that time back to the team."
An estimated 80% of Credit Karma's apps have migrated to the Argo Rollouts system so far, according to Unruh.
With all three progressive delivery automation pieces established in Falcon, Flare and Argo Rollouts, Unruh's team next turned its sights to hands-off automation of the entire CI/CD process. It added its own event-driven orchestrator, named Zero-touch, to push software changes through all stages of the company's progressive deployment mechanisms without human intervention.
"From their pull request merge [stage on], teams will automatically be taken all the way to our production environment through the Zero-touch system," Unruh said. "The orchestrator's calling Falcon to do deploys, [then] Argo kicks off, it's calling Flare to make sure that the right checks and balances are in place, automatically through all environments."
Credit Karma donates UX feature, open to more
Credit Karma's parent company, Intuit, has its own internal counterpart to what Unruh has designed, called the Modern SaaS Platform. Intuit has hired a UX designer for it as well, according to comments from Mukulika Kapas, Intuit director of product management for the platform, during KubeCon + CloudNativeCon North America 2023.
Credit Karma could have borrowed from Intuit's platform, but it uses Google Cloud infrastructure, whereas Intuit's platform is deployed on AWS. Each company has its own approach to the CI/CD process, Unruh said.
Jeremy UnruhSenior director of engineering, Credit Karma
Still, engineering teams between the two companies have exchanged knowledge, including a discussion of Credit Karma's UX tools that led to one becoming part of Argo Rollouts upstream.
"The Argo team was like, 'Wow, this UX … really shows what's happening as that service is being rolled out.' And they asked if we'd contribute it back to their open source community," Unruh said.
That feature, called analysis modal, adds visual feedback designs Credit Karma created for Flare into Argo Rollouts that display the results of health and quality checks during the progressive delivery process. The change was merged into the Argo master project branch in December, according to GitHub records, but hasn't yet been fully released. The Argo maintainer that performed the merge told TechTarget Editorial that he expects the feature to be released in the next month or two.
Event-driven pipeline orchestration is already available from other projects. The best known of this is Tekton pipelines, which is integrated into IBM Red Hat OpenShift alongside Argo CD. Vendors such as Harness and CloudBees also offer commercial products for progressive delivery.
Credit Karma's priority over the next six months is getting all its applications onto the Zero-touch platform. But after that, Unruh said he's open to considering contributing more code to open source.
"Now that we're getting into a mature state, it's a good time to start to look at that stuff," Unruh said. "We'd have to take anything that's Credit Karma-specific out and genericize it and make it pluggable. … That's the type of [thing] we would need to converse about. But I'm not against it."
Beth Pariseau, senior news writer at TechTarget, is an award-winning veteran of IT journalism. She can be reached at [email protected] or on Twitter @PariseauTT.