Remix.run Logo
▲ YZF a day ago

I have lived through and debugged cascading failures and large scale distributed systems.

The problem is amateur hour is the entire industry. Nobody specs anything, nobody tests overload conditions, nobody thinks failure modes. The stuff that every engineer does when building anything else other than software doesn't happen. The orgs are bloated. Too many teams. Too many silos. Incentives are stacked the wrong way. People are motivated to not think about systems but stay in their lane. Responsibilities are split in weird ways.

Yes. Big systems are hard. But we can build, manage and understand big systems with the right approach and people. Even one computer is complicated and many people get stuck trying to debug a piece of software running on one machine. At the end of the day it's not magic. All of humanity is big systems but when I have a power failure the power company is generally able to understand why and resolve it and the water in my tap doesn't stop flowing and the cell towers still work (generators, who would have thunk).

A friend who is really good had to leave Microsoft because of how AI was pushed. Before that he was telling me some other stories that make the culture seem pretty not great. Heard similar stories from other people. It used to be a great place filled with great people until at some point it's just another big company.

▲publlus_enigma 21 hours ago | parent | next [-]

We took some of the hardest problems in computer science: distributed systems, scale, concurrency and networking, and made them the standard for every To do app.

This is the inevitable consequence.

When I look across the scale of all the failures that have occurred in big tech over the past few years, my self-hosted solutions have been cheaper and more reliable. They are simple. They are small. They are easy to fix and diagnose. Because they're not trying to solve all the world's problems.

▲Arbortheus 17 hours ago | parent | next [-]

People expect software to be feature rich, complex and solve all the world’s problems. And if you don’t do that, the vibe coded competition will beat your cleanly architected product commercially.

▲cowlevel 13 hours ago | parent | next [-]

It's not even better though. It doesn't have more features because it's a distributed system. It isn't faster because it's a distributed system. Maybe it has a bit higher uptime but nobody was paying too much attention to that anyway, except when it's down. And it's much better for your PR if, when it's down, it isn't down for everyone at once.

▲gpvos 15 hours ago | parent | prev | next [-]

Indeed, it's an expectation problem, and it's even worse in higher management.

▲shermantanktop 2 hours ago | parent | prev [-]

Users don't expect infinite features.

Managers and marketers are the ones asking for all those useless features. And god forbid they run out features to ask for, because then they start asking for architecture v2.0 projects.

▲roamerz 19 hours ago | parent | prev [-]

I think scale is the keyword there..

▲torben-friis a day ago | parent | prev | next [-]

I'll be the downvoted comment, since HN doesn't like to hear this, but the other flavors of engineering do stuff we don't because they're regulated.

My bet is we'll eventually get there. Planes kill people when they fall, software used to not be as dangerous, but it's been a while since it became critical infrastructure.

▲bigDinosaur 21 hours ago | parent | next [-]

I can't think of any other engineering discipline where demand might increase by a factor of a million in a few seconds because some DNS record was propagated incorrectly or something - regulation won't magically solve the issues unique to software. Maybe it's doable with vastly increased costs (a classic would be running fully redundant 1:1 warm failovers, which nobody could economically do at the cloud provider level.)

That's not to excuse incompetence or whatever, just to note that the benefit of software is precisely how easy it is to change, which will always lead to more problems.

▲tarsierscripter 20 hours ago | parent | next [-]

Electrical engineering of the power grid has the exact same failure mode: cascading failures of interconnected power grids can cause loads to increase by factor of a million in a few seconds.

I remember a power outage in 2003 that knocked out power for 55 million people and took over a week to restore in many places.

▲cowlevel 13 hours ago | parent [-]

Also known as *the* blackout. https://en.wikipedia.org/wiki/Northeast_blackout_of_2003

Note that buggy software was a major contributing factor! The software was designed to, and would have, detected a deteriorating system an hour before anything broke, which would have provided ample time to intervene. However, a race condition caused the whole monitoring system to display stale data and then crash, including the redundant backup. This wasn't the only problem by far, but it was one layer of swiss cheese.

Also note the power companies have clear procedures to reboot the grid, known as a "black start[up]". And they test these procedures, though without taking down the grid.

▲jimnotgym 15 hours ago | parent | prev [-]

Which is the kind of exceptionalism that really creates these problems. Software is the only industry that allows people untrained in running global infrastructure to run global infrastructure.

▲NetMageSCW 6 hours ago | parent [-]

So why do other global systems have massive failures?

▲matwood 18 hours ago | parent | prev | next [-]

> My bet is we'll eventually get there.

Until the cost is mentioned. People love free or nearly free software.

▲byzantinegene 17 hours ago | parent | prev | next [-]

i think it'll go the other direction with vibe-coded software.

▲mschuster91 a day ago | parent | prev [-]

> My bet is we'll eventually get there.

Given that people on reddit claimed that in the entirety of New Zealand no real estate transactions can be settled, causing cascading failures [1]...

I think this might actually be the incident pushing governments to designate large online services such as MS 365, Gmail et al as critical infrastructure and force companies to massive, yet-unseen levels of transparency and regulation.

The EU is already itching to act ever since the Trump admin forced US Big Tech to terminate service to the ICC judges, and this here was a square own goal for Microsoft.

[1] https://www.reddit.com/r/sysadmin/comments/1xus565/comment/1...

▲don_esteban 20 hours ago | parent [-]

The other option is to not outsource everything to the cloud. Yeah, it is more convenient ... but in these times, being a bit more self reliant is not a bad thing.

▲NetMageSCW 9 hours ago | parent [-]

In these times, paying more for that is not an option. Servers with lots of RAM are 5 times what they cost a couple of years ago. Cloud is a huge bargain today compared to running your own infrastructure.

▲Anon1096 21 hours ago | parent | prev | next [-]

The problem is that you are only as strong as your weakest link. At some point, something somewhere will be architected poorly and it will one day line up perfectly with 2 other bugs that were incredibly hard to predict and then you're stuck in Microsoft's current situation.

Also, power grids are a poor example. There's been multiple instances of absolutely catastrophic failures so hoity toity capital E Engineers also make mistakes.

https://en.wikipedia.org/wiki/2025_Iberian_Peninsula_blackou...

https://en.wikipedia.org/wiki/Northeast_blackout_of_2003

▲danaris 13 hours ago | parent | prev [-]

This is the same as what's been happening with entire industries: Build for the critical path. Eliminate redundancies. Eliminate resiliency. Lean staffing. Just-in-time manufacturing. Single-vendor mandates.

In the name of efficiency and profit, we have stripped away all the safeguards that should prevent cascading failures after the first domino falls. Anything that doesn't return profit now, today, every day, must be purged. Because what if that domino never falls? Then you wasted your money! Think how much you can save if you don't need to make backups! (And every dollar saved is a dollar in my pocket!) Etc.

And torben-friis is right: the only solution to this, demonstrably, is regulation. Require multiple vendors for every major component. Require staffing sufficient to cover a third the company being on vacation. Require resilient systems, that can take a single disaster and keep on trucking, because they are the backbone of our economy.

▲NetMageSCW 6 hours ago | parent [-]

Regulation will just make a bad situation worse- complicated things rarely get good regulation.