

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implementación de microservicios en AWS
<a name="microservices-on-aws"></a>

Fecha de publicación: **31 de julio de 2023** () [Historial del documento](document-revisions.md)

 Los microservicios ofrecen un enfoque simplificado para el desarrollo de software que acelera la implementación, fomenta la innovación, mejora la capacidad de mantenimiento e impulsa la escalabilidad. Este método se basa en servicios pequeños y poco acoplados que se comunican a través de equipos bien definidos APIs y gestionados por equipos autónomos. La adopción de microservicios ofrece beneficios, como una mayor escalabilidad, resiliencia y flexibilidad y ciclos de desarrollo más rápidos. 

 En este documento técnico se analizan tres patrones de microservicios populares: los basados en las API, los basados en eventos y el streaming de datos. Proporcionamos una visión general de cada enfoque, describimos las características clave de los microservicios, abordamos los desafíos de su desarrollo e ilustramos cómo Amazon Web Services (AWS) puede ayudar a los equipos de aplicaciones a superar estos obstáculos. 

 Teniendo en cuenta la naturaleza compleja de temas como el almacenamiento de datos, la comunicación asincrónica y la detección de servicios, le recomendamos que evalúe las necesidades específicas y los casos de uso de su aplicación junto con la orientación proporcionada al tomar decisiones arquitectónicas. 

## Introducción
<a name="introduction"></a>

 Las arquitecturas de [microservicios](https://aws.amazon.com/microservices/) combinan conceptos exitosos y comprobados de varios campos, como: 
+  Desarrollo de software ágil 
+  Arquitecturas orientadas a servicios 
+  Diseño centrado en las API 
+  (Continuo) Integration/Continuous Delivery (CI/CD 

 A menudo, los microservicios incorporan patrones de diseño de la aplicación [Twelve-Factor.](https://12factor.net/) 

 Si bien los microservicios ofrecen muchos beneficios, es fundamental evaluar los requisitos únicos de su caso de uso y los costos asociados. La arquitectura monolítica o los enfoques alternativos pueden ser más apropiados en algunos casos. La decisión entre microservicios o monolitos debe hacerse sobre una case-by-case base, teniendo en cuenta factores como la escala, la complejidad y los casos de uso específicos. 

 En primer lugar, exploramos una arquitectura de microservicios altamente escalable y tolerante a fallos (interfaz de usuario, implementación de microservicios, almacén de datos) y demostramos cómo desarrollarla mediante tecnologías de contenedores. AWS A continuación, sugerimos AWS servicios para implementar una arquitectura típica de microservicios sin servidor, lo que reduce la complejidad operativa. 

 La tecnología sin servidor se caracteriza por los siguientes principios: 
+  No hay infraestructura que aprovisionar o administrar 
+  Escalado automático por unidad de consumo 
+  Modelo de facturación de «pago por valor» 
+  Disponibilidad y tolerancia a fallos integradas 
+  Arquitectura impulsada por eventos (EDA) 

 Por último, examinamos el sistema en general y analizamos los aspectos interservicios de una arquitectura de microservicios, como la supervisión distribuida, el registro, el rastreo, la auditoría, la coherencia de los datos y la comunicación asincrónica. 

 Este documento se centra en las cargas de trabajo que se ejecutan en el entorno, excluyendo los escenarios híbridos y las estrategias de Nube de AWS migración. Para obtener información sobre las estrategias de migración, consulte el documento [técnico sobre la metodología de migración de contenedores](https://d1.awsstatic.com/whitepapers/container-migration-methodology.pdf). 

## ¿Dispone de Well-Architected?
<a name="are-you-well-architected"></a>

 El [marco de AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/) le ayuda a entender las ventajas y desventajas de las decisiones que toma al crear sistemas en la nube. Los seis pilares del marco le permitirán aprender las prácticas recomendadas de arquitectura para diseñar y utilizar sistemas fiables, seguros, eficientes, rentables y sostenibles. Mediante [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/), disponible sin costo alguno en la [Consola de administración de AWS](https://console.aws.amazon.com/wellarchitected), puede comparar las cargas de trabajo con estas prácticas recomendadas respondiendo a una serie de preguntas para cada pilar. 

 Desde el punto de [vista de las aplicaciones sin servidor](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html), nos centramos en las mejores prácticas para diseñar la arquitectura de sus aplicaciones sin servidor. AWS

 Para obtener asesoramiento más experto y conocer las prácticas recomendadas para la arquitectura en la nube (implementaciones de arquitectura de referencia, diagramas y documentos técnicos), consulte el [Centro de arquitectura de AWS](https://aws.amazon.com/architecture/). 

## Modernización a microservicios
<a name="modernizing-to-microservices"></a>

 Los microservicios son básicamente unidades pequeñas e independientes que componen una aplicación. [La transición de las estructuras monolíticas tradicionales a los microservicios puede seguir varias estrategias.](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-decomposing-monoliths/decomposing-patterns.html) 

 Esta transición también afecta a la forma en que opera su organización: 
+  Fomenta un desarrollo ágil, en el que los equipos trabajan en ciclos rápidos. 
+  Los equipos suelen ser pequeños, y a veces se los describe como *dos equipos de pizza*, lo suficientemente pequeños como para que dos pizzas puedan dar de comer a todo el equipo. 
+  Los equipos asumen toda la responsabilidad de sus servicios, desde la creación hasta la implementación y el mantenimiento. 