Las aplicaciones monolíticas se crean utilizando diferentes capas, una capa de interfaz de usuario, una capa empresarial y una capa de persistencia. Una idea central de una arquitectura de microservicios es dividir las funcionalidades en capas verticales pero implementando un dominio específico.
Interfaz de usuario
La interfaz de usuario (UI) es el punto de interacción y comunicación humano-computadora en un dispositivo. Esto puede incluir pantallas de visualización, teclados, un mouse y la apariencia de un escritorio. También es la forma a través de la cual un usuario interactúa con una aplicación o un sitio web.
Para entregar y almacenar el contenido de este sitio web, AWS proporciona los servicios.
- Amazon Cloudfront es un servicio de red de entrega de contenido rápido (CDN) que entrega de forma segura datos, videos, aplicaciones y API a clientes de todo el mundo con baja latencia y altas velocidades de transferencia, todo dentro de un entorno amigable para los desarrolladores.
- Amazon S3 es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en la industria.
microservicios
AWS tiene varios componentes básicos integrados que admiten el desarrollo de microservicios.
- AWS Lambda le permite ejecutar código sin aprovisionar ni administrar servidores. Solo paga por el tiempo de cómputo que consume. Con Lambda, puede ejecutar código para prácticamente cualquier tipo de aplicación o servicio de back-end, todo sin necesidad de administración. Simplemente cargue su código y Lambda se encargará de todo lo necesario para ejecutar y escalar su código con alta disponibilidad. Puede configurar su código para que se active automáticamente desde otros servicios de AWS o llamarlo directamente desde cualquier aplicación web o móvil.
- Los contenedores de AWS Docker le permiten ejecutar sus aplicaciones en instancias sin servidor (Fargate) o en servidores EC2 administrados por AWS. Con el servicio de contenedores, podemos centrarnos en la creación y gestión de aplicaciones: aplicaciones back-end/web según los requisitos del negocio. Puede cargar su código en contenedores de AWS y AWS los lanzará. AWS contiene proporcionará agilidad, escalabilidad flexible, resiliencia, ECS lanza sus contenedores en un alto nivel de aislamiento utilizando AWS VPC, IAM, que le permite crear aplicaciones altamente seguras.
Almacén de datos
El almacén de datos se utiliza para conservar los datos que necesitan los microservicios. Las tiendas populares para datos de sesión son cachés en memoria como Memcached o Redis. Poner un caché entre los servidores de aplicaciones y una base de datos es un mecanismo común para reducir la carga de lectura en la base de datos, lo que, a su vez, puede permitir que los recursos se utilicen para admitir más escrituras. Los cachés también pueden mejorar la latencia. Para datos más grandes, AWS proporciona bases de datos relacionales y NoSQL. AWS ofrece el almacén de objetos S3, que es un almacén de objetos muy popular, que se puede utilizar para alojar sitios web estáticos.
- Amazon Aurora es una base de datos relacional compatible con MySQL y PostgreSQL creada para la nube que combina el rendimiento y la disponibilidad de las bases de datos empresariales tradicionales con la simplicidad y la rentabilidad de las bases de datos de código abierto.
- Amazon DynamoDB para crear una tabla de base de datos que pueda almacenar y recuperar cualquier cantidad de datos y atender cualquier nivel de tráfico de requests.
Esta es la Arquitectura de Microservicios completa en AWS y sus diferentes capas y los servicios de Amazon utilizados en esas capas.