Bienvenida
Bienvenida al curso avanzado de Serverless Framework
Desplegamos nuestro proyecto
Buenas prácticas en serverless
Presentacion del proyecto
Buenas practicas y errores comunes desarrollando en serverless
Serverless no es solo lambda
Haciendo lógica de negocio con AWS Api Gateway
Cuáles servicios vamos a usar
S3 para guardar objetos
Serverless puede crear cualquier recurso de amazon
Firmar URLS y subir objetos a S3
Lambda layers
Caso de uso: Thumbnail Generator
Creando y desplegando una lambda layer
Actualizando lambda layer con CICD
Asegurando nuestra app serverless
Formas de asegurar una app serverless
Autorizando usando APIKEYs
Usando parámetros de systems manager
Creamos un Custom Authorizer
Conectando ApiGateway con SQS
Porque son buenas algunas funcionalidades asíncronas
Desarrollando usando plugins y SQS
Creamos nuestra lambda user like
Bonus
Como crear un custom domain name
Custom domain names para nuestro proyecto
Clase grupal: Hablando desde nuestra experiencia
Cierra del curso
Finalizamos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El asincronismo es clave en el desarrollo de aplicaciones modernas, promoviendo optimización y eficiencia. Aunque muchos temen que esto pueda ralentizar sus aplicaciones, el asincronismo se centra en la optimización y en delegar tareas para evitar bloqueos y mejorar las prácticas de desarrollo. Para comprenderlo mejor, exploremos casos de uso donde AWS Lambda y otras tecnologías permiten que los procedimientos sean asincrónicos mejorando el rendimiento.
Uno de los usos más comunes del asincronismo es cuando múltiples Lambdas acceden a una base de datos para modificar registros. Este enfoque minimiza el riesgo de saturar el sistema, permitiendo un flujo de trabajo más eficiente en el backend. Además, aplicaciones de pago y redes sociales también utilizan el procesamiento asincrónico para gestionar grandes volúmenes de tráfico sin comprometer la velocidad o el rendimiento de la aplicación.
Para gestionar el asincronismo de manera efectiva, AWS ofrece conceptos como el reserve concurrency y el provision concurrency. Estos permiten controlar la cantidad de Lambdas que pueden ejecutarse en paralelo, asegurando que no se sobrecargue el sistema. Además, AWS tiene servicios como RDS Proxy que ayudan a conectar múltiples Lambdas a bases de datos que no están diseñadas para manejar conexiones concurrentes de gran escala.
El reserve concurrency en AWS Lambda establece cuántas instancias de una función Lambda pueden ejecutarse en paralelo. Por ejemplo, al procesar imágenes en un bucket de S3, se puede establecer un límite de tres Lambdas para cambiar el tamaño de imágenes simultáneamente. Esto ayuda a evitar que se sature Lambda y se alcancen sus límites predeterminados.
El provision concurrency actúa como un equipo de respaldo en AWS Lambda. Cuando una Lambda está al límite, el provision concurrency proporciona Lambdas adicionales que están listas para atender nuevas peticiones, asegurando un flujo ininterrumpido de procesamiento. Esto es esencial en aplicaciones donde puede haber cambios abruptos en la demanda, garantizando un manejo eficiente de la carga.
Aparte de S3 y SQS, AWS ofrece diversos servicios que facilitan la creación de aplicaciones asincrónicas robustas:
Para aprovechar el asincronismo, es crucial asegurar que los componentes del frontend y backend sean totalmente compatibles. Un enfoque asincrónico incorrecto puede causar cuellos de botella y afectar negativamente el rendimiento de la plataforma. Por lo tanto, es esencial decidir estratégicamente qué procesos pueden ser asincrónicos y hacer ajustes según las necesidades del negocio.
Con el crecimiento continuo de tecnologías modernas, seguir aprendiendo y explorar distintas formas de integrar asincronismo es vital para crear aplicaciones eficientes y escalables.
Aportes 1
Preguntas 1
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?