Introducing Houston, by Turbine Labs

We’ve talked previously about reducing the cost of testing in production, about the benefits of a proxy layer to provide observability and flexibility to nearly any site architecture, and about the time and expense necessary to build it. Today we’re pleased to announce that you don’t have to reinvent this particular wheel: Houston, our new application routing and release system, enables teams of any size to ship more often with greater confidence.

Houston combines a dynamic proxy layer in your environment with a hosted management and observation application. With Houston, you can confidently test your code in production, release it incrementally, or rebuild your infrastructure, with no visible impact to customers. It integrates easily with your existing infrastructure, so you can see value quickly. Whether you want to make dramatic changes to your site, or are just looking to improve the pace of software release, Houston can help.

Houston architecture

Iterate confidently

Product success depends on constant innovation, but it shouldn’t come at the expense of customer experience. As you add new features, test and release new software, or replace legacy infrastructure, your customers’ experience should continue uninterrupted. Houston lets you map customers’ traffic to your infrastructure, providing a flexible, dynamic interface between your changes and their experience.

Updating a release from 25% to 50%

Houston keeps changes narrowly focused and reversible, reducing the risk and cost of service outages. You can safely develop features on production infrastructure that stay invisible until they’re polished. Release new software incrementally to customers, comparing old and new versions as you go. Simply turn off the release if anything looks wrong. You can use the same approach to migrate to new infrastructure. Your customers will continue with business as usual.

Understand behavior and structure, past and present

Containers, orchestration, micro-services, and other modern technologies and techniques give you unprecedented flexibility, but it comes at a cost. With so many moving parts, it’s hard to keep track of what’s changed, and small changes can have unexpectedly large impact. Even in simpler monolithic stacks, it can be hard to connect the dots from what you’ve built and deployed to what your customer sees.

Latency, request rate, and success rate for an incremental release. So far so good!

Houston bridges this gap, combining a customer-centric approach to monitoring and observation with insight into changes to your infrastructure. Houston provides a concise, consistent set of metrics that let you understand your customer’s experience at any level of granularity, from the entire domain to a single endpoint. You can slice those same metrics by service or software version to easily understand how your changes affect that experience.

A step in the incremental release is described in the change log

Houston keeps a record of these changes, making it easy to correlate them with incidents, compare customer experience across multiple software versions, and measure the quality and pace of your software releases. Houston uniquely combines real-time and historic data about both the structure and behavior of your site, so you can quickly correlate changes to customer experience with changes to your infrastructure. Triaging incidents just got a whole lot easier.

Putting it all together

Ship more, worry less

When you understand the customer experience of your product — what’s running, how it’s doing, and what’s changed — and when you can easily test, release, and revert new software and infrastructure, you can be confident in your ability to move faster. We invested person-years at Twitter building and refining this approach as both the team and the site scaled by orders of magnitude. We’ve seen the unique leverage gained with this application of technology, and we built Houston so everyone can benefit from it.

Houston is easy to try, and supports a broad range of architectures, cloud providers, orchestrators, and service discovery tools, including EC2, ECS, GCP, Kubernetes, Mesos/Marathon, and Consul. Everything is managed from our hosted application, with a public API for scripting and integration with your existing management tools. We’re currently looking for early adopters to try it out, offer feedback, and work with us to make Houston even better. If you’d like to get started with Houston, let us know at hello@turbinelabs.io, or visit our website.

Many thanks to the entire Turbine Labs team for their generous time and input on this article.