Arquitectura sin servidor para Next App
Arquitectura sin servidor — Serverless ha estado allí ahora por una buena cantidad de tiempo y, de manera lenta pero segura, ha llegado a un estado más maduro que hace unos años.
Lentamente, a medida que las empresas evolucionan hacia un enfoque más nativo de la nube, las arquitecturas distribuidas o nativas de la nube son cada vez más demandadas.
En este artículo, explicaré algunos patrones de arquitectura clave que puede aprender y aplicar en el próximo desarrollo de su producto.
- Servidor móvil
- Página única/aplicación web
- Microservicios con Lambda
Servidor móvil
Todos hemos estado usando aplicaciones móviles y sitios web durante mucho tiempo, y entendemos que los dispositivos móviles son el futuro, ya que nuestro mundo entero se está reduciendo a dispositivos móviles, relojes o tabletas de forma lenta pero segura. Entonces, con esta transformación tecnológica, nuestras arquitecturas tecnológicas también deben ser más maduras.
El backend móvil no es más que una arquitectura simple para la informática sin servidor en la que puede crear su sistema de backend con una metodología sin servidor y se le cobrará en función de cuánto lo use. Adjunto una imagen a continuación para mayor claridad.
Como puede ver en la imagen anterior, hay un cliente móvil que invoca el servicio de puerta de enlace API en AWS y que, a su vez, invoca AWS Cognito y Lambdas y otros servicios relacionados para un sistema backend completo. Puntos de la arquitectura anterior.
Cada solicitud de API enviada se puede autorizar a través del grupo de usuarios de Amazon Cognito, donde AWS puede autenticar las solicitudes.
Hay algunas lambdas en la subred pública y algunas dentro de la VPC que interactúan con RDS y crean una red segura.
Se agrega AWS Secrets Manager para almacenar los datos críticos necesarios para la aplicación en tiempo de ejecución.
Página única/aplicación web
Actualmente, el desarrollo de la interfaz de usuario ha cambiado hacia una sola página desde un enfoque de varias páginas que existía a principios de los 2000. Esto se dee a la evolución de los marcos de interfaz de usuario como React, Angular, Vue y Ember en javascript,
Puede ver dos diagramas de arquitectura arriba, uno para una sola página y otro para una aplicación web. El diagrama de la izquierda representa la aplicación de la página web y el otro es para la aplicación de una sola página. Las características más destacadas se enumeran a continuación.
- El alojamiento de una aplicación de una sola página también se puede realizar en el sistema de depósito basado en S3.
- Puede incorporar Amazon Cognito en el caso de una aplicación de varias páginas para hacer que el usuario vea diferentes páginas de CloudFront en función de su nivel de acceso, mientras que en el caso de una aplicación de una sola página, se puede usar el autorizador lambda como uno de los autorizadores para verificar la información sobre el rol y el nivel de acceso.
Microservicios con Lambda
Los microservicios han sido la palabra de moda durante mucho tiempo y todos quieren ensuciarse las manos con el mismo y comprenderlo en detalle.
Hay diferentes arquitecturas en torno a los microservicios que ya se han discutido en diferentes artículos y foros, que son sobre Service Mesh y Service Discovery. La arquitectura actual es un poco más simple en comparación con estos.
Como se puede ver arriba, hay diferentes puntos finales de puerta de enlace API basados en diferentes funciones lambda en el nivel de implementación. Todas estas funciones lambda actúan como un pequeño tipo de sección de microservicio. Características de Sailent alrededor del mismo.
- Estas pequeñas funciones lambda no son más que pequeños microservicios para un dominio de pequeña empresa.
- Los diferentes puntos finales de la puerta de enlace API están relacionados con estas funciones lambda basadas en microservicios basadas en la integración entre la puerta de enlace API
Cuándo usar
- El backend móvil se puede usar cuando tiene un sitio web móvil creado en una arquitectura de una sola página o desde una aplicación móvil
- Los microservicios con Lambda son un tipo de arquitectura sin servidor mínima que se puede utilizar para crear una solución básica de tipo MVP o POC.
Conclusión
He enumerado arquitectura sin servidor muy básicas y de varios niveles en mundos muy simples. Uno puede usarlos de acuerdo con su necesidad y requisito en función del producto que está tratando de construir.
Gracias por llegar hasta aquí, si encuentras esto útil no olvides aplaudir 👍🏼suscribirse para recibir más contenido.
Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre AWS y Laravel: