pk.org: CS 417/Lecture Notes

Good Ideas, Expensive Lessons

The Hard Part Did Not Go Away

Paul Krzyzanowski – 2026-05-01

Distributed systems have a long history of technologies that were presented as the future, adopted quickly, and later understood with more caution. XML and SOAP are early examples. They were a response to a real problem, getting services on different platforms to talk to each other, and they delivered. The price was verbose messages, slow parsing, complicated tooling, and protocols that were painful to debug.

The pattern has repeated for decades. Each wave solved a real problem and came with costs that were easy to ignore while the wave was building.

A history of overpromise

Some past examples are:

These technologies were (are) not useless. Many solved real problems. The lesson is that hype emphasizes the abstraction and downplays the cost.

What never took off

Some ideas were promoted as inevitable and never caught on:

Each of these tried to hide a hard property of distributed computing, and each was defeated by the property it tried to hide. The abstraction was too leaky to be useful, and patching the leaks cost more than starting from a less ambitious model.

Questions to ask before adopting

When you evaluate a new language, framework, database, RPC system, orchestration tool, or cloud service, ask engineering questions:

It’s easy to be smitten by hype. Good engineers are not reflexively conservative. They adopt new tools when a tool earns its place. They are skeptical of claims that a technology removes hard problems, because most of the time it relocates them somewhere else.

The lesson

Distributed systems punish wishful thinking. Latency still exists. Networks still fail. State still has to live somewhere. Serialization still costs something. Coordination still creates bottlenecks. Operational complexity does not disappear because a framework gives it a friendly API.

Use new technology, but do not outsource judgment to fashion. Ask what tradeoff you are accepting, and whether it is the right tradeoff for this system.