View all services
Talk to QA Advisor
Browse the Knowledge Hub211 resources
/Books/Building Microservices
Books · Honest notes

Building Microservices: is it worth reading?

The standard reference on service decomposition, with a genuinely good chapter on how testing has to change.

We earn nothing from any link on this page. No affiliate links anywhere in this library.

published
2021
key ideas
3

Reviewed by Viral Patel

Co-Founder, QAble

Cover of Building Microservices
Architecture

Building Microservices

Designing Fine-Grained Systems

by Sam Newman

Publisher
O'Reilly
Year
2021
Edition
Second edition, substantially rewritten.
ISBN
9781492034025

Useful when you are: Senior / lead

Verdict

Should you read it?

Read it if

You test a service-based system and end-to-end testing has become the bottleneck, which it reliably does past a handful of services.

Skip it if

You work on a monolith and have no plans to decompose. Newman would probably tell you to stay there.

The argument

What it argues

Newman covers decomposition, integration, deployment and operation of fine-grained services, and is notably even-handed about the costs rather than evangelising the pattern.

The testing chapter is the relevant one here. End-to-end testing across many services requires everything deployed together, which reintroduces exactly the coordination that independent services were meant to remove. Newman argues for consumer-driven contract testing as the answer, and for accepting more production testing and monitoring in exchange.

The second edition is markedly more cautious about microservices than the first, which is a point in its favour.

Key ideas

Ideas worth taking from it

  1. 01

    Consumer-driven contracts

    The consumer defines expectations, the provider verifies them independently, and neither needs the other deployed. The practical alternative to cross-team integration testing.

  2. 02

    The end-to-end testing trap

    End-to-end tests across services get slower, flakier and more expensive as service count rises, and the coordination required undermines independent deployment.

  3. 03

    Testing in production

    Synthetic monitoring, canary releases and progressive delivery as legitimate parts of a testing strategy rather than an admission of failure.

Criticism

What has dated, and what it gets wrong

Long, and the testing material is one chapter in a large architecture book, so it is an expensive way to get to the contract testing argument. If that is what you want, the Pact documentation covers it more directly.

Keep reading

What to read next

Ready

Reading about quality is cheaper than learning it in production.

QAble runs QA for products in BFSI, gaming, healthcare and SaaS, with engineers who have read these and argued about them. Start with a free QA audit.

Talk to QA Advisor