VOOZH about

URL: https://thenewstack.io/merging-to-test-is-killing-your-microservices-velocity/

⇱ Merging To Test Is Killing Your Microservices Velocity - 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
2025-12-16 07:00:46
Merging To Test Is Killing Your Microservices Velocity
sponsor-signadot,sponsored-post-contributed,
CI/CD / Microservices / Software Testing

Merging To Test Is Killing Your Microservices Velocity

Frontend and data layers have evolved with branch-based previews and isolated environments. Why is the backend service layer stuck with shared staging?
Dec 16th, 2025 7:00am by Arjun Iyer
👁 Featued image for: Merging To Test Is Killing Your Microservices Velocity
From PeopleImages on Shutterstock
Signadot sponsored this post.

If you are a platform engineer or an engineering leader, look at your current development pipeline. Is everything treated equally?

To me, it seems that there is a glaring discrepancy in the way we treat different parts of the stack.

When a frontend developer pushes code to a feature branch, tools like Vercel or Netlify immediately spin up a deploy preview. It is a unique URL, isolated from production, where they can click around and validate changes instantly.

When a database engineer needs to test a schema migration, modern platforms like Neon or PlanetScale allow them to branch the database. They get an isolated, copy-on-write clone of the production data to wreck and repair without affecting a single real user.

But what happens when a backend engineer pushes a change to one microservice in a mesh of 50?

Nothing.

There is a gaping hole in the middle of our cloud native stack. While frontend and data layers have evolved to embrace branch-based development, the backend service layer is stuck in the stone age of shared environments.

This isn’t just an annoyance. It is the primary bottleneck preventing teams from truly shifting left.

👁 Image

The Merge To Validate Anti-Pattern

In most distributed architectures, a developer working on a backend service cannot realistically run the entire platform on their laptop. It is too heavy.

So they rely on unit tests and mocks. But we all know that mocks are liars. They do not catch the contract drift between services or the latency issues that only appear over the network.

To get real validation, the developer has to merge their branch to the main trunk so it can be deployed to a shared staging environment.

This is where velocity goes to die.

  • The queue: Developers wait in line to deploy to staging.
  • The block: If one developer breaks staging, everyone is blocked.
  • The noise: Testing fails, but is it your code, or did someone else deploy a bad config to the auth-service five minutes ago?

We have normalized this dysfunction. We treat staging as a fragile, sacred monolith. But in an era where we want to deploy multiple times a day, merging to trunk just to see if your code works is backward. It is like pouring concrete before you have checked the blueprints.

The Solution: Service Branching

We need to bring the Vercel and Neon experience to the Kubernetes backend. We need service branching.

The goal is simple. Every git branch should result in a testable, isolated environment.

However, the physics of microservices makes this hard. You cannot duplicate a cluster with 100+ services for every single pull request. The cost and spin-up time would be prohibitive.

The solution is not duplication. It is isolation.

Imagine a base environment, your existing staging cluster, that runs the stable version of all your services. When a developer pushes a change to a specific service, the platform shouldn’t clone the cluster. It should simply spin up a lightweight sandbox containing only the modified service.

Smart routing does the rest:

The New Mental Model: Git Equals Environment

For this to work at scale, platform engineers need to provide a clean mental model that maps source code directly to infrastructure.

This is what the new standard looks like:

  • Trunk (main) corresponds to the baseline environment (staging). This is the source of truth. It represents the stable state of the world where all services are interacting as expected.
  • Feature branch (feat-xyz) corresponds to a sandbox environment. This is ephemeral. It lives only as long as the PR is open. It contains only the delta of the services that have changed in that specific branch.

When a developer opens a PR, they do not need to think about clusters or namespaces. They just get a dedicated playground that mirrors their branch perfectly.

👁 Image

The Holy Grail: The Full Virtual Stack

When you combine this service branching approach with the existing tools for frontend and database branching, you unlock something powerful: a full virtual stack per branch.

Imagine a workflow where a developer creates a branch, and magically, a complete, isolated environment materializes. To the developer, it feels like they have their own private copy of the entire company’s infrastructure.

This includes frontend, backend services and database schemas. They are all aligned to their specific code changes.

They can run end-to-end integration tests on their branch before merging. They can hand a URL to a product manager to demo the feature. They can validate complex migrations safely. It is a dedicated reality for their feature, created instantly and destroyed just as quickly.

👁 Image

Why This Matters: Speed and Quality at Scale

This model shifts the paradigm from serial blocking to massive parallelism.

  • Remove the bottleneck: Large engineering teams no longer have to queue up for staging. You can have 10, 50 or 100 developers and agents testing simultaneously without stepping on each other’s toes.
  • True shift left: Integration testing happens during development, not after the merge. You catch the bug when you write it, not three days later when the staging build fails.
  • More quality, faster: When testing is easy and isolated, people do more of it. We stop fearing deployments and start treating them as routine.

The result is a software delivery pipeline that is both significantly faster and more stable.

Closing the Gap

The technology to do this exists. The patterns are proven. It is time for platform teams to stop managing static environments and start managing dynamic, ephemeral workflows.

If you are looking to implement this service branching layer to complete your testing strategy, this is exactly what Signadot was built for. Signadot provides the orchestration layer that brings request-based isolation to Kubernetes.

Stop merging to test. Start branching to validate.

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
TNS owner Insight Partners is an investor in: PlanetScale.
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.