5 ms·
Hmm how many years are you going back? ZIRP in the USA began around 2008 and "microservices" as a word didn't really start being used until several years after
by mike_hearn 3y ago
Hmm how many years are you going back? ZIRP in the USA began around 2008 and "microservices" as a word didn't really start being used until several years after that:
https://books.google.com/ngrams/graph?content=microservices&year_start=2000&year_end=2019&corpus=en-2019&smoothing=3 https://books.google.com/ngrams/graph?content=microservices&...
We can debate what DHH really means when he says microservices. Distributed systems are obviously a lot older than the term microservices. But I think he's talking about systems that compromise many services that don't obviously map to hardware or organizational boundaries, which was the original reason you'd split a program up across multiple independent servers. I have to admit I don't recall encountering that trend before 2011 or so. If you take an app written in the 2000-2010 era e.g. Jira, they're all going to be either monoliths or apps loaded into Java app servers.
- throwaway11460 3y agoIt was called service oriented architecture before microservices, and the concept itself is way older in the mainframe world; not sure if it actually had a name because it was simply the way it needs to be done. Unix is basically microservices - and back in the 80s and early 90s even network services were built with the Unix philosophy, remember CGI? The Microsoft/Windows world was no stranger to it too - Corba (1991), D-COM (1996), SOAP (1998), WCF (2006) and now it's REST. Software systems on mainframes were comparable to what we call serverless today - having more external interfaces (like HTTP servers) running on a computer would waste resources, there was one common external interface that invoked code on request based on configuration, and that code delegated heavily to specialized systems - since there wasn't even enough program memory and loading from disk was slow. Having multiple layers of backend systems was normal. Queues and batch job processing was usual too, and frontend systems usually provided precalculated data only, transactions were processed through the night. Monoliths were actually the "cool new thing" started in late 90s and perpetuated by Java, PHP, Python and Ruby devs later on, they claimed it's easier to develop and deploy. Many people saw it as a conflict between corporate and startup software development practices - the boring engineers in suits always talking about service specifications and requirements for months VS the cool hackers that don't care and develop directly on prod server FTP to deliver a feature over the weekend. JIRA was one of these cool hacker startups. I don't think the hackers were completely wrong and delivering quickly has value, but it's much more nuanced than "ZIRP bad because ZIRP made microservices", see also my other comment there: https://news.ycombinator.com/item?id=40334281 https://news.ycombinator.com/item?id=40334281
- financltravsty 3y agoFantastic post.