Member-only story
Distributed applications are hard, but you’re probably already doing it!

You probably already have a distributed system
One way to reason about distributed systems are that it’s capabilities reside in distinct systems.
There are plenty of articles online discussing “monolith vs microservices”. However the reality is that a monolith or a microservice is just one part of a set of disparate systems which together make your business application(s) capable. In short it’s already a distributed system.
Lets make this more concrete with an example.
We have built a cool product as a monolith, but that’s just the application that contains the the business logic.
We also have:
- A database.
- For logging we use the Elastic search stack of Fluentd, Elasticsearch and Kibana.
- For metrics we use Prometheus and Grafana.
- For tracing we use Zipkin.

As Fig. 1 shows, alongside our monolith application we are using several other systems, so no matter whether our business application is deployed…