MayaLogic
Engineering

A pragmatic microservices checklist

Before you split a service, here are the ten questions whose answers determine whether the split will make your team faster or slower.

MayaLogic Admin · MayaLogic Editorial

3 min read

A pragmatic microservices checklist

The microservices reckoning of the last few years has produced one durable lesson: splitting a service should be a last resort, not a first instinct. Most of the value claimed for microservices can be achieved with a well-modularised monolith and a disciplined deployment pipeline.

When you do split, run through this checklist first.

The ten questions

  1. Will the new service be owned by a different team? If not, the split is mostly cost.
  2. Does it have a meaningful boundary? A boundary is meaningful when the two sides change at different rates or for different reasons.
  3. Can it be deployed independently? If your CI still gates one on the other, the split is illusory.
  4. Does it own its data? If both services read and write the same tables, you have not split anything — you have added a network hop.
  5. Have you defined the contract? Versioned, typed, with a clear deprecation policy. Not "REST" or "GraphQL" — the actual schema.
  6. Have you defined the SLA? Producers consume SLAs. Without one, every incident becomes a finger-pointing exercise.
  7. Is the operational story funded? Logging, tracing, metrics, on-call rotation, runbook. Microservices multiply operational work.
  8. Is the rollback story defined? Schema changes that span services are the most expensive bugs to undo. Plan for it.
  9. Have you measured the latency budget? Each hop is a few milliseconds in steady state and a long tail in incidents. Budget it.
  10. Is the team genuinely too big for the monolith? This is the only test that matters. Conway's Law is not subtle.

What a healthy split looks like

The microservices architectures we see succeed are usually three to seven services per fifty engineers, not fifty services per fifty engineers. Each service owns its data, has a dedicated team, and exposes a versioned contract. Teams can deploy without coordinating. Incidents are isolated.

The architectures we see fail share a property: they were designed before the team existed. The org chart was reverse-engineered to fit the architecture, the team is too small to own its share, and every change is a coordination problem.

Start with a modular monolith. Split when the team and the boundary both demand it. Resist the temptation to do it any earlier.

After the technical detail

Talk to an engineer about this.

If this maps to a system you are building, we can help pressure-test the architecture, estimate the trade-offs, and identify the riskiest assumptions before you commit.

Book a technical call

Get the checklist for engineering.

Request the PDF guide, architecture template, or implementation checklist and we will send the most relevant resource when it is available.

Author credibility

MayaLogic Admin

MayaLogic Editorial

The MayaLogic editorial team — senior engineers and consultants sharing what we have learned from building software for ambitious teams.

Production deliveryArchitecture reviewOperational ownership

AI in production

Turn the idea into an evaluated AI workflow.

We help teams move from promising demo to secure, observable AI systems with measurable answer quality.

Newsletter

Want more notes like this?

Get occasional field notes on architecture, AI in production, cloud economics, and resilient delivery.