| ▲ | shermantanktop a day ago |
| Amateur hour? Not sure if you've lived through one of these cascading failures, but they are hard to design against, hard to load/chaos test for, and hard to recover from. The key is that this is a dynamic load, not a static load; and it's normally amplified by uncontrolled retry behavior by clients. In retrospect, the cause and cure are obvious to everyone. |
|
| ▲ | YZF a day ago | parent | next [-] |
| 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. | | |
| |
| ▲ | 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. |
|
|
|
| ▲ | CWuestefeld 11 hours ago | parent | prev | next [-] |
| We learned the hard way that there's a very non-obvious inflection point in large distributed systems, where the your design needs to change from accommodating load resiliently via queueing, auto scaling, and such, to a posture of actively scaling back certain features and even shedding load when in a defensive situation. It's really not intuitive, and at least for me, the need to admit that we couldn't just comp-sci our way out of some conditions was painful. |
|
| ▲ | UltraSane a day ago | parent | prev | next [-] |
| The best defense against cascading failures is limiting the blast radius, which is something AWS seems to do well but Azure does not. |
| |
| ▲ | venzaspa 14 hours ago | parent | next [-] | | Exchange Online and Microsoft 365 in general doesn't run on Azure. | |
| ▲ | sire-vc 14 hours ago | parent | prev | next [-] | | How did that AWS DNS incident go recently? Unplanned outages are unfortunate but common, and hubris is the problem when everyone assumes that they (or their pet vendor) are immune. | |
| ▲ | dboreham a day ago | parent | prev [-] | | From this we can tell where Jim Roskind works. |
|
|
| ▲ | llama052 a day ago | parent | prev | next [-] |
| Except for the fact that it seems like most Microsoft outages are self owns. I'm not sure how many times we've had outages due to bad deployments that somehow made it to their global infrastructure and only got noticed when customers notified. Plenty of internal accounts from previous employees highlight this. |
| |
| ▲ | motionlessveloc a day ago | parent [-] | | To be fair to Microsoft (and I'm having trouble believing I just wrote that), the vast majority of everybody's outages are "self owns". If you don't change anything, you're not going to break anything, and major external events (fires, cable cuts etc) are rare and can usually be worked around. |
|
|
| ▲ | rimliu 16 hours ago | parent | prev | next [-] |
| so, Bedlam 4? |
|
| ▲ | infamouscow a day ago | parent | prev [-] |
| Many of us insist upon not building Rube Goldberg machines that cannot be reasoned about precisely for this reason. Most of the time we get demonized by resume-driven developers job-hopping every few years (seems like the lack of deep expertise is working out). Today we get to laugh at their expense. These problems were entirely foreseeable and avoidable. |
| |
| ▲ | lebuffon a day ago | parent | next [-] | | Isn't a complex computer system, at the lowest levels, an example of a Rube Goldberg machine ? If we could see the memory bits and the CPU internals, I think it would be good candidate, particularly branching and branch prediction. | | |
| ▲ | YZF a day ago | parent [-] | | There are methods for building complex systems our of smaller pieces. Humanity has done this forever. An internal combustion engine is very complex. An airplane is very complex. You put a boundary around your system, you build it to a spec, you test it to a spec, you define the behaviour across anything you can see. When two engines fail on the airplane it can maybe still at least glide. Maybe there's an ejection seat. Because someone is doing the system thinking with some level of discipline. A brick is very complex. A bearing is complex. A bolt and a nut and a washer are complex. An integrated circuit is complex. We build stuff out of that. Like buildings that don't fall when you sneeze on them. In software we use duct tape - at best. But that's not just Microsoft, that's pretty much everyone. With maybe few exceptions. | | |
| ▲ | AIorNot a day ago | parent [-] | | Software systems are by nature more complex than physical systems. They also lack any tangible interfaces beyond code and diagrams and collective knowledge in the minds of the humans who build and maintain them.. The rapid evolution of software is no help either..if anything AI is accelerating that rapidity as well. |
|
| |
| ▲ | EFreethought a day ago | parent | prev | next [-] | | In my experience it is always the "business" people that do not want to take the time to do it correctly. | |
| ▲ | Den_VR a day ago | parent | prev [-] | | > building Rube Goldberg machines that cannot be reasoned about What a great phrase!, can I use that in conversation? |
|