Dear Staging – It’s not working out anymore. I would say it’s not you, it’s me, but actually – it is you. You have several flaws that make working with you impossible.
Staging – You’re Expensive
First, you’re very expensive to maintain. Even if you just have the basic architecture, with web servers and application servers that query a database, and a memory-based cache, you still cost me over $100k per year! And that’s not even including the cost of software licenses, infrastructure, or support. Since efficiency is the name of the game, and costs matter, you’re just going to have to go.
Staging – I Can Test Better
Also, your test results do not always match production test results because the data that you have does not match the data in production. I can’t tell you how many times I have implemented test flows that pass with you, and as soon as the tests run in production, they fail. This is completely unacceptable. How am I supposed to gain confidence in you if you consistently let me down? TL;DR, I can’t.
Staging – You’re Not Production
I don’t know how to say this lightly, but no one cares about you. No one is going to get a call in the middle of Thanksgiving dinner if you are down. I have tried to get you fixed numerous times when you have been down so that I can test what I need to, but it’s hard to get anyone to care enough to work on you. You’re just not a high priority like production is. When production is down, people are on it.
At the end of the day, I don’t care if my features work with you, I care if they work in production. I want to know that my features are working in the environment in which they will live, not a wannabe environment like you.
For these reasons, we need to part. I will now be testing all of my code in production, and I don’t need you anymore.
Learn More about Testing in Production and Feature Flags
If you’re interested in learning how to test in production with feature flags, check out these posts:
- 5 Best Practices for Testing Feature Flags in Production
- 4 Benefits of Feature Flags in Software Development
- Testing in Production
Stay up to date
Don’t miss out! Subscribe to our digest to get the latest about feature flags, continuous delivery, experimentation, and more.
The increased usage of feature flags and canary releases (also “canary deployments”) in software development has had a tremendous impact on the overall release process for software companies globally. These canaries and feature flags allow you to test your features in production , convert your monolith to microservices, perform A/B…
Chaos engineering involves injecting failure into production systems, as a way to proactively validate that those systems handle a degraded environment.
To understand how businesses can begin using feature flags, let’s look at a typical case of an organization evolving a continuous delivery system using feature flagging from the ground up. By analyzing a system taking shape, we can identify some of the common mistakes that software development teams make and…