The API Hostage Crisis
Relying on external APIs reduces your software to a tenant farm controlled by hostile corporate landlords who hold your business hostage.
By Saul Berger
Sparked by It takes 5 cloud services to hear my doorbell · discussion

Back in 1995, we had something called DLL Hell. (Listen, I realize half of you were still eating strained peas when Windows 95 shipped, but I promise we actually had graphical operating systems back then. Grab a juice box and let me tell you a story.) You would install some obscure bowling game on your Windows 95 machine, the installer would silently overwrite a critical shared system library with an older version, and suddenly Microsoft Word completely forgot how to send documents to the printer. You would spend three days trying to hunt down the exact version of COMMCTRL.DLL that made both programs happy, eventually give up in a fit of absolute despair, and format your entire hard drive just to start over. It was a miserable, dark time, like trying to build a house of cards on a table where your little brother is actively practicing his tap-dancing routine.
We spent a decade pulling our hair out over this, eventually arriving at the smug conclusion that we had completely solved the problem of fragile shared dependencies. We lied to ourselves, obviously. All we actually did was drag those exact same fragile dependencies to an East Coast data center, slap a monthly subscription fee on them, and rebrand the resulting catastrophe as "Microservices." Which brings us to a fascinatingly horrifying post I was reading yesterday about Vivek Ghaisas’s Rube Goldberg doorbell.
Ghaisas documented the exact sequence of events required just to make a noise in his house when someone pressed a button outside. To fully appreciate the insanity of this, you have to trace the actual journey of that electronic signal. Someone walks up to the front porch and presses a plastic button which talks via a proprietary wireless protocol to an indoor hub sitting maybe ten feet away, which subsequently ignores the actual mechanical chime right next to it in favor of firing off an HTTP request across the open internet to an Amazon Web Services API Gateway, which wakes up a serverless Lambda function to execute a few lines of JavaScript that exist solely to format a tiny payload, which then bounces over to a third-party notification service, which pushes an alert down to an Apple push notification server, which finally wakes up a cellular modem in a phone sitting on the kitchen counter to play a recorded ding-dong sound.
Sheeeesh.
If you scroll through the Hacker News comment thread discussing this architectural marvel, you will notice a deeply disturbing sociological phenomenon. Every single developer in that thread is completely validating him, nodding along in a state of shared, exhausted trauma. They immediately start swapping war stories about smart light switches that require a round-trip to servers in Northern California just to illuminate a bulb three feet away, or about automated garage doors that refuse to open because a DNS provider had a momentary hiccup during an AWS outage. We have completely normalized building systems that are mathematically destined to fail. We look at a chain of fourteen external dependencies, all maintained by different venture-backed startups burning through mad coin, and we call it "modern architecture."
Let us force this abstraction down to the metal, or rather, down to the flour. Imagine you are trying to open a commercial bakery. Instead of buying a solid, heavy industrial oven, plugging it into the wall, and baking bread, you decide to use the Microservices Bakery model. You lease a heating element from a sleek startup in San Francisco. You lease the actual metal box from a different company in Seattle. The thermostat is an open-source project hosted on a server in Amsterdam, and the gas valve is triggered by a webhook from a payment processor. (Attention, DevOps zealots: please spare me the righteous lectures on how you would just use Kubernetes to orchestrate the gas valve container. Go write your own Substack.) Every time you want to bake a loaf of sourdough, you have to pray that the heating element company hasn't pivoted to crypto, that the thermostat server isn't down for maintenance, and that the gas valve API hasn't deprecated the specific JSON format your oven expects.
The dough is rising, the customers are queuing around the block, and your oven refuses to turn on because the San Francisco startup just got acquired by Google and immediately shuttered their public endpoints. You are standing there with giant vats of fermenting yeast, apologizing to angry people with cash in their hands, all because some twenty-two-year-old product manager in Mountain View decided your oven API didn't align with their Q3 synergy objectives.
You are essentially running a tenant farm, except you don't even own the dirt. Building software this way is like performing open-heart surgery with a robotic arm controlled via a freemium Wi-Fi connection in a coffee shop. You are putting the absolute most critical functions of your business at the mercy of entities who do not care if you live or die.
This is where we must stop talking about software engineering and start talking about basic microeconomics. Whenever you evaluate an architectural decision, you have to ask The Economist's Question: Who extracts the value here?
We have been sold this delightful fairy tale that external APIs are magical Lego bricks, modular building blocks that let you assemble a massive application in an afternoon without writing any boilerplate. What a complete delusion. External APIs are actually depreciating inventory. They are pallets of raw material sitting on your factory floor, slowly rotting away while a hostile landlord watches you build your entire business around them. You sink months of developer time into mapping their arbitrary data structures, configuring OAuth tokens, and writing retry logic for when their servers inevitably go down on Black Friday. Once you are fully integrated and dependent on their specific plumbing, we enter a phenomenon I call The API Hostage Crisis. The landlord realizes they have you completely trapped, and they decide it is time to alter the deal. The venture capital money dries up, the board demands profitability, and suddenly your "free modular building block" becomes an extortion vector.
If you think I am being overly dramatic about corporate landlords, just look at the smart home market, which is currently serving as the canary in the coal mine for everything else in tech. Consider the unfortunate folks who bought into the Wink smart home ecosystem. They purchased physical hardware hubs to control their lights and locks, fully believing they owned the equipment sitting in their living rooms. Then, Wink abruptly announced a mandatory $4.99 per month subscription fee just to keep the devices functioning. Pay the ransom, or your house goes dark.
Or look at Chamberlain, the company that makes the MyQ smart garage door openers. Millions of people wired these devices into third-party automation systems like Homebridge so their garage doors could talk to their other smart home gear. Chamberlain eventually realized they were making absolutely bupkis from this open ecosystem, so they simply blocked third-party access. Overnight, they intentionally broke countless integrations, leaving thousands of users with automated routines that crashed into a brick wall of corporate rent-seeking. In The API Hostage Crisis, the landlord can and will sever your carefully chained architecture the second it becomes economically advantageous for them to do so.
The Architecture Astronauts will tell you that monolithic applications are legacy trash, and that true scale requires dispersing your logic across dozens of managed services in the cloud so you can dynamically orchestrate your synergy pipelines. They are aggressively, fundamentally wrong. When you farm out your core logic to a third-party API, you are simply installing a networked, monetized DLL that can be yanked out from under you at any moment by a product manager looking to hit their Q3 revenue targets.
Stop wiring your business to hostile landlords. Build a solid, heavy monolith on a server you actually own, where the only thing that can break your code is your own incompetence. Or, better yet, just run two copper wires to a physical bell. Everything else is commentary.