Los microservicios son un enfoque arquitectónico y organizativo para el desarrollo de software donde el software está compuesto por pequeños servicios independientes que se comunican a través de API bien definidas. Los propietarios de estos servicios son equipos pequeños independientes.

Las arquitecturas de microservicios hacen que las aplicaciones sean más fáciles de escalar y más rápidas de desarrollar. Esto permite la innovación y acelera el tiempo de comercialización de las nuevas características.

Con las arquitecturas monolíticas, todos los procesos están estrechamente asociados y se ejecutan como un solo servicio. Esto significa que, si un proceso de una aplicación experimenta un pico de demanda, se debe escalar toda la arquitectura. Agregar o mejorar las características de una aplicación monolítica se vuelve más complejo a medida que crece la base de código. Esta complejidad limita la experimentación y dificulta la implementación de nuevas ideas. Las arquitecturas monolíticas aumentan el riesgo de la disponibilidad de la aplicación porque muchos procesos dependientes y estrechamente vinculados aumentan el impacto del error de un proceso.

Con una arquitectura de microservicios, una aplicación se crea con componentes independientes que ejecutan cada proceso de la aplicación como un servicio. Estos servicios se comunican a través de una interfaz bien definida mediante API ligeras. Los servicios se crean para las capacidades empresariales y cada servicio desempeña una sola función. Debido a que se ejecutan de forma independiente, cada servicio se puede actualizar, implementar y escalar para satisfacer la demanda de funciones específicas de una aplicación.

aplicación monolítica en comparación con microservicios

Dividir una aplicación monolítica en microservicios

Cada servicio componente en una arquitectura de microservicios se puede desarrollar, implementar, operar y escalar sin afectar el funcionamiento de otros servicios. Los servicios no necesitan compartir ninguno de sus códigos o implementaciones con otros servicios. Cualquier comunicación entre componentes individuales ocurre a través de API bien definidas.

Cada servicio está diseñado para un conjunto de capacidades y se enfoca en resolver un problema específico. Si los desarrolladores aportan más código a un servicio a lo largo del tiempo y el servicio se vuelve complejo, se puede dividir en servicios más pequeños.

Los microservicios fomentan una organización de equipos pequeños e independientes que se apropian de los servicios. Los equipos actúan en un contexto pequeño y bien comprendido, y están facultados para trabajar de forma más independiente y más rápida. Esto acorta los tiempos del ciclo de desarrollo. Usted se beneficia significativamente del aumento de rendimiento de la organización.

Los microservicios permiten que cada servicio se escale de forma independiente para satisfacer la demanda de la característica de la aplicación que respalda. Esto permite a los equipos adecuarse a las necesidades de la infraestructura, medir con precisión el costo de una característica y mantener la disponibilidad si un servicio experimenta un aumento en la demanda.

Los microservicios permiten la integración y la entrega continuas, lo que facilita probar nuevas ideas y revertirlas si algo no funciona. El bajo costo de los errores permite experimentar, facilita la actualización del código y acelera el tiempo de comercialización de las nuevas características.

Las arquitecturas de microservicios no siguen un enfoque de "diseño único". Los equipos tienen la libertad de elegir la mejor herramienta para resolver sus problemas específicos. Como consecuencia, los equipos que crean microservicios pueden elegir la mejor herramienta para cada trabajo.

La división del software en módulos pequeños y bien definidos les permite a los equipos usar funciones para diferentes propósitos. Un servicio escrito para una determinada función se puede usar como un componente básico para otra característica. Esto permite que una aplicación arranque por sí sola, ya que los desarrolladores pueden crear nuevas capacidades sin tener que escribir código desde cero.

La independencia del servicio aumenta la resistencia de una aplicación a los errores. En una arquitectura monolítica, un error en un solo componente, puede provocar un error en toda la aplicación. Con los microservicios, si hay un error en todo el servicio, las aplicaciones lo manejan degradando la funcionalidad sin bloquear toda la aplicación.


