| I tend to agree with you and it's one of the biggest reasons that I'm a fan of Elixir. Here's the path that leads to K8s too early. 1. We think we need microservices 2. Look how much it will cost of we run ALL OF THESE microservices on Heroku 3. We should run it ourselves, let's use K8s One of the big "Elixir" perks is that it bypasses this conversation and lets you run a collection of small applications under a single monolith within the same runtime...efficiently. So you can built smaller services...like a monolith...with separate dependency trees...without needing to run a cluster of multiple nodes...and still just deploy to Heroku (or Gigalixir). Removes a lot of over-architectural hand-wringing so you can focus on getting your business problem out the door but will still allow you to separate things early enough that you don't have to worry about long term code-entanglement. And when you "need" to scale, clustering is already built in without needing to create API frontends for each application. It solves a combination of so many short term and long term issues at the same time. |
Elixir and Erlang are basically a DSL for building distributed systems. It doesn't remove all of the complications of that task, but gives you excellent, battle tested, and non-proprietary tools to solve them.