Azure Architecture Centerは利点として、俊敏性、小さく焦点を絞ったチーム、障害の分離、サービス単位のスケーリングを挙げています。Fowlerらの2014年の記事は、リモート呼び出しはプロセス内呼び出しより遅いこと、境界をまたぐリファクタリングが難しいこと、分散トランザクションが難しく最終的整合性に頼ることを指摘しています。つまり、独立性と引き換えに分散システム特有の複雑さを引き受ける設計であり、すべての場面で最適とは限りません。
マイクロサービスの利点と主なトレードオフ
デプロイ・スケール・チーム単位の独立性が得られる一方、分散システムの複雑さを受け入れる必要があります。