Profile picture
Simon Brown @simonbrown
, 6 tweets, 2 min read Read on Twitter
A humble suggestion to anybody contemplating a greenfield microservices architecture, especially if you're replacing a monolithic "big ball of mud" that has become hard to work with ... *draw some diagrams showing your proposed design*.
Take something like my C4 model (c4model.com) and create the first two levels; System Context and Containers. Treat each microservice and any data stores as separate containers. Here's a simple example -> structurizr.com/share/4241#Con…
Draw the inter-service relationships too. Be sure to include information about the technologies you're planning to use (both for the services and the inter-service communication), and also the responsibilities of each service.
If this diagram starts to get complicated, well, it's probably mirroring the real world. Have a long hard think about whether you really need as many services. Use this diagram to identify any single points of failure. Also look for any pinch points or bottlenecks.
Now, take some of the key use cases/scenarios/stories/features and dry-run them across your diagram. Keep an eye out for long chains of synchronously coupled service calls, and temporal coupling in general.
There are lots of other things to look for too (e.g. lock-stepped deployment, service ownership, shared code, deployment, operational concerns, etc). Building a distributed architecture is hard. A few hours thinking could save you a whole lot of pain and misery later.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Simon Brown
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!