自律的なソフトウェアコンポーネントとしての境界づけられたコンテキスト
from A Functional Architecture
境界づけられたコンテキストは自律的なサブシステムであり、明確に定義された境界をもつのが重要
この制約下でも、選択可能なアーキテクチャのスタイルはたくさんある
システム全体を モノリシック なデプロイ単位とする(モノリス)
境界づけられたコンテキストの単位で、専用のコンテナを個別にデプロイする(サービス指向アーキテクチャ)
ワークフロー単位で、専用のコンテナを個別にデプロイする(マイクロサービスアーキテクチャ)
初期段階で、特定のアプローチに拘束される必要はない
プロジェクトの初期段階から適切な境界を設定することは不可能
ドメインについての知識が深まるにつれて境界は変化する
モノリスはリファクタリングが容易なので、最初はこれでシステムを構築すると良い
必要に応じて疎結合コンテナにリファクタリングできる
マイクロサービスという選択肢
利点が欠点を上回ることを確信できないかぎり、マイクロサービス・プレミアム を支払う必要はない
真に疎結合なマイクロサービスアーキテクチャを実現するのは難しい
1 つを停止したら他のものが失敗する場合、それはただの分散モノリス