This is crazy cool to see pop up on the front page as learning how to build, manage, and ship distributed systems feels like the next evolution of software engineering. We have all these tools for doing so for a single binary - great IDEs, easily-accessed logs, debuggers, etc. - but our tooling for working with multiple systems running in parallel hasn't caught up yet.
This is the ethos of what we're building at https://www.kurtosistech.com/ : expecting devs to learn the nuances of Docker and Kubernetes is like expecting them to code in assembly. You can do it, but there are higher levels of abstraction that are more effective (e.g. "I want this binary talking to this binary on this port with these args; you figure out the rest").
The hypothesis is that a unified platform for packaging a microservice, wiring it together with other services, setting up dev & testing environment environments, hooking it into CI, and furnishing a toolkit for debugging them (with some of the tools on this list, like a built-in Chaos Monkey) can reduce the cost to develop by distributed systems by an order of magnitude. If we can achieve that, does managing a distributed system become a single-developer job rather than a whole-team job?
This is the ethos of what we're building at https://www.kurtosistech.com/ : expecting devs to learn the nuances of Docker and Kubernetes is like expecting them to code in assembly. You can do it, but there are higher levels of abstraction that are more effective (e.g. "I want this binary talking to this binary on this port with these args; you figure out the rest").
The hypothesis is that a unified platform for packaging a microservice, wiring it together with other services, setting up dev & testing environment environments, hooking it into CI, and furnishing a toolkit for debugging them (with some of the tools on this list, like a built-in Chaos Monkey) can reduce the cost to develop by distributed systems by an order of magnitude. If we can achieve that, does managing a distributed system become a single-developer job rather than a whole-team job?