Microservicios
Las API son la puerta principal de los microservicios, lo que significa que las API funcionan como el punto de entrada para la lógica de aplicaciones detrás de un conjunto de interfaces de programación, normalmente una API de servicios web REST
Implementación de microservicios
AWS ha integrado bloques de creación que respaldan el desarrollo de microservicios. Dos estrategias populares usan AWS Lambda
Con AWS Lambda, simplemente cargue su código y deje que Lambda se encargue de todo lo necesario para ejecutar y escalar la implementación a fin de satisfacer la curva de demanda real con alta disponibilidad. No es necesario administrar infraestructura. Lambda es compatible con varios lenguajes de programación y puede invocarse desde otros servicios de AWS o recibir llamadas directamente desde cualquier aplicación web o móvil. Una de las principales ventajas de AWS Lambda es que puede trabajar con mayor rapidez: puede enfocarse en su lógica empresarial porque AWS se encarga de la seguridad y el ajuste de escala. La persistente estrategia de Lambda respalda la plataforma de escala ajustable.
Un enfoque común para reducir los esfuerzos operativos durante una implementación es basarla en contenedores. Las tecnologías de contenedores como Docker
AWS Fargate es un motor de informática sin servidor para contenedores que funciona con Amazon ECS y Amazon EKS. Con Fargate, ya no deberá preocuparse por aprovisionar la cantidad suficiente de recursos de cómputo para sus aplicaciones en contenedores. Fargate puede lanzar decenas de miles de contenedores y puede ajustar su escala fácilmente para ejecutar las aplicaciones más importantes.
Amazon ECS admite estrategias y restricciones de asignación de contenedores para personalizar la manera en la que Amazon ECS asigna y finaliza las tareas. Una restricción de asignación de tareas es una regla que se define durante la asignación de tareas. Puede asociar atributos, que son esencialmente pares clave-valor, a sus instancias de contenedor y luego usar una restricción para asignar tareas basadas en los atributos. Por ejemplo, puede usar restricciones para asignar ciertos microservicios según el tipo de instancia o la capacidad de la instancia, como las instancias alimentadas por GPU.
Amazon EKS ejecuta versiones actualizadas del software de código abierto Kubernetes, lo que le permite utilizar todos los complementos y las herramientas existentes de la comunidad de Kubernetes. Las aplicaciones que se ejecutan en Amazon EKS son totalmente compatibles con las aplicaciones que se ejecutan en cualquier entorno de Kubernetes estándar, independientemente de si se ejecutan en nubes públicas o centros de datos locales. Amazon EKS integra IAM con Kubernetes, lo que le permite registrar entidades de IAM con el sistema de autenticación nativo en Kubernetes. No es necesario configurar credenciales manualmente para autenticarlas con los nodos de plano de control de Kubernetes. La integración con IAM le permite utilizar IAM para realizar una autenticación directa con el plano de control mismo y ofrecer acceso pormenorizado al punto de conexión público de sus planos de control de Kubernetes.
Las imágenes de Docker utilizadas en Amazon ECS y Amazon EKS se pueden almacenar en Amazon Elastic Container Registry
La integración y entrega continuas (CI/CD) son prácticas recomendadas y una parte fundamental de una iniciativa de DevOps que permite realizar cambios en el software rápidamente y, al mismo tiempo, mantener un nivel de estabilidad y seguridad en el sistema. Sin embargo, esto está fuera del alcance de este documento técnico. Para obtener más información, consulte el documento técnico Practicing Continuous Integration and Continuous Delivery on AWS.
Enlaces privados
AWS PrivateLink
Los enlaces privados son una excelente manera de aumentar el aislamiento y la seguridad de la arquitectura de microservicios. Un microservicio, por ejemplo, podría implementarse en una VPC totalmente independiente, encabezada por un equilibrador de carga y expuesta a otros microservicios a través de un punto de conexión de AWS PrivateLink. Con esta configuración, gracias al AWS PrivateLink, el tráfico de red hacia y desde el microservicio nunca atraviesa la Internet pública. Un caso de uso para dicho aislamiento incluye el cumplimiento normativo de los servicios que manejan datos confidenciales como PCI, HIPPA y el Escudo de Privacidad UE-EE. UU. Además, AWS PrivateLink permite conectar microservicios en diferentes cuentas y VPC de Amazon, sin necesidad de reglas de firewall, definiciones de rutas ni tabla de enrutamiento, lo que simplifica la administración de la red. Al utilizar PrivateLink, los proveedores de software como servicio (SaaS) y los ISV pueden ofrecer sus soluciones basadas en microservicios con aislamiento operativo completo además de acceso seguro.