top of page
Foto del escritorRan Isenberg

re:Invent 2022: conclusiones sobre la tecnología sin servidor


re:Invent 2022: Mi experiencia con Serverless

Ahora que re:Invent 2022 finalizó oficialmente, repasemos los nuevos y emocionantes servicios y características lanzados desde la perspectiva de un desarrollador sin servidor.

 

La nota clave

https://siliconangle.com/2022/12/01/evolve-die-systems-architectures-says-amazon-cto-werner-vogels/
https://siliconangle.com/2022/12/01/evolve-die-systems-architectures-says-amazon-cto-werner-vogels/

El ambiente Serverless empezó en la conferencia principal.

El Dr. Werner Vogels llevaba una camiseta con el logotipo de Lambda.

El Dr. Werner Vogels, vicepresidente y director de tecnología de Amazon.com, habla sobre los beneficios de crear sistemas asincrónicos y acoplados de forma flexible y sobre cómo la arquitectura basada en eventos permite una escala global. Luego, explica cómo la nube permite a los clientes crear experiencias más inmersivas utilizando 3D y cómo la simulación permite a los clientes experimentar e innovar de nuevas maneras. - AWS https://www.youtube.com/watch?v=RfvL_423a-I

Repasemos los nuevos servicios y características más interesantes para nosotros los desarrolladores.

 

Mapa distribuido de funciones escalonadas

Una solución sin servidor para el procesamiento de datos paralelos a gran escala

¿Alguna vez has deseado procesar objetos S3 masivos rápidamente usando 10 000 funciones lambda simultáneas? Bueno, ahora puedes hacerlo.

El estado del mapa existente está limitado a 40 iteraciones paralelas a la vez.

Sin embargo, el nuevo flujo de mapas distribuidos de Step Functions admite una concurrencia máxima de hasta 10 000 ejecuciones en paralelo. Puede procesar datos mediante la creación de cualquier API de servicio compatible con Step Functions, pero, por lo general, invoca funciones Lambda para procesar los datos.


https://aws.amazon.com/blogs/aws/step-functions-distributed-map-a-serverless-solution-for-large-scale-parallel-data-processing/
https://aws.amazon.com/blogs/aws/step-functions-distributed-map-a-serverless-solution-for-large-scale-parallel-data-processing/

Para el procesamiento en sí, sugeriría la nueva utilidad de transmisión AWS Lambda Powertools para Python, que se adapta como un guante.

Puede procesar archivos enormes almacenados en S3 línea por línea en su código de función lambda sin cargar el archivo en la memoria lambda o el sistema de archivos.


Documentación de AWS Lambda Powertools

Ejemplo de uso:

Documentación de AWS Lambda Powertools
 

Canalizaciones de Amazon EventBridge

Consola de AWS
Consola de AWS

Es una forma sencilla, consistente y rentable de crear integraciones punto a punto entre productores y consumidores de eventos, lo que elimina la necesidad de escribir código de unión indiferenciado. Amazon EventBridge Pipes incorpora las funciones más populares de Amazon EventBridge Event Bus , como el filtrado de eventos, la integración con más de 14 servicios de AWS y los reintentos de entrega automáticos.

¡Construir un sistema asincrónico controlado por eventos se ha vuelto aún más fácil y con menos código!

Ahora es aún más fácil crear integración entre productores y consumidores al tiempo que nos ocupamos de los filtros de entrada, el enriquecimiento de datos y el retiro automático de fallas.


Los servicios de origen incluyen Kinesis, SQS, DynamoDB, Amazon MQ, Apache MSK y Kafka autogestionado, y las fuentes de destino son aún más amplias con 14 servicios compatibles, incluidos API GW, SQS, EventBridge y otros.



Leer más en:


 

Inicio rápido de Lambda

Esta función ofrece tiempos de inicio de funciones hasta 10 veces más rápidos para aplicaciones Java sensibles a la latencia sin costo adicional y con cambios de código mínimos o nulos.

Este es un asunto muy importante para los usuarios de Java.

Una forma nueva y mejorada de reducir los arranques en frío en lugar de habilitar la concurrencia aprovisionada por lambda, que es más costosa.

AWS Lambda toma una instantánea encriptada de la memoria y el disco de la función justo después de que se inicializa y antes de que maneja la entrada y el contexto de invocación.

Ahora imagine que cada invocación lambda comienza desde este punto cada vez que se invoca nuevamente, reduciendo así drásticamente el arranque en frío sin ningún costo adicional.


Lambda toma una instantánea de microVM de Firecracker del estado de la memoria y el disco del entorno de ejecución inicializado, cifra la instantánea y la almacena en caché para un acceso de baja latencia. Cuando la aplicación se inicia y se escala para manejar el tráfico, Lambda reanuda los nuevos entornos de ejecución a partir de la instantánea almacenada en caché en lugar de inicializarlos desde cero, lo que mejora el rendimiento del inicio.

 

Amazon OpenSearch Serverless (versión preliminar)


¡Buenas noticias para los usuarios de OpenSearch!

Ahora es más sencillo y rentable que nunca agregar una búsqueda basada en texto a su aplicación.

Amazon OpenSearch Serverless es la versión administrada del servicio, lo que significa que ampliar o reducir el clúster de OpenSearch ahora es un problema del pasado.

