VOOZH about

URL: https://thenewstack.io/why-staging-is-a-bottleneck-for-microservice-testing/

⇱ Why Staging Is a Bottleneck for Microservice Testing - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2024-10-02 11:00:06
Why Staging Is a Bottleneck for Microservice Testing
sponsor-signadot,sponsored-post-contributed,
Software Development / Software Testing

Why Staging Is a Bottleneck for Microservice Testing

By moving away from shared environments, teams can test in parallel, enabling faster, higher-quality releases.
Oct 2nd, 2024 11:00am by Arjun Iyer
👁 Featued image for: Why Staging Is a Bottleneck for Microservice Testing
Image from Olivier Le Moal on Shutterstock.
Signadot sponsored this post.

A typical CI/CD workflow for engineering teams adopting microservices architecture looks something like this:

  1. Build and run basic unit tests before merging the pull request (PR).
  2. After merging the PR, a CI/CD pipeline deploys the build to a shared staging environment.
  3. Integration and end-to-end (E2E) tests are run on this environment, often scheduled in batches.

For every microservice, there could be multiple deployments to the staging environment each day. While this setup has become the norm, shared staging environments often create bottlenecks that slow down teams and undermine the advantages of microservices. Let’s dive into why this happens and how leading engineering teams are moving beyond staging to scale testing effectively.

The Fragility of Shared Staging Environments

  1. One PR, many problems: When one team deploys a PR with bugs to staging, it can disrupt the entire engineering team. This problem is exacerbated in shared staging environments, where a bug from one team can block multiple others.
  2. Finding the offending PR is a needle in a haystack: With hundreds of PRs being merged daily, finding the one that broke the environment is time-consuming.
  3. Test failures are ambiguous: Dependencies between microservices make it challenging to isolate why a test fails. For example, consider the following e-commerce microservices architecture:
    👁 Diagram of an e-commerce microservices architecture

    Source: DeathStarBench, an open source benchmark suite for cloud microservices

    In this architecture, multiple services such as payment, orders, shipping and media interact with each other. A failure in one service, such as the payment service, might not be immediately obvious and could manifest as a problem in the orders service. These interdependencies make it difficult to pinpoint the root cause of test failures, especially when many services are involved. Debugging failures in such a complex web of microservices is time-consuming, as each service may have different teams responsible for maintaining it.

  4. Feature testing becomes a waiting game: Multiple teams often wait for their turn to test features in staging. This creates bottlenecks. The pressure on teams to share resources can severely delay releases, as they fight for access to the staging environment. Developers who attempt to spin up the entire stack on their local machines for testing run into similar issues. As distributed systems engineer Cindy Sridharan notes, “I now believe trying to spin up the full stack on developer laptops is fundamentally the wrong mindset to begin with, be it at startups or at bigger companies.” The complexities of microservices make it impractical to replicate entire environments locally, just as it’s difficult to maintain shared staging environments at scale.
  5. Delayed feedback from scheduled tests: Automated tests are often scheduled for off-peak hours, like nightly runs. By the time a failure is detected, several PRs may have been deployed, making it even harder to track down the offending code. This delays the feedback loop and introduces a “time tax” on productivity.

Ripple Effect: Slowing Down Engineering and Lowering Quality

These issues lead to a substantial drain on developer productivity. Bottlenecks in CI/CD pipelines cause them to spend more time debugging than coding. If your engineering team is losing several days a month to staging-related issues, that’s a serious hit to both your velocity and morale.

From a release process perspective, the delays caused by a fragile staging environment lead to slower shipping of features and patches. When teams spend more time fixing staging issues than building new features, product development slows down. In fast-moving industries, this can be a major competitive disadvantage.

If your release process is painful, you ship less often, and the cost of mistakes in production is higher. This slowdown can also compromise product quality, as engineers, under pressure to meet deadlines, may skip adding new test cases. The result? Bugs find their way into production. For e-commerce companies, for example, even a minor bug can disrupt the checkout process, leading to loss of revenue and damage to the brand.

Finally, there’s the impact on developer experience. Developers thrive in environments where they can ship code quickly and efficiently. Friction in the release process frustrates developers, increasing burnout and turnover. Happy developers write better code, and frictionless release processes are key to that.

Why Staging Breaks Down: The Contention Problem

At its core, the issue with shared staging environments is contention. Teams cannot safely test their changes in isolation. This lack of isolation leads to bottlenecks, blocking teams from efficiently validating their work.

As Sridharan aptly puts it:

Staging environments were designed with monolithic applications in mind, not for the dynamic, decentralized nature of microservices.

A naive approach might be to create more staging environments, but this doesn’t scale well either. Managing multiple environments introduces more complexity, and as noted in “Environment Replication Doesn’t Work for Microservices,” replicating environments accurately across microservices is extremely difficult and costly.

A Better Approach: Isolated Testing

So what’s the solution? Some of the most innovative companies in tech — like Uber, Lyft and DoorDash — have moved away from shared staging environments. They’ve developed methods to test in isolation by sandboxing services and using dynamic traffic routing.

As the Lyft blog post on staging overrides notes:

“We fundamentally shifted our approach for the isolation model: instead of providing fully isolated environments, we isolated requests within a shared environment.”

By isolating microservice changes, teams avoid contention and can test code independently. This model of isolated testing eliminates the problems caused by shared environments and enables true continuous delivery. Isolated testing allows teams to catch issues early in the development cycle, reducing the complexity and cost of fixing bugs later on.

Isolated Testing in Action

Building in-house systems to achieve this level of isolation can be technically complex and costly. However, platforms like Signadot offer solutions to provide isolated testing environments at scale. Thanks to sandboxing and traffic routing, teams can test microservices safely and efficiently without the need for traditional staging environments.

Conclusion: The Future of Testing Microservices

Staging environments worked well for monolithic applications but have outlived their usefulness for today’s microservice architectures. As engineering teams scale, shared environments introduce costly delays, reduce quality and frustrate developers.

The future of testing microservices lies in isolated testing. By moving away from shared environments, teams can test in parallel, enabling faster, higher-quality releases. In a world where speed, quality and developer happiness are paramount, isolated testing is not just a nice-to-have — it’s essential.

Signadot is a Kubernetes-native platform that empowers AI coding agents to verify code at scale. Combining fast, scalable ephemeral environments with a validation framework built for complex distributed systems, Signadot ensures high-velocity code generation results in safely merged pull requests.
Learn More
The latest from Signadot
Hear more from our sponsor
TRENDING STORIES
Arjun Iyer, CEO of Signadot, is a seasoned expert in the cloud native realm with a deep passion for enhancing the developer experience. Boasting over 25 years of industry experience, Arjun has a rich history of developing internet-scale software and...
Read more from Arjun Iyer
Signadot sponsored this post.
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
👁 Image
Enable cloud-native agentic workflows at scale and validate code as fast as agents can generate it.