How Nav Moved to Kubernetes with Houston, by Turbine Labs

Financial services firm leveraged Envoy to save hundreds of engineering hours and reduce technical debt in the process

TR Jordan
Turbine Labs

--

Nav: Get the credit your business deserves

The Challenge

Nav, a financial services company that helps small businesses understand and streamline the factors that impact their credit, was working with infrastructure that wasn’t scalable. Each of their services was modeled 1:1 with a Virtual Machine (VM) in AWS. As a financial services company, their uptime requirements were even more rigorous than most companies. The systems they’d built for stability were sluggish and bloated: it took roughly 160 engineer-hours to get a service into production. Nav sought to migrate their infrastructure to Kubernetes to resolve the 1:1 modeling issue and reduce the time spent releasing new services.

But setting up the new infrastructure was only one piece of their challenge. Nav also needed a way to manage both environments simultaneous during the migration. They had investigated traffic proxies, but none could shift traffic for individual services between AWS VPCs and Kubernetes clusters. It would take at least 6 weeks for them to write something in-house to handle these conversions, and they were already 3 months into the process, without time or money to spare. To compound this difficulty, their in-house solution would only be able to move over traffic and services abruptly, all at once — leaving Nav open to catastrophic consequences if a rollback or retry were needed.

Concerned that in-house efforts would be incur too much technical debt from an overly fragile system, Nav started to look for an external solution.

The Solution

Infrastructure migration with Houston, as easy as a blue-green deploy.

While looking for a solution, Nav contacted Turbine Labs. After seeing our release demo, they were excited to see how it could work for their use case. They were excited to see how easy it was to use traffic shifting for releases to avoid hard cutovers with a high risk of failure. Faced with the challenge of releasing an entirely new infrastructure stack, they wondered “could it really be so easy to handle a large-scale migration of services?”

The answer, surprisingly, was yes.

“What we had described was exactly what Turbine provided. It was exactly what we had talked about, but we didn’t have to build it ourselves” — Travis Jeppson, Director of Engineering

Using Houston by Turbine Labs, Nav was able to migrate from their existing system to a Kubernetes environment. Houston allowed Nav to collect information from both environments and use tagging to direct traffic between services, one service at a time. It also allowed them to migrate incrementally, both on the service-level and the traffic-level.

The Results

  • 6-month migration achieved in 2 months, with zero risk
  • Rebuilt Nav’s Kubernetes Cluster (twice!) with no ill effects to uptime or compliance metrics
  • Time to release a new service to production reduced from 160 engineer-hours to 1 engineer-hour.

As soon as the migration from the old system to Kubernetes was complete, engineers were able to deploy. The first engineer got in touch minutes after the migration finished, and within an hour, he had deployed a live service to production in the new Kubernetes environment. Previously, this would have taken two weeks worth of work. Using Houston, the engineer was able to set up routing rules by specifying the domain and path that he wanted to use as soon as the service was live in Kubernetes.

“[Turbine Labs] saved us. Hands down. It saved us money and time, and it made the transition successful all in all” — Travis Jeppson, Director of Engineering

--

--