Back to Blog

Blow up your Staging Environments

Nov 30, 2023

Maintaining multiple environments – testing, staging, beta – has long been a standard practice. It's like nurturing a litter of puppies 🐕, each needing constant attention and care to ensure they mirror production as closely as possible.

But is this multi-environment approach always the best way forward? 🤔

I've been reflecting on the countless hours invested in aligning these environments. Despite meticulous efforts, differences between them have often led to elusive bugs – the kind that only emerge post-deployment.

This experience has gradually shifted my perspective.

Now, I advocate for a streamlined approach: maintaining just one robust staging environment. Here, we can test significant, disruptive changes that defy simple feature flagging. This strategy allows us to focus more on testing in production, developing the necessary infrastructure to do so effectively and safely.

🚀 The future I envision is one where we can fully test new builds in production, using techniques like canary releases and per-user routing, which keeps the delta as small as possible. However, finding the right technology to facilitate this seamlessly still remains a challenge.

I'm curious to hear from others. What are your experiences with maintaining multiple environments? Have you found effective ways to streamline this process or to get out of it altogether? Any good tools to do canaries in production?

Don't miss a post!

New posts to your inbox. 

We hate SPAM. We will never sell your information, for any reason. Unsubscribe anytime.