advanced 3 min answer

An engineering blog post from a major company describes a dramatic architectural reversal. How should an architect read it, and what generalisations would be wrong?

prime-videoevidencegeneralisationjudgementblog
Show the full answer Hide the answer

What the genre is

Engineering blog posts are written by one team, about one system, at one moment, with recruiting and reputational purposes alongside the technical ones. They are genuine and they are not neutral reports, and reading them as universal guidance is the most common error in the profession.

The Prime Video video-quality monitoring post is the best recent example of the reading problem. It described one internal component moving from a serverless step-function pipeline to a single long-running service, with a large cost reduction. It was widely reported as "Amazon abandons microservices", which was not what it said, not what happened, and not a conclusion the evidence supported.

The questions to ask of any such post

  • What was the actual scope? One component, one team, one workload — not an organisation, not a style. A single team reversing one internal decomposition is not a verdict on an architectural approach, particularly inside an organisation running an enormous number of services.
  • What was the specific workload shape? Here: high-frequency, large-payload, tightly-coupled steps, with orchestration billed per state transition and the unit of work being a video frame. The conclusion is bounded by that shape, and it does not transfer to workloads with different shapes.
  • What was the starting design, and was it good? Frequently the reversal is from a design that was not well-chosen initially, in which case the lesson concerns the original decision rather than the pattern.
  • What is the counterfactual? Would a different intermediate design — fewer, coarser functions; a different orchestration model — have worked as well? Posts rarely explore this, because the team found something that worked and stopped.
  • What is being left out? Costs of the new design, capabilities lost, effort spent, and problems that emerged later.
  • What does the author want? Recruiting, credibility, a vendor narrative, or genuine knowledge sharing — usually several at once, and knowing which shapes the emphasis.

The correct generalisation from that specific case

Narrow and useful: function-per-step decomposition is wrong when the steps are chatty and the payloads are large, because orchestration is billed per transition and intermediate data crosses a network boundary at every step.

More generally: decomposition boundaries should follow the data, not the verbs, and the design-time question is "if I put a network between these two things, what crosses it, how often, and how big is it?"

The wrong generalisations

  • "Serverless does not scale." It scaled; it cost too much for that shape of workload.
  • "Microservices are a mistake." One component, one team.
  • "Monoliths are cheaper." They were cheaper there, because the steps shared data at high frequency.
  • "Big companies are wrong about architecture." The same organisation runs both patterns extensively and chose differently in different places, which is the actual lesson.

How to use these posts well

As a source of failure modes and questions, not of answers. The value of the Prime Video post is that it teaches you to compute a cost-per-request model at design time and to look at what crosses each boundary. That question is transferable; its answer is not.

And weight evidence by its similarity to your situation: a post from a company with your scale, your workload shape and your constraints is worth far more than one from an organisation operating three orders of magnitude away.