モノリスとマイクロサービスは、一般的な2つのソフトウェアアーキテクチャです。モノリスは単一の統合されたアプリケーションですが、マイクロサービスはアプリケーションを小さく独立したサービスに分割します。マイクロサービスは、そのスケーラビリティと柔軟性から魅力的であり、大企業によく採用されています。しかし、オーケストレーション、監視、サービス間通信においてかなりの複雑さをもたらします。初期段階のプロジェクトでは、モノリスから始める方が実用的であることがよくあります。モノリスは、開発が効率化されているため、アイデアの検証をより迅速に行うことができます。また、すべてのコードが1か所にあるため、小規模なチームでも管理が容易です。インフラストラクチャの観点からは、モノリスは初期に必要なリソースが少なく、より安価です。製品が成長した場合、後でマイクロサービスにリファクタリングできる能力は、重要な利点です。マイクロサービスは本質的に悪いわけではありません。非常に大規模なアプリケーションや複雑な統合には最適です。著者は、シンプルさ、スピード、コスト効率を重視して、モノリスから始めることを提唱しています。このアプローチにより、プロジェクトはマイクロサービスの複雑さに取り組む前に、プロダクト・マーケット・フィットの達成に集中することができます。
dev.to
Monolith vs Microservices: Kenapa Sebaiknya Mulai dari Monolith?