このチュートリアルでは、モノリシック node.js アプリケーションを Docker コンテナにデプロイしてから、ダウンタイムなしでアプリケーションをマイクロサービスに分離させます。node.js アプリケーションは、スレッドとユーザー間のメッセージを含むシンプルなメッセージボードをホストします。

従来のモノリシックアーキテクチャは、スケーリングが困難です。アプリケーションのコードベースが拡大するにつれ、更新と維持も複雑になります。新しい機能、言語、フレームワーク、およびテクノロジーの導入が非常に難しくなり、イノベーションと新しいアイデアが制限されてしまいます。

マイクロサービスアーキテクチャ内では、各アプリケーションコンポーネントが独自のサービスとして実行され、明確に定義された API を介して他のサービスと通信します。マイクロサービスはビジネス機能を中心に構築され、サービスはそれぞれ単一の機能を実行します。マイクロサービスは、異なるフレームワークおよびプログラミング言語を使用して記述することができ、単独で、単一のサービスとして、またはサービスのグループとしてデプロイすることができます。

このチュートリアルでは、Docker コンテナ内でシンプルなモノリシックアプリケーションを実行し、同じアプリケーションをマイクロアプリケーションとしてデプロイしてから、ダウンタイムなしでトラフィックをマイクロサービスに切り替える方法を説明します。終了後はこのチュートリアルとその中のコードをテンプレートとして使用し、AWS で独自のコンテナ化されたマイクロサービスを構築してデプロイすることができます。

アプリケーションアーキテクチャ
モノリシックアーキテクチャ

モノリシックアーキテクチャ

node.js アプリケーションは、全体が単一のサービスとしてコンテナ内で実行され、各コンテナには他のコンテナすべてと同じ機能があります。1 つのアプリケーション機能で需要が急増した場合、アーキテクチャ全体をスケールする必要があります。

 
マイクロサービスアーキテクチャ

マイクロサービスアーキテクチャ

node.js アプリケーションの各機能は、それぞれ独自のコンテナ内で個別のサービスとして実行されます。サービスは、他のサービスとは無関係にスケールおよび更新することができます。

AWS 経験: 中級

修了時間: 2 時間

修了コスト: このアーキテクチャで使用される各サービスは AWS 無料利用枠の対象です。無料利用枠の限度を超えている場合のこのチュートリアルの修了コストは 0.25 USD 未満*です。

使用するテクノロジー: チュートリアルの修了には、以下を使用します。

*この見積もりでは、ユーザーがチュートリアル全体で推奨される構成に従い、24 時間以内にすべてのリソースを終了することを前提としています。

**過去 24 時間以内に作成されたアカウントには、このラーニングパスを修了するために必要なすべてのリソースへのアクセス権がない場合があります。