В этом учебном пособии вы выполните развертывание монолитного приложения Node.js в контейнере Docker и разделите это приложение на микросервисы, не прерывая его работу. Это приложение node.js размещает простую доску объявлений, которая поддерживает потоки и обмен сообщениями между пользователями.

Традиционные монолитные архитектуры очень трудно масштабировать. По мере роста базы кода ее обновление и обслуживание усложняются. Добавление новых возможностей, языков, платформ и технологий становится очень трудным, что ограничивает возможности инновации и внедрения новых идей.

В архитектуре микросервисов каждый компонент приложения становится отдельным сервисом, который взаимодействует с другими сервисами через четко определенные API. Микросервисы основываются на конкретных возможностях бизнеса, и каждый из них имеет одну конкретную функцию. Для разных микросервисов можно использовать разные среды и (или) языки программирования, а также их можно развертывать независимо друг от друга, по одному или группами.

В этом учебном пособии мы продемонстрируем размещение простого монолитного приложения в контейнере Docker, развертывание аналогичного приложения в формате микросервисов и переключение трафика на микросервисы без прерывания работы. Завершив работу, вы можете применить это пособие и созданный в нем код в качестве шаблона для создания и развертывания собственных микросервисов в контейнерах на AWS.

архитектура приложения
Монолитная архитектура

Монолитная архитектура

Полное приложение node.js выполняется в контейнере как один сервис, а все его контейнеры выполняют одни и те же функции.. Если повысится нагрузка на один из элементов такого приложения, придется масштабировать всю архитектуру.

 
Архитектура микросервисов

Архитектура микросервисов

Каждая функция приложения node.js выполняется как отдельный сервис в собственном контейнере. Эти сервисы можно масштабировать и обновлять независимо друг от друга.

Навыки работы с AWS: средний уровень

Время выполнения: 2 часа

Стоимость выполнения: все сервисы этой архитектуры входят в уровень бесплатного пользования AWS. Если вы уже превысили лимиты, установленные для уровня бесплатного пользования, работа с этой схемой обучения обойдется вам не более чем в 0,25 USD*.

Требуемые инструменты. Для выполнения этого учебного пособия вам потребуются:

* Предполагается, что вы будете использовать рекомендуемые конфигурации на протяжении всего учебного курса и завершите работу всех ресурсов в течение 24 часов.

** Аккаунты, созданные в течение последних 24 часов, могут еще не иметь доступа к ресурсам, необходимым для выполнения этого проекта.