¿Cómo se pueden implementar microservicios en AWS? ¿Cuál es el proceso detrás de esto?

Bueno, todo depende de la tecnología detrás de sus microservicios. ¿Estás usando Docker? Service Fabric? ¿Matraz? Ruby …?

Dado que es 2017 y está hablando de AWS y el CTO de Amazon dijo una vez que “Ningún servidor es más fácil de administrar que ningún servidor”, le daré una respuesta asumiendo que está interesado en implementar microservicios sin servidor en AWS .

Pues felicidades! Hay una cosa en AWS llamada Lambda que le permite ejecutar su código (controlador) sin tener que implementar el servidor. Se encarga de administrar la infraestructura subyacente para usted e incluso se escala hacia arriba y hacia abajo según las solicitudes entrantes. La mejor parte es que puede conectarlo con sus repositorios de código para permitir la implementación continua automatizada. Eche un vistazo a la implementación automática de aplicaciones basadas en Lambda para obtener más información. Este es tu controlador.

También hay otro servicio en AWS llamado Amazon API Gateway que le proporciona su … bueno API gateway de la aplicación. Básicamente, esta sería una puerta de entrada a su aplicación, excepto que no tiene que administrar la infraestructura subyacente.

¿Necesita también almacenamiento de datos persistente? ¿Qué tal usar una base de datos NoSQL como Amazon DynamoDB – NoSQL Cloud Database Service? Una vez más, está libre de la lucha de la infraestructura / administración del servidor. Hay API para que trabaje con su DynamoDB Amazon DynamoDB – Amazon DynamoDB

¡Espero que esto ayude!

Si desea conducir hasta la vanguardia de las tendencias actuales, como Saba respondió, podría dejar de usar servidores sin una combinación de AWS Lambda, AWS API Gateway y el almacenamiento de datos de back-end que mejor se adaptara a sus necesidades.

Otra forma, que es un poco más tradicional porque todavía utiliza instancias EC2, es implementar microservicios con Amazon ECS y Amazon ALB.

  • Servicio de contenedor Amazon EC2 – Administración de Docker – AWS
  • AWS | Equilibrio de carga elástica | Balanceador de carga de aplicaciones

ECS proporciona algunas herramientas para proporcionar segregación lógica para los componentes de su aplicación, y puede usar ALB para enrutar las solicitudes de los clientes a puntos finales individuales. El siguiente enlace explica parte de la arquitectura básica:

Ejecute microservicios en contenedores con Amazon EC2 Container Service y Application Load Balancer

Hay muchas opciones en términos de cómo implementar el código, el almacenamiento de datos del back-end, las estrategias de almacenamiento en caché, etc. Todo depende de la naturaleza de su aplicación y las opciones de diseño.