このチュートリアルでは、モノリシックな node.js アプリケーションを Docker コンテナにデプロイし、ダウンタイムなしでアプリケーションをマイクロサービスに分離します。この node.js アプリケーションでは、スレッド機能付きのシンプルな掲示板とユーザー間のメッセージをホストします。

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

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

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

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

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

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

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

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

node.js アプリケーションの各機能は、コンテナ内で独立したサービスとして実行されます。サービスはスケール可能であり、他のサービスとは独立して更新できます。

AWS の使用経験: 中級

完了までの時間: 2 時間

完了までのコスト: このアーキテクチャで使用する各サービスは、AWS 無料利用枠の対象となります。無料利用枠を利用できない場合、この学習過程を完了するための費用は 0.25 USD* 未満です。

使用するテクノロジー: このチュートリアルを完了するために使用するものは、以下のとおりです。

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

**過去 24 時間以内に作成されたアカウントは、このプロジェクトを完了するために必要なすべてのリソースへのアクセス権がまだ付与されていない可能性があります。