マイクロサービスの粒度問題

Strategies for Decomposing a System into Microservices
将系统分解为微服务的策略

ソフトウェアのオブジェクト指向設計やDBMSのER図設計には、
粒度についていつも難解な課題ですが、
マイクロサービスも同様で、サービスをどこまで細かく分割するかは、
今までベストプラティクスがなかった。

このドキュメントは、結構参考になるかもしれません。

The threshold upon which a system can be decomposed into microservices is defined by the use cases of the system that the microservice is part of.

要はUseCase軸が大事ですね。わかりやすい。

For Khononov, CTO at Internovus, and his team, the belief from the beginning was that the smaller a service is, the better it will be. That led them straight into building a distributed monolith, and during the coming years they struggled to move away from their tiny services while evaluating different decomposition strategies.

最初の頃は、小さいサービス化がいいと信じでいたが、結果的にdistributed monolithになってしまった。

that microservices is not really about the inside of a service, but rather about the interaction and coupling between services.

ようは、マイクロサービスは、総合利用性と結合性が大事だ。