Además, la optimización del escalamiento del clúster significa menos costos a largo plazo.

 

Amazon Inspector y Lambda

Nunca puedes tener demasiada seguridad.

Amazon Inspector ahora escanea las funciones de AWS Lambda y las capas lambda en busca de vulnerabilidades.

El código de su función lambda depende de muchas bibliotecas de código abierto de las que solo es consciente en ocasiones. En algún punto de la cadena, una vulnerabilidad puede exponer su código a ataques.

Amazon Inspector escaneará automáticamente toda su cuenta en busca de la función Lambda y las capas (que se utilizan actualmente) y le avisará en caso de un problema de seguridad en su panel.

Es una gran característica de seguridad que, hasta ahora, tenía que confiar en soluciones de terceros para escanear las dependencias de mi función.


 

Amazon CodeCatalyst (versión preliminar)

Este servicio tiene como objetivo mejorar la experiencia de incorporación, es decir, la incorporación interna del desarrollador a un nuevo servicio SaaS, desde el desarrollador hasta el gerente de producto.

Atrás quedaron los días en los que se intentaba instalar una máquina con un entorno de desarrollo durante días o crear un código de servicio durante semanas.


Amazon CodeCatalyst puede considerarse una plataforma de desarrollo de autoservicio para servicios SaaS.

Como arquitectos de un grupo de ingeniería de plataformas, hemos pasado años intentando crear la experiencia de autoservicio sin servidor perfecta. CodeCatalyst tiene como objetivo facilitarlo.


Comienza con un "plano" que crea un servicio (según lo definido por tu empresa) con sus recursos implementados en AWS, una canalización CI/CD y un entorno de desarrollo local.


Código Catalyst de Amazon
AWS CodeCatalyst agrega un proyecto

Incluso hay soporte de AWS Cloud9 para un entorno de desarrollo basado en la nube.

Imagínese no dedicar tiempo a instalar ni configurar un entorno de desarrollo; pone en marcha su máquina desde la imagen de desarrollador base de la empresa y comienza a desarrollar su nuevo servicio.


Otro aspecto interesante de este servicio es el soporte en el aspecto de gestión de productos: sistema de tickets, panel de actividades de seguimiento de problemas.


 

AWS Application Composer (versión preliminar)

Como arquitecto sin servidor, uso herramientas como Lucid Chart y Draw.io para crear un diagrama que describe el diseño de alto nivel de mis aplicaciones.

Luego, los desarrolladores toman mi diagrama, lo convierten en un código de pila AWS CDK con código de lógica empresarial y lo implementan en una realidad.

AWS Application Composer me permite crear de forma interactiva diagramas de aplicaciones sin servidor y exportarlos como plantillas SAM que se pueden implementar de inmediato.

¡Eso es bastante impresionante!

Con esta herramienta se pueden trazar gráficos de sistemas completos e implementarlos inmediatamente sin necesidad de escribir una sola línea de configuración de CloudFormation.



Proyecto de demostración de AWS Application Composer
Proyecto de demostración de AWS Application Composer

Si bien no te sugiero que abandones tu IDE todavía, este servicio es un paso importante para acortar el tiempo de adopción de la arquitectura sin servidor y crear nuevos servicios sin servidor rápidamente.

Es una herramienta excelente para principiantes en Serverless, pero también para aquellos que están iniciando un nuevo servicio y quieren implementar rápidamente una prueba de concepto para verificar el diseño. Una vez verificado, el resultado se puede pasar al equipo de desarrollo para que realice los toques finales y escriba las pruebas de lógica empresarial.


Una salvedad: aún no es compatible con AWS CDK, Pulumi ni Terraform. Utilice el botón de comentarios en la parte inferior izquierda de la consola de AWS Application Composer y solicite compatibilidad con el marco IAC que haya elegido.



 

Amazon Security Lake (versión preliminar)


La versión de Amazon de un lago de datos moderno para los registros de seguridad de una organización en el formato abierto Open Cybersecurity Schema Framework (OCSF).


Amazon Security Lake centraliza automáticamente los datos de seguridad de la nube, de las instalaciones locales y de fuentes personalizadas en un lago de datos diseñado específicamente para este fin y almacenado en su cuenta. Con Security Lake, puede obtener una comprensión más completa de sus datos de seguridad en toda su organización.

 

Amazon Athena para Apache Spark

¡Buenas noticias para los ingenieros de datos entre nosotros: obtendrán un nuevo amigo sin servidor!

Comience a utilizar análisis interactivos con Amazon Athena para Apache Spark en menos de un segundo para analizar petabytes de datos. Las aplicaciones interactivas de Spark se inician al instante y se ejecutan más rápido con nuestro entorno de ejecución de Spark optimizado, por lo que podrá dedicar más tiempo a obtener información y no a esperar los resultados.

Amazon Athena ahora agrega un nuevo motor de análisis: Apache Spark en una versión sin servidor.

Al no tener servidor, no tienes que preocuparte por administrarlo, actualizar su versión o escalarlo hacia arriba o hacia abajo. Puedes concentrarte en la lógica de cálculo.


Ejecute aplicaciones Spark de forma rentable, sin aprovisionar ni administrar recursos. Cree aplicaciones Spark sin preocuparse por las configuraciones de Spark ni las actualizaciones de versiones.


Gracias Igal Drayerman por compartir esto conmigo.



bottom of page