Tesouro Accelerates Innovation and Time-to-Market with Continuous Deployment-as-a-Service

How FinTech startup Tesouro implements continuous deployment from Armory to accelerate innovation, even at the earliest stages of development. 

Tesouro’s Results

4.5%

change failure rate

placing Tesouro’s development team into the Elite performing category

4.3

deployments per day

well above the high-performance average of once-per-day

<2 mins

mean time to recovery

well below the average of 5 hours for most well-performing companies

What is Tesouro?

Tesouro is a US-based FinTech company that embeds simplicity, security, and speed into payments. They are currently in stealth mode building out their emerging financial technology. 

What are Tesouro’s Goals?

The question for the organization wasn’t if they were going to use CI/CD. That, for them, was a given. The question was, how were they going to implement continuous integration and continuous deployment? And what were they hoping to gain from implementing CI/CD? 

  • Faster Development – as a startup still building in stealth mode, short, fast, efficient development time was a crucial goal
  • Enable Innovation – because they’re working toward a goal of coming out of stealth mode with a great value prop and a ton of momentum in the FinTech industry, they needed a way to increase feedback and decrease time-to-deploy
  • Easy Compliance – the system that Tesouro is building has high compliance and auditing requirements by virtue of being in the payments industry 
  • Minimize the blast area of changes – As a payments company, a breaking bug can mean payments are not processed costing Tesouro, and it’s customers, money. Canary deployments were critical to minimize the risks otherwise associated with rapid innovation.

What are Tesouro’s Challenges?

One of the top challenges Tesouro faces is limited resources. They’re a small, nimble shop with 15 engineers and some tech-savvy folks across the business. They needed a way to implement a deployment process and tooling that gave them simplicity, consistency, compliance, and flexibility, ultimately leading to scalability right out of the gate.

Another top challenge is that they simply don’t want to end up in a place where they’re creating unnecessary technical and process-driven debt. They want to prevent the company from getting into a problem of encountering a bug in production, then needing to go through a lengthy, tedious, inefficient compliance, documentation, and release approvals, and then a full release process just to fix the bug. They need the ability to fail fast, fix issues quickly, and minimize the impact of failure.

A lot of options out there offer a kind of [broad] package deal, with CD on the tail-end of their CI process. But their emphasis is on the CI, and I didn’t need another CI solution. I needed a continuous deployment solution. I landed [on] Armory … because Armory is the solution to our need.

– Ben Moody, DevOps Engineer at Tesouro

How has Armory’s Continuous Deployment-as-a-Service Improved Development at Tesouro?

By adopting Continuous Deployment-as-a-Service during the early phases of their company, one of the top things that Tesouro gained is a tight development cycle. 

For instance, when they have new features that need to be added, the back-end engineer quickly picks up the ticket, writes up the changes for it, and creates a pull request in GitHub, which then rolls through declarative automation in CD-as-a-Service. This simple process represents a fully compliant request, approval, audit trail process that is deployed to staging within minutes. 

Then, the engineer can see the changes live in the staged environment going through a battery of tests before automatically proceeding to production. If there was a bug introduced into production, the engineer will be able to see it right away—not a week later.

Tight development with high visibility leads to better outcomes for the development team and the product. Engineers feel closer to both the problem and the solution; now the engineers have the visibility and tooling to fully own the end-to-end quality of their services.

And this tighter development cycle allows the development team to solve problems faster because they are able to fail (and fix) faster. The team has both the responsibility for the application and the context for it, which contributes to better software engineering overall.

How has Armory’s Continuous Deployment-as-a-Service Improved Development at Tesouro?

Adopting CD-as-a-Service has established faster development speed and higher deployment frequency at Tesouro, enabling more innovation and less impact from failures, as evidenced by their DORA metrics:

  • Lead Time for Changes: 8 minutes. New features, enhancements, fixes, and innovations can be deployed in as little as 8 minutes! 
  • Change Failure Rate: 4.5%, placing Tesouro’s development team into the Elite performing category
  • Deployment Frequency: ~4.3 deployments per day, which is well above the high-performance average of once-per-day
  • Mean Time to Recovery (MTTR): < 2 minutes, well below the average of 5 hours for most well-performing companies
  • Internal + External NPS Scores: High, people love their jobs and our products!

Another important benefit that can help others in similar situations: quality of life improvement via better interactions between product and engineering teams. Now there’s no friction between features vs. stability; they are assured that new features are stable and reliable, allowing them to get to market faster.

The tighter development cycle enables innovation within the engineering team. Because development moves more quickly, they’re now releasing consistently throughout the day, multiple times a day, and they can immediately see their changes in production without having to wait for manual approval processes.

How Does the Tesouro Engineering Team Feel About Continuous Deployment?

The developers love CD-as-a-Service. They’re huge fans and advocates for continuous deployment because it means faster time to resolutions, and shorter and better development cycles. To-date every additional service Tesouro has built has chosen to use CD-as-a-Service to deploy.

The biggest piece of evidence that they love [Continuous Deployment-as-a-Service] is that they never talk about it. It is a smooth seamless part of the development process that doesn’t introduce friction or bottlenecks.

The tighter development cycle enables innovation within the engineering team. Because development moves more quickly, they’re now releasing consistently throughout the day, multiple times a day, and they can immediately see their changes in production without having to wait for manual approval processes.

Why Should Other Early Startups Implement Continuous Deployment?  

When you gain 50% of your day back, now you get to start being a part of the innovation process, instead of the tracking-changes process.

First, if you want to implement continuous deployment in your own organization, Tesouro recommends getting buy-in from the right people. Better automation can allow your compliance teams and development teams to answer some of the bigger questions about what you’re working on, and provide more solutions that your organization needs, instead of manual processes.

Next, don’t get trapped in a cycle of complexity. You could choose to create your own custom deployment scripts and Frankensteined tooling, but this comes with fragility and risks. Or you could choose a complex, powerful tool like Spinnaker, but that comes with the need for staff expertise and ongoing maintenance. CD-as-a-Service was easy to set up, and met all needs with unparalleled simplicity, making it easy to get the whole team on board.

It’s simple and incredibly effective. In a single afternoon I set it up then ran 500 deployments, a dozen different ways, and it never struggled at all. It was easy to take to people and say ‘Armory works, it solves our exact problem’ and move forward.

Choose simple, purpose-built tooling like Continuous Deployment-as-a-Service that enables your engineering team to do what it does best: creating value for your business through software development.

What’s Next for Tesouro and Armory?

The Tesouro team is collaborating with Armory on new features including advanced canary deployment capabilities to minimize the blast radius of changes through fine-grained traffic rules. They are also continuing to expand their integration tests against deployed environments in a staged environment.

Through it all the team is glad that they don’t have to adopt the risks of traditional all-in deployments. The level of granular control provides the team reassurance of security and availability for a system that will be processing thousands of financial transactions per second. For Tesouro, that represents their core value, and continuous deployment with Armory is helping to make it a reality.

Commit. Deploy. Repeat.

Focus on writing great code, not deploying it!