Trade off or trade up?
The distributed architectural style in microservices offers significant benefits in building large scale distributed systems. This naturally makes it the first choice for designers. However, the pivotal point to leverage most of the benefits of microservices design primarily rests in the size and granularity of microservices. Designers are posed with questions like – “How big is too big and how small is too small?”. These questions are difficult to navigate and depends upon many factors, which may not be known up front. Fortunately, microservices architecture inherently allows designers to experiment and refine the granularity of the microservices as and when influencing factors are uncovered during the length of the project. I feel that the perceived benefits of microservices architecture continue to outweigh its associated overheads – making it the most desirable architectural style for building large scale systems.