Implementación de microservicios en AWS - Implementación de microservicios en AWS

Implementación de microservicios en AWS

Fecha de publicación: 9 de noviembre de 2021 (Historial de revisión y colaboradores)

Resumen

Los microservicios son una estrategia organizativa y de arquitectura para el desarrollo de software creada para agilizar los ciclos de implementación, promover el nivel de innovación y distribución de responsabilidades, mejorar la capacidad de mantenimiento y ajuste de escala de las aplicaciones de software y aumentar la escala de las organizaciones que ofrecen software y servicios mediante el uso de un método ágil que ayuda a los equipos a trabajar de manera independiente. Cuando se usa una estrategia basada en microservicios, el software está compuesto por pequeños servicios que se comunican mediante interfaces de programa de aplicación (API) bien definidas que se pueden implementar de manera independiente. Los responsables de estos servicios son equipos autónomos reducidos. Esta estrategia ágil es clave para que pueda aumentar la escala de su organización correctamente.

Se han observado tres patrones habituales cuando los clientes de AWS crean microservicios: basado en API, basado en eventos y secuencia de datos. Este documento técnico presenta las tres estrategias y resume las características comunes de los microservicios, detalla los principales desafíos de crear microservicios y describe cómo los equipos de productos pueden aprovechar las soluciones de Amazon Web Services (AWS) para superar esos desafíos.

Debido a la naturaleza bastante compleja de varios temas que se tratan en este documento técnico, incluidos el almacenamiento de datos, la comunicación asíncrona y la detección de servicios, se recomienda que tenga en cuenta los requisitos específicos y los casos de uso de sus aplicaciones, además de la orientación proporcionada, antes de realizar opciones arquitectónicas.

Introducción

Las arquitecturas basadas en microservicios no son una estrategia completamente nueva en la ingeniería de software, sino más bien una combinación de varios conceptos consolidados y exitosos, como:

  • Desarrollo de software ágil

  • Arquitecturas orientadas a servicios

  • Diseño que prioriza las API

  • Integración continua y entrega continua (CI/CD)

En muchos casos, los patrones de diseño de metodología de la Aplicación de Doce Factores se aprovechan para los microservicios.

En primer lugar, el documento técnico describe los diferentes aspectos de una arquitectura de microservicios altamente escalable y tolerante a errores (interfaz de usuario, implementación de microservicios y almacén de datos) y cómo desarrollarla en AWS mediante el uso de tecnologías de contenedores. A continuación, recomienda los servicios de AWS para implementar una arquitectura de microservicios sin servidor típica para reducir la complejidad operativa.

La modalidad sin servidor se define como un modelo operativo debido a los siguientes principios:

  • Inexistencia de aprovisionamiento y administración de infraestructura

  • Ajuste de escala automático por unidad de consumo

  • Modelo de facturación de pago por valor

  • Disponibilidad y tolerancia a errores integradas

Finalmente, el documento técnico observa el sistema en general y analiza los aspectos de las interrelaciones entre los servicios de una arquitectura de microservicios, como la supervisión distribuida y la auditoría, la coherencia de los datos y la comunicación asíncrona.

Este documento técnico solo se centra en las cargas de trabajo que se ejecutan en la nube de AWS. No cubre escenarios híbridos ni estrategias de migración. Para obtener más información sobre la migración, consulte el documento técnico Container Migration Methodology.