エンタープライズソフトウェアはめったに止まりません。モジュールが増え、連携が増え、ユーザーが増えます。モノリスでは、あらゆる変更がシステム全体の再ビルドと再デプロイを必要とし、遅くリスクも高くなります。マイクロサービスはシステムを小さく独立したサービスに分割し、各サービスが自らのデータとライフサイクルを持ちます。
必要に応じてスケールし、無駄を出さない
各サービスは実際の負荷に応じて独立してスケールします。たとえば決済サービスはピーク時に大きくスケールアップする一方、レポートサービスは据え置かれます。システム全体を複製するのではなく、必要な部分にだけ正確にコストを支払います。
独立して展開し、障害を隔離する
チームは他に手を触れずに一つのサービスだけを更新でき、リリースサイクルを短縮できます。あるサービスに障害が起きても、システム全体を巻き込む代わりに障害が封じ込められます。これは高可用性を実現するための前提条件です。
「マイクロサービスは流行りのアーキテクチャではなく、十分に大きくなったソフトウェアを変え続けられる状態に保つための方法です。」
Apus Platform は当初からマイクロサービスアーキテクチャの上に構築されています。これは、Apus チームが手がけた大規模システム(電子ウォレットのコアなど)を支えたのと同じ力です。この土台があるからこそ、Apus はシステムの安定性を保ちながら、業務モジュール一式を拡張できます。