AWS tiene bloques de creación integrados que admiten cualquier arquitectura de aplicación, independientemente de la escala, la carga o la complejidad.

Procesamiento de la potencia de los microservicios

Amazon EMR

Amazon Elastic Container Service

Servicio de administración de contenedores de alto rendimiento y escalabilidad compatible con los contenedores de Docker, que le permite ejecutar fácilmente aplicaciones distribuidas en un clúster administrado de instancias de Amazon EC2.
Más información »

Con Amazon ECS, Coursera puede implementar cambios en el software en cuestión de minutos en lugar de demorar horas, en un entorno con los recursos aislados.
Más información »

Amazon EMR

AWS Lambda

AWS Lambda le permite ejecutar código sin aprovisionar ni administrar servidores. Solo tiene que cargar el código y Lambda administrará todo lo necesario para ejecutar y escalar el código con alta disponibilidad.
Más información »

Localytics usó AWS Lambda para crear microservicios que permitieron a sus equipos de desarrollo crear análisis personalizados sin soporte centralizado. Más información »


Almacenamiento de datos escalable, duradero y seguro.    

Amazon ElastiCache

Amazon ElastiCache mejora el rendimiento del servicio, lo que le permite recuperar información de cachés en memoria rápidos y administrados, en lugar de depender totalmente de bases de datos más lentas basadas en disco. Más información »

Amazon S3

Amazon S3 ofrece a los desarrolladores y equipos de TI un almacenamiento de objetos altamente confiable, seguro y escalable para todos sus datos, grandes o pequeños. Más información »

Amazon DynamoDB

Un servicio de bases de datos NoSQL rápido, flexible y completamente administrado para todas las aplicaciones que requieren latencias de milisegundos de un solo dígito, constantes y a cualquier escala. Más información »

Amazon RDS

Configure, maneje y escale fácilmente una base de datos relacional en la nube. Seleccione entre seis motores de bases de datos conocidos, incluso Oracle, Microsoft SQL Server, PostgreSQL, MySQL y MariaDB. Más información »

Amazon Aurora

Es un motor de base de datos relacional que combina la velocidad y la fiabilidad de las bases de datos comerciales de gama alta con la sencillez y la rentabilidad de las bases de datos de código abierto. Cuenta con un rendimiento hasta 5 veces mayor que el que se consigue con la ejecución de MySQL estándar en el mismo hardware. Más información »

Recuerde los tiempos de respuesta de las aplicaciones reducido en un 200 % mediante la creación de un PaaS para microservicios en Amazon ECS. 
Más información »


Servicios de red con alto rendimiento y latencia inferior a milisegundos.

AWS Cloud Map

AWS Cloud Map detecta servicios para todos sus recursos en la nube. Con Cloud Map, puede definir nombres personalizados para los recursos de su aplicación, y el servicio mantiene la ubicación actualizada de estos recursos que cambian dinámicamente.

Más información »

AWS App Mesh

AWS App Mesh facilita la tarea de controlar y monitorizar microservicios que se ejecutan en AWS. App Mesh estandariza la comunicación de sus microservicios, brindándole visibilidad integral y ayudando a garantizar una alta disponibilidad para sus aplicaciones.

Más información »

Balanceador de carga de aplicaciones

El balanceador de carga de aplicaciones equilibra la carga del tráfico HTTP y HTTPS en la capa de la aplicación (nivel 7) proporcionando un direccionamiento de solicitudes avanzado dirigido a la entrega de arquitecturas de aplicaciones modernas, incluso microservicios y contenedores.

Más información »

Balanceador de carga de red

El balanceador de carga de red ofrece un equilibrio de carga de alto rendimiento que opera en la capa de conexión de red (nivel 4) y le permite direccionar conexiones a microservicios basados en datos de protocolos de IP. El balanceador de carga de red puede manejar millones de solicitudes por segundo y mantener latencias muy bajas.

Más información »

Amazon API Gateway

