5 ms·
Putting consumer grade (aka "commodity") hardware in a datacenter and running your infra on it is a bit of a meme, in the sense that it's not the only way of do
by roncesvalles 7mo ago
Putting consumer grade (aka "commodity") hardware in a datacenter and running your infra on it is a bit of a meme, in the sense that it's not the only way of doing things. It was probably pioneered/popularized by Google but that's because writing great software was their "hammer", ie they framed every computing problem as a software problem. It was probably easier for them (= Jeff Dean) to take mediocre hardware and write a robust distributed system on top instead of the other way around.
There is, however, a completely different vision for how web infrastructure should be and that is to have extremely resilient hardware and simple software. That's what a mainframe is. You can write a simple and easy to maintain single process backend program, run it on a mainframe and be fairly confident that it can run without stopping for decades. Everything from the power supply to the CPU is redundant and can be hot swapped without booting the OS. Credit card transactions and banking software run on this model for example (just think about how insanely reliable credit card transactions are).
IBM has a monopoly in the second world. You could say the entire field of distributed systems is one big indie effort to break free of IBM's monopoly on computing.
- Nursie 7mo ago> Credit card transactions and banking software run on this model for example Eh, they can but even a couple of decades ago there was a shift to open platforms. 90s and early 00s, sure, it was mainframe and exotic x86 species like Stratus machines. But even then the power of “throw a ton of cheaper Unix at it” was winning. Banks’ central systems maybe, I have less experience there. IBM did also try for a while to ride the Linux virtualisation wave as well, saying “hey, you can run thousands of Linux instances on a single mainframe”, and I did some work porting IBM software to s390 Linux around 2007.
- mghackerlady 7mo agox86 servers weren't that common in the 90s and early 200s, that was all sun or the other commercial unix peoples things
- greedo 7mo agoSun was dying in 2000. I was busy deploying BSD and a bit later Linux for all our x86 gear.
- mghackerlady 7mo agoJava was exploding and sun machines were the server platform at the time. Yes, the dot com bubble burst and their stock was in freefall but all the things deployed to sun that survived the bubble didn't just disappear or move to X86 overnight
- greedo 7mo agoWell you can say the same about COBOL... Just because things hung around didn't mean that Sun/Solaris/Java were long for this world. Linux/x86 was just too cheap compared to SPARC gear. Even if it wasn't as robust as the Sun gear, it just made too much sense especially if you didn't have any legacy baggage.
- mghackerlady 7mo agoI never said that was the future, the writing was on the wall to anyone paying attention. All I was saying is that x86 servers weren't nearly as ubiquitos as today
- pjmlp 7mo agoMeanwhile in 2000 we only considered Linux good enough to host our MP3 file server and quake for the late nights. All our production stuff was being deployed on Aix, HP-UX, Solaris and Windows NT/2000 Server. Likewise most of my university degree used DG/UX and Solaris, when Red-Hat Linux was first deployed on the labs, it was after the DG/UX server died, and I was already on the fourth year of a five year degree.
- greedo 7mo agoWell we were a small startup, and the idea of using AIX was a non-starter. Solaris was lovely, but our E250 was only for mail, and in hindsight we should have stood up a FreeBSD server with dovecot or something instead of a system that we migrated off of a year later. We did use NT/2K internally but that was because we had some who insisted on using SMB via Windows. Such fun times. The nix and nix-like OSes were spreading like fire. I never would have thought I'd ever wrangle them for the majority of my career.
- mech422 7mo agoIIRC the Stratus/Model 88 was Moto 68K chips, not x86? I worked on them for years on wall st. - really nice machines! :-D
- Nursie 7mo agoThe ones I encountered (and I never worked on them directly) were tandem-x86 systems and ran windows. According to Wikipedia they launched in 2002, so I guess they were quite new when I saw them in 03.
- zozbot234 7mo ago> There is, however, a completely different vision for how web infrastructure should be and that is to have extremely resilient hardware and simple software. You actually need both, the point of the extremely resilient hardware is that it can act as the single source of truth when you need it - including perhaps hosting some web-based transactions that directly affect your single source of truth. (Calling this a "model" for web-based infrastructure in general would be misleading though: a credit card transaction on the web is not your ordinary website! The web is just an implementation technology here.) Everything else can be ephemeral open systems, which is orders-of-magnitude cheaper.
- throwaway27448 7mo ago> Credit card transactions and banking software run on this model for example TSYS is super expensive and is dying out. The current generation of banking software is very much shifting to distributed software across commodity data centers.
- g947o 7mo agoSource? Interested in learning more about this
- esseph 7mo agoRed Hat OpenShift (IBM) is what a lot of banks have settled on. Red Hat went all in maybe 5+ years ago in capturing those institutions.
- vbezhenar 7mo agoWhat I think today people do: 1. They run complicated infrastructure software, written by third-party developers. 2. And they run their own simple programs on top of them. So for example you can rent Kubernetes cluster from AWS and run simple HTTP server. If your server crashes, Kubernetes will restart it, so it's resilient. There will be records in some metrics which will light up some alerts and eventually people will know about it and will fix it. Another example: your simple program does some REST GET query. This query failed for some reason. But that query was intercepted by middleware proxy and that proxy determines that HTTP response was 5xx, so it can retry it. So it retries it few times with properly calibrated duration and eventually gets a response and propagates it back to the simple program. Simple program had no idea about all the stuff happening to make it work, it just threw HTTP query and got a response. There's a lot of complicated machinery to enable simple programs to be part of resilient architecture. That's a goal, anyway.
- roncesvalles 7mo agoWorth noting, of course, that Kubernetes traces its lineage to Google. It is the virtual mainframe that Google built on top of commodity clusters.
- jhallenworld 7mo agoHow well do commodity systems protect your financial transactions from cosmic ray-induced bit errors?
- stronglikedan 7mo agoHow often do you hear about them? Now divide that by the millions (billions?) of daily transactions to get an approximate error rate. That's about how well they are protected.