View a markdown version of this page

MicroVM de AWS Lambda - AWS Lambda

MicroVM de AWS Lambda

Si crea una aplicación en la que varios usuarios o agentes de IA se conectan a un entorno de computación y ejecutan código, por ejemplo, en entornos de desarrollo interactivos, sistemas de CI/CD o entornos de pruebas para IA, necesita entornos de computación que se inicien con rapidez, mantengan el aislamiento entre inquilinos y no requieran la administración de servidores ni redes.

Las MicroVM de AWS Lambda están diseñadas específicamente para estos casos de uso. Son entornos de computación sin servidor que proporcionan aislamiento en el nivel de la máquina virtual y todas las capacidades de un sistema operativo, como la instalación de paquetes del sistema o el montaje de sistemas de archivos. También ofrecen un inicio rápido basado en instantáneas y un control detallado de las redes de entrada, incluido el acceso a puertos y la compatibilidad con HTTP/2, gRPC y WebSockets, y de las redes de salida, incluido el acceso público a Internet y a la VPC.

En casos de uso interactivos, como los entornos de desarrollo interactivos y los entornos de pruebas para IA, los entornos pueden permanecer inactivos durante periodos prolongados cuando los usuarios finales cambian de contexto para realizar otras tareas o esperan a la IA. Las MicroVM se pueden suspender cuando están inactivas, lo que conserva el estado de la memoria y del disco y reduce los costos. Cuando llega tráfico, se reanudan. Puede habilitar la suspensión y reanudación automáticas o programáticas para reducir los costos durante los periodos de inactividad y mantener una disponibilidad casi instantánea cuando regresen los usuarios finales.

Las MicroVM de AWS Lambda proporcionan estas capacidades principales mediante la virtualización de Firecracker, que sustenta más de 15 billones de invocaciones mensuales de funciones de Lambda.

Para empezar, consulte Creación de la primera MicroVM. Para obtener información acerca de los precios, consulte Precios de AWS Lambda.

Funcionamiento de las MicroVM de Lambda

  1. Empaquete el código de la aplicación y un Dockerfile en un archivo .zip y cárguelo en Amazon S3.

  2. Llame a la API de Lambda para crear una imagen de MicroVM. Lambda ejecuta Dockerfile, inicia la aplicación y captura una instantánea del entorno completamente inicializado.

  3. Cuando la aplicación necesita un entorno aislado para una sesión de usuario, un trabajo o un entorno de pruebas, llame a run-microvm. Lambda lanza una MicroVM a partir de la instantánea con tiempos de inicio rápidos.

  4. Los clientes se conectan a la MicroVM en ejecución mediante su punto de conexión HTTPS dedicado. No se requieren equilibradores de carga ni infraestructura de entrada.

  5. Cuando está inactiva, la MicroVM se suspende, lo que conserva el estado de la memoria y del disco y reduce los costos. Cuando vuelve a recibir tráfico, la MicroVM reanuda su ejecución con los estados de la memoria y del disco intactos. El comportamiento de suspensión y reanudación se puede configurar automáticamente mediante políticas de ciclo de vida o desencadenarse directamente mediante llamadas a las API suspend-microvm y resume-microvm.

  6. Cuando finaliza la sesión, se termina la MicroVM para liberar todos los recursos.

Cuándo usar las MicroVM de Lambda

Las MicroVM de Lambda son adecuadas para casos de uso que ejecutan código generado por usuarios o por IA y requieren entornos de ejecución que ofrezcan un aislamiento sólido, baja latencia de lanzamiento y reanudación, y control por parte de los desarrolladores sobre el ciclo de vida del entorno y la conservación del estado. Los casos de uso habituales incluyen:

  • Entornos de código interactivos: entornos de desarrollo en los que los usuarios escriben y ejecutan código en tiempo real.

  • Entornos de pruebas para la ejecución de código de IA: entornos de pruebas efímeros para ejecutar de forma segura código generado por IA.

  • Aplicaciones de análisis de datos: cuadernos de Jupyter y cargas de trabajo efímeras de procesamiento de datos que ejecutan scripts proporcionados por los usuarios.

  • Análisis de seguridad: herramientas de evaluación de vulnerabilidades que requieren entornos de ejecución aislados.

  • Entornos de aprendizaje por refuerzo: entornos de pruebas aislados para la evaluación y el entrenamiento de agentes de IA, en los que se inicia un entorno nuevo para cada ejecución.

  • CI/CD multiinquilino: ejecutores de tareas que requieren aislamiento entre inquilinos.

  • Servidores de videojuegos: entornos de alojamiento que ejecutan scripts proporcionados por los usuarios con un aislamiento sólido.

Características principales de

  • Inicio rápido: las MicroVM reanudan su ejecución a partir de instantáneas preinicializadas, sin necesidad de inicializar la aplicación. Consulte Imágenes de MicroVM.

  • Control del ciclo de vida: suspenda, reanude y termine las MicroVM mediante programación o de forma automática a través de políticas de inactividad configurables. Consulte Ejecución de MicroVM.

  • Redes flexibles: las MicroVM admiten tráfico HTTPS entrante en puertos configurables, con autenticación JWE proporcionada por el servicio. El acceso saliente es configurable. Acceda a Internet público o a la VPC. Para obtener más información, consulte el capítulo sobre Red.

  • Asignación flexible de recursos: aprovisione cada MicroVM según el uso base o promedio, con la flexibilidad de escalar verticalmente hasta cuatro veces la capacidad base configurada durante los periodos de máxima actividad. Pague la tarifa base mientras la MicroVM esté en ejecución y pague únicamente por el uso activo que supere la capacidad base.