In diesem Tutorial werden Sie eine monolithische Node.js-Anwendung für einen Docker-Container bereitstellen und die Anwendung anschließend ohne Unterbrechungen in Microservices zerlegen. Die Node.js-Anwendung hostet ein einfaches Internetforum, in dem Benutzer Threads erstellen und untereinander Nachrichten austauschen können.
Traditionelle monolithische Architekturen sind schwer skalierbar. Wenn die Codebasis einer Anwendung wächst, wird es im Laufe der Zeit immer schwerer, diese Codebasis zu aktualisieren und zu warten. Dies erschwert nicht nur die Einführung neuer Funktionen, Sprachen, Frameworks und Technologien, sondern schränkt auch Innovation und die Umsetzung neuer Ideen ein.
Innerhalb einer Microservices-Architektur wird jede Anwendungskomponente als ihr eigener Service ausgeführt und kommuniziert mit anderen Services über eine klar definierte API. Microservices werden auf der Grundlage der Möglichkeiten eines Unternehmens entwickelt. Jeder Service führt eine bestimmte Funktion aus. Microservices können mithilfe von verschiedenen Frameworks und Programmiersprachen geschrieben werden. Sie können unabhängig, als einzelner Service oder als Gruppe von Services bereitgestellt werden.
In diesem Tutorial zeigen wir Ihnen, wie Sie eine einfache monolithische Anwendung in einem Docker-Container ausführen, die gleiche Anwendung als Microservices bereitstellen und den Datenverkehr ohne Unterbrechungen zu den Microservices umleiten. Wenn Sie fertig sind, können Sie dieses Tutorial und den darin enthaltenen Code als Vorlage verwenden, um in AWS Ihre eigenen containerisierten Microservices zu entwickeln und bereitzustellen.


Monolithische Architektur
Die gesamte Node.js-Anwendung wird als einzelner Service in einem Container ausgeführt. Alle Container verfügen über die gleichen Funktionen. Wenn in einer Anwendung eine Spitze auftritt, muss die gesamte Architektur skaliert werden.

Microservices-Architektur
Jede Funktion der Node.js-Anwendung wird innerhalb ihres eigenen Containers als separater Service ausgeführt. Die Services können unabhängig voneinander skaliert und aktualisiert werden.
Erfahrung mit AWS: Fortgeschritten
Benötigte Zeit: 2 Stunden
Kosten: Jeder Service dieser Architektur ist im kostenlosen Kontingent für AWS enthalten. Wenn die Nutzungsgrenzen des kostenlosen Kontingents für Sie nicht gelten, werden Ihnen für den Abschluss dieses Tutorials weniger als 0,25 USD in Rechnung gestellt*.
Verwendete Technologien: Zum Abschluss dieses Tutorials benötigen Sie Folgendes:
- Ein aktives AWS-Konto**
- Einen Texteditor: AWS empfiehlt Atom
- Einen Browser: AWS empfiehlt Chrome
- Amazon EC2
- Amazon Elastic Container Service
- Amazon Elastic Container Registry
- Amazon VPC
- AWS CloudFormation
- Elastic Load Balancing
- Docker
- GitHub
- node.js
*Diese Schätzung basiert auf der Annahme, dass Sie die empfohlenen Konfigurationen während des gesamten Tutorials übernehmen und alle Ressourcen innerhalb von 24 Stunden beenden.
**In Konten, die innerhalb der letzten 24 Stunden erstellt wurden, stehen möglicherweise noch nicht alle Ressourcen zum Durchführen dieses Projekts zur Verfügung.