ServerlessVideo es una aplicación de demostración creada por el equipo de AWS Serverless Developer Advocacy para transmitir vídeos en directo y también realizar un post-procesamiento avanzado al vídeo. Utiliza varios servicios de AWS, como AWS Step Functions, Amazon EventBridge, AWS Lambda, Amazon ECS y Amazon Bedrock, en una arquitectura serverless que la hace rápida, flexible y rentable. Las características clave incluyen un núcleo orientado a eventos con microservicios de bajo acoplamiento que responden a los eventos enrutados por Amazon EventBridge. AWS Step Functions orquesta el uso de AWS Lambda y de Amazon ECS para el procesamiento de vídeo a fin de encontrar un balance entre la velocidad, la escala y el costo. Existe también una arquitectura flexible basada en complementos (plugin-based) que utiliza Step Functions y EventBridge para integrar y gestionar varios flujos de trabajo de procesamiento de vídeo, entre los que se incluye GenAI.
ServerLessVideo permite a los broadcasters transmitir vídeo a miles de espectadores mediante Amazon IVS. Cuando finaliza una transmisión, un flujo de trabajo de AWS Step Functions activa un conjunto de complementos configurados para procesar el video, generar transcripciones, validar el contenido y mucho más. La aplicación incorpora varios microservicios para permitir la transmisión en directo, la reproducción bajo demanda, la transcodificación, la transcripción y los eventos. Obtenga más información sobre este proyecto y vea los vídeos de re:invent2023 en video.serverlessland.com.
AWS Lambda
AWS Lambda habilitó las conexiones IPv6 salientes desde funciones Lambda conectadas a una VPC, lo que ofrece una escalabilidad prácticamente ilimitada al eliminar las restricciones de direcciones IPv4.
Los equipos de AWS Lambda y AWS SAM también agregaron soporte para compartir los eventos de prueba entre equipos mediante la CLI de AWS SAM para mejorar la colaboración al realizar pruebas a nivel local.
AWS Lambda introdujo la integración con AWS Application Composer, lo que permite a los usuarios ver y exportar los detalles de configuración de las funciones Lambda para los flujos de trabajo de infraestructura como código (IaC).
AWS agregó controles avanzados de logs que permiten ajustar los logs con formato JSON, niveles de logging personalizados y destinos de logs configurables de Amazon CloudWatch para facilitar la depuración. AWS también introdujo la capacidad de monitorear errores y tiempos de espera producidos durante las fases de inicialización y restauración en los logs de Amazon CloudWatch, lo cual facilita la identificación y solución de problemas.
En el caso de los event sources de Kafka, AWS habilitó los destinos de eventos fallidos para evitar que las funciones se estancaran en los lotes defectuosos mediante el redireccionamiento de los eventos a Amazon SQS, Amazon SNS o Amazon S3. En noviembre, AWS también mejoró el escalado automático de Lambda para los event sources de Kafka a fin de alcanzar el máximo rendimiento (throughput) con mayor rapidez, lo que redujo la latencia de las cargas de trabajo propensas a recibir grandes ráfagas de mensajes.
AWS lanzó la compatibilidad con los tiempos de ejecución AWS Lambda de Python 3.12 y Java 21, lo que proporciona bibliotecas actualizadas, tamaños de implementación reducidos y una mejor integración con los servicios de AWS. AWS también introdujo un workflow de consola simplificado para automatizar la compleja configuración de red al conectar funciones a Amazon RDS y RDS Proxy.
Además, en diciembre, AWS habilitó un escalado individual más rápido de las funciones de Lambda, lo que permite que cada función pueda gestionar rápidamente los picos de tráfico escalando hasta 1000 ejecuciones concurrentes cada 10 segundos.
Amazon ECS y AWS Fargate
En el cuarto trimestre de 2023, AWS introdujo varias capacidades nuevas en sus servicios de serverless containers, como Amazon ECS, AWS Fargate y, AWS App Runner, entre otras. Estas características ayudan a mejorar la resiliencia de las aplicaciones, la seguridad, la experiencia de los desarrolladores y a optimizar la migración a arquitecturas modernas basadas en contenedores.
En octubre, Amazon ECS mejoró su programación de tareas para iniciar el reemplazo de las tareas en buen estado antes de terminar las que no estaban en buen estado durante los picos de tráfico. Esto evita que se agote su capacidad debido a paradas prematuras. Además, App Runner lanzó la compatibilidad con el tráfico IPv6 a través de dual-stack endpoints para eliminar la necesidad de traducir direcciones.
En noviembre, AWS Fargate habilitó a las tareas de ECS para que utilicen SOCI Lazy-loading de forma selectiva solo para las imágenes de contenedores grandes de una tarea, en lugar de requerirla para todas las imágenes. Amazon ECS también agregó soporte de idempotencia para el inicio de tareas a fin de evitar la duplicación de instancias en los reintentos. Amazon GuardDuty amplió la detección de amenazas a las cargas de trabajo de Amazon ECS y Fargate, que los usuarios pueden activar fácilmente.
También en noviembre, la herramienta de contenedores, Finch, de código abierto para macOS comenzó a estar disponible para el público en general. Finch permite a los desarrolladores crear, ejecutar y publicar contenedores de Linux de forma local. Su nuevo sitio web ofrece tutoriales y recursos para ayudar a los desarrolladores a empezar.
Por último, en diciembre, AWS Migration Hub Orchestrator añadió nuevas capacidades para migrar las plataformas de las aplicaciones a Amazon ECS mediante flujos de trabajo guiados. App Runner también mejoró la integración con los dominios de Amazon Route 53 para configurar automáticamente los registros necesarios al asociar dominios personalizados.
AWS Step Functions
En el cuarto trimestre de 2023, AWS Step Functions anunció la funcionalidad de redrive para los flujos de trabajo estándar. Esta función permite reactivar las ejecuciones fallidas del flujo de trabajo desde el punto en que se produjo el error, lo que permite omitir pasos innecesarios y reducir los costos. La función de redrive proporciona una forma eficaz de gestionar los errores que requieren una investigación más prolongada o acciones externas antes de reanudar el flujo de trabajo.
Step Functions también introdujo el soporte para endpoints HTTPS en AWS Step Functions, lo que permite una integración más sencilla con API externas y aplicaciones SaaS sin necesidad de código personalizado. Los desarrolladores ahora pueden conectarse a servicios HTTP de terceros directamente dentro de los flujos de trabajo. Además, AWS lanzó una nueva funcionalidad que permite probar estados individuales en los flujos de trabajo antes de ser desplegados. Esta función ayuda a acelerar el desarrollo al agilizar y simplificar la validación de las asignaciones de datos y las configuraciones de permisos.
AWS anunció las integraciones optimizadas entre AWS Step Functions y Amazon Bedrock para organizar cargas de trabajo de GenIA. Se agregaron dos nuevas acciones de API específicas para invocar modelos de Amazon Bedrock y jobs de entrenamiento a partir de flujos de trabajo de AWS Step Functions. Estas integraciones simplifican la implementación de Prompt Chaining y otras técnicas para crear aplicaciones complejas de IA con modelos básicos.
Por último, Step Functions Workflow Studio ahora está integrado en AWS Application Composer. Esta herramienta unificada permite a los desarrolladores diseñar flujos de trabajo y definir los recursos de las aplicaciones a lo largo de todo el ciclo de vida del proyecto en una única interfaz.
Amazon EventBridge
Amazon EventBridge anunció la compatibilidad con nuevas integraciones de partners con Adobe y Stripe. Estas integraciones permiten redirigir eventos desde las plataformas Adobe y Stripe a más de 20 servicios de AWS. Esto facilita la creación de arquitecturas basadas en eventos para gestionar casos de uso comunes.
Amazon SNS
En el cuarto trimestre, Amazon SNS agregó el archivado nativo de mensajes para tópicos FIFO a fin de mejorar la durabilidad de la transmisión de eventos, al permitir políticas de retención y reproducción selectiva de mensajes sin aprovisionar recursos separados. También se introdujeron otros operadores de filtrado de mensajes, como la coincidencia de sufijos, igualdad de cadenas case-insensitive y lógica OR para coincidencias entre propiedades para simplificar la implementación de la lógica de enrutamiento para publicadores y suscriptores. Por último, se habilitó el registro del estado de la entrega mediante AWS CloudFormation.
Amazon SQS
Amazon SQS ha introducido varias funcionalidades y actualizaciones nuevas importantes. Estas mejoran la visibilidad, el rendimiento y la gestión de los mensajes para los usuarios. Específicamente, Amazon SQS habilitó el registro de importantes APIs de SQS a través de AWS CloudTrail. Esto ofrece a los clientes una mayor visibilidad de la actividad de SQS. Además, SQS aumentó el límite de rendimiento para el modo de alto rendimiento de las colas FIFO. Esta cifra se incrementó significativamente en algunas regiones. También aumentó el rendimiento en las regiones de Asia Pacific. Además, Amazon SQS agregó la compatibilidad con el redireccionamiento de dead letter queues para colas FIFO. Esto le permite redirigir los mensajes que fallaron y que se enviaron a una dead letter queue (DLQ).
Serverless en AWS re:Invent
Visite el canal de YouTube de ServerlessLand para encontrar una lista de las sesiones de serverless y serverless containers de reinvent 2023. Escuche a expertos como Chris Munns y Julian Wood en su popular sesión, Best practices for serverless developers, o a Nathan Peck y Jessica Deen sobre Deploying multi-tenant SaaS applications on Amazon ECS and AWS Fargate.
Event-Driven Architectures Day en Nashville
El equipo de AWS Serverless Developer Advocacy organizó una conferencia de un día sobre arquitecturas orientadas a eventos (EDA) el 26 de octubre de 2023 en Nashville, Tennessee. Este primer día de GOTO EDA reunió a más de 200 asistentes, desde destacados miembros de la comunidad de EDA hasta ponentes y directores de producto de AWS. Los asistentes participaron en 13 sesiones, dos talleres, y paneles sobre las mejores prácticas de adopción en EDA. El evento se basó en el contenido de 2022 e incorporó temas adicionales como la mensajería, los contenedores y machine learning. También creó oportunidades para que participaran estudiantes y grupos tecnológicos subrepresentados. La conferencia, de un día de duración, facilitó la formación, la inspiración y un debate profundo sobre los patrones arquitectónicos y los servicios de AWS orientados a eventos.
Los vídeos del EDA Day ya están disponibles en el canal de YouTube ServerlessLand.
Publicaciones de blog sobre Serverless
Octubre
· Filtering events in Amazon EventBridge with wildcard pattern matching
· Enhancing runtime security and governance with the AWS Lambda Runtime API proxy extension
· Archiving and replaying messages with Amazon SNS FIFO
· Sending and receiving webhooks on AWS: Innovate with event notifications
Noviembre
· Orchestrating dependent file uploads with AWS Step Functions
· Introducing faster polling scale-up for AWS Lambda functions configured with Amazon SQS
· Scaling improvements when processing Apache Kafka with AWS Lambda
· Introducing the Amazon Linux 2023 runtime for AWS Lambda
· Enhanced Amazon CloudWatch metrics for Amazon EventBridge
· The serverless attendee’s guide to AWS re:Invent 2023
· Introducing logging support for Amazon EventBridge Pipes
· Converting Apache Kafka events from Avro to JSON using EventBridge Pipes
· Node.js 20.x runtime now available in AWS Lambda
· Managing AWS Lambda runtime upgrades
· Introducing AWS Step Functions redrive to recover from failures more easily
· Triggering AWS Lambda function from a cross-account Amazon Managed Streaming for Apache Kafka
· Introducing the AWS Integrated Application Test Kit (IATK)
· Introducing advanced logging controls for AWS Lambda functions
· Introducing support for read-only management events in Amazon EventBridge
Diciembre
· Python 3.12 runtime now available in AWS Lambda
· Introducing Amazon MQ cross-Region data replication for ActiveMQ brokers
Publicaciones de blog sobre serverless containers
Octubre
· Start Spring Boot applications faster on AWS Fargate using SOCI
· PBS speeds deployment and reduces costs with AWS Fargate
· Scale to 15,000+ tasks in a single Amazon Elastic Container Service (ECS) cluster
· Run time sensitive workloads on ECS Fargate with clock accuracy tracking
Noviembre
· A deep dive into Amazon ECS task health and task replacement
· Securing API endpoints using Amazon API Gateway and Amazon VPC Lattice
· Serverless containers at AWS re:Invent 2023
· Migration considerations – Cloud Foundry to Amazon ECS with AWS Fargate
· Build Generative AI apps on Amazon ECS for SageMaker JumpStart
· How Smartsheet optimized cost and performance with AWS Graviton and AWS Fargate
Diciembre
· AWS App Runner improves performance for image-based deployments
· Use SMB storage with Windows containers on AWS Fargate
· A deep dive into resilience and availability on Amazon Elastic Container Service
· Run Monte Carlo simulations at scale with AWS Step Functions and AWS Fargate
· Effective use: Amazon ECS lifecycle events with Amazon CloudWatch Logs Insights
Office Hours Serverless