I used to write articles like this. And I used to relish in the details of building distributed systems. No more. The reality is that monolith everyone loves to rage on about as the grand opposition to microservices is actually built on an operating system that abstracts away the details programmers before us had to deal with. And I imagine they too talked of the tradeoffs in design between design patterns. If an architecture and operating environment promotes distributed systems development then these problems go away and actually you find it's a fundamentally better experience. Unix pipes were written in a single day and they became the thing that redefined how programs were written. Imagine all your favourite tools like ls, grep, ps we're just one monolith. Holy heck no.
I think microservices are waiting for the distributed operating system and development environment that makes life as easy as Unix did with C programming and bash.
All these things in the article. You shouldn't have to care about.
I very much agree. Have you seen Unison, the language written by a prominent Scala author? Do you think that it provides enough abstractions for distributing processing to push it over the "tipping point"?
First I'm seeing of unison, will have a look thanks. My primary language became Go when that came out, and I don't foresee myself moving to another language until there's a paradigm shift. Meaning, I think the majority of services we need will be written in Go and be exposed as very standard consumable APIs much like unix tools were with text. The shift beyond that, I think is to a language that understands a live environment of these services as opposed to yet another language that looks to replace existing languages.
Basically I think Go is the last language needed on the backend for the way we write software today much as C reached its pinnacle 10-15 years ago. C program moved to Java or dynamic scripting languages for different platforms. Go dominates the Cloud and I think the platforms we program for beyond that might be something higher level. Maybe voice. Maybe something visual, who knows.
I think microservices are waiting for the distributed operating system and development environment that makes life as easy as Unix did with C programming and bash.
All these things in the article. You shouldn't have to care about.