En este tutorial implementará una aplicación monolítica de Node.js en un contenedor de Docker y, a continuación, desacoplará la aplicación en microservicios sin provocar tiempos de inactividad. La aplicación de Node.js aloja un sencillo boletín de mensajes con conversaciones y mensajes entre los usuarios.

Las arquitecturas monolíticas tradicionales son difíciles de escalar. A medida que crece la base de código de una aplicación, resulta compleja de actualizar y mantener. La incorporación de nuevas características, lenguajes, marcos y tecnologías se vuelve muy difícil, lo que limita la innovación y las nuevas ideas.

En una arquitectura de microservicios, cada componente de aplicación se ejecuta como un servicio propio y se comunica con otros servicios a través de una API bien definida. Los microservicios se construyen en torno a las capacidades empresariales y cada servicio desempeña una sola función. Los microservicios se pueden escribir con distintos marcos y lenguajes de programación, y puede implementarlos independientemente, como un solo servicio o como un grupo de servicios.

Durante este tutorial, le mostraremos cómo ejecutar una aplicación monolítica simple en un contenedor de Docker, implementar la misma aplicación como microservicios y, a continuación, cambiar el tráfico a los microservicios sin tiempo de inactividad. Después de terminar, podrá usar este tutorial y el código que contiene como plantilla para construir e implementar sus propios microservicios en contenedores en AWS.

arquitectura de aplicaciones
Arquitectura monolítica

Arquitectura monolítica

Toda la aplicación de node.js se ejecuta en un contenedor como un único servicio y cada contenedor tiene las mismas características que los demás. Si una característica de la aplicación experimenta un pico de la demanda, se debe escalar toda la arquitectura.

 
Arquitectura de microservicios

Arquitectura de microservicios

Cada característica de la aplicación de Node.js se ejecuta como un servicio independiente en su propio contenedor. Los servicios pueden escalarse y actualizarse independientemente de los demás.

Experiencia de AWS: nivel intermedio

Tiempo de realización: 2 horas

Costo para completarlo: cada servicio utilizado en esta arquitectura cumple los requisitos de la capa gratuita de AWS. Si supera los límites de uso de la capa gratuita, completar este tutorial le costará menos de 0,25 USD*.

Tecnologías utilizadas: para realizar este tutorial, usará:

*En esta estimación se supone que sigue las configuraciones recomendadas a lo largo del tutorial y termina todos los recursos en 24 horas.

**Es posible que las cuentas que se hayan creado en las últimas 24 horas no tengan acceso a todos los recursos necesarios para completar este proyecto.