Amazon API Gateway ofrece una plataforma integral para la administración de API. Con Amazon API Gateway, se pueden procesar cientos de miles de llamadas a la API simultáneas y se administran el tráfico, el control de acceso y la autorización, la monitorización y la administración de versión de API.

Más información »

Amazon Route 53

Amazon Route 53 es un servicio web de sistema de nombres de dominio (DNS) en la nube, altamente disponible y escalable que conecta de manera efectiva las solicitudes a la infraestructura que se ejecuta en AWS. Puede utilizarse para las comprobaciones de estado de IP y la detección de servicios para microservicios.

Más información »

Airtime ofrece su experiencia en redes sociales a clientes de una manera más rápida, ágil y sin tiempo de retardo, después de haber rediseñado su aplicación como microservicios que se ejecutan en AWS. Más información »


Publique y coordine las comunicaciones entre los procesos.

Amazon Simple Notification Service (Amazon SNS)

Amazon SNS es un servicio de mensajería de publicación/suscripción completamente administrado que facilita la desasociación y el ajuste de escala de los microservicios, sistemas distribuidos y las aplicaciones sin servidor.
Más información »

Amazon Simple Queue Service (Amazon SQS)

Amazon SQS es un servicio de colas de mensajes completamente administrado que facilita la desasociación y el escalado de microservicios, sistemas distribuidos y aplicaciones sin servidor.
Más información »

Lyft usa AWS para moverse más rápido como empresa y administrar su crecimiento exponencial, aprovechando los productos de AWS para admitir más de 100 microservicios que mejoran cada elemento de la experiencia de sus clientes. Más información »


Monitorice el rendimiento de los servicios y la utilización de recursos. Haga un seguimiento en arquitecturas complejas para resolver problemas y optimizarlas.

AWS CloudTrail

Con CloudTrail, puede registrar, monitorizar de manera continua y retener la actividad de la cuenta relacionada con acciones en toda su infraestructura. El historial de eventos de CloudTrail simplifica el análisis de seguridad, el seguimiento de cambios de recursos y la resolución de problemas. Más información »

Amazon CloudWatch

Puede utilizar Amazon CloudWatch para recopilar y realizar el seguimiento de métricas, recopilar y monitorizar archivos de registro, establecer alarmas y reaccionar automáticamente a los cambios en los servicios en funcionamiento y en sus recursos de AWS.
Más información »

AWS X-Ray

Obtenga una vista integral de las solicitudes a medida que avanzan por su aplicación y vea un mapa de los componentes subyacentes de la aplicación. Dado que un grupo de microservicios funciona en conjunto para manejar una solicitud, con AWS X-Ray puede tener una vista centralizada de los registros, lo que le permite monitorizar y resolver problemas de interacciones complejas. Más información »

Al utilizar microservicios alojados en Amazon ECS, Shippable ha podido centrarse en ofrecer características a sus clientes y ha acelerado los tiempos de implementación de las características de una vez por semana a varias veces por día. Más información »


Administre el ciclo de vida del código desde la confirmación hasta la ejecución.

Amazon Elastic Container Registry (Amazon ECR)

Un registro de contenedores de Docker completamente administrado que se puede usar para almacenar, administrar e implementar imágenes de contenedores de Docker. Amazon ECR se integra con Amazon Elastic Container Service (Amazon ECS), lo que permite simplificar el desarrollo para el flujo de trabajo de producción para contenedores. Más información »

Herramientas para desarrolladores de AWS

Las herramientas para desarrolladores de AWS son un conjunto de servicios que permiten a los desarrolladores y profesionales de operaciones de TI que trabajan en DevOps entregar software de forma rápida y segura. En conjunto, estos servicios lo ayudan a almacenar de forma segura y a controlar la versión del código fuente de su aplicación. También le permiten compilar, probar e implementar automáticamente su aplicación en un entorno local o de AWS. Más información »

Gilt pasó de un centro de datos local a AWS para aprovechar la velocidad y la eficiencia de una infraestructura de microservicios basados en la nube.
Más información »