Amazon ha publicado el sistema de virtualización Firecracker 1.0

Amazon ha publicado una versión importante de su Virtual Machine Monitor (VMM), Firecracker 1.0.0, diseñado para ejecutar máquinas virtuales con una sobrecarga mínima. Firecracker es una bifurcación del proyecto CrosVM, utilizado por Google para ejecutar aplicaciones de Linux y Android en ChromeOS. Amazon Web Services está desarrollando Firecracker para mejorar el rendimiento y la eficiencia de las plataformas AWS Lambda y AWS Fargate. El código de Firecracker está escrito en Rust y tiene la licencia Apache 2.0.

Firecracker ofrece máquinas virtuales livianas llamadas microVM. Para un aislamiento completo de microVM, se utilizan tecnologías de virtualización de hardware basadas en el hipervisor KVM, pero al mismo tiempo se proporciona rendimiento y flexibilidad al nivel de los contenedores convencionales. El sistema está disponible para arquitecturas x86_64 y ARM64, y ha sido probado en CPU de la familia Intel Skylake, Intel Cascade Lake, AMD Zen2 y ARM64 Neoverse N1. Se proporcionan herramientas para integrar Firecracker en sistemas de contención de contenedores en tiempo de ejecución, como Kata Containers, Weaveworks Ignite y Containerd (proporcionados por Firecracker-containerd en tiempo de ejecución).

Amazon ha publicado el sistema de virtualización Firecracker 1.0

El entorno de software que se ejecuta dentro de las máquinas virtuales está simplificado y contiene sólo un conjunto mínimo de componentes. Para ahorrar memoria, reducir el tiempo de inicio y aumentar la seguridad en los entornos, se lanza un kernel de Linux simplificado (se admiten los kernels 4.14 y 5.10), del cual se excluye todo lo innecesario, incluida la funcionalidad reducida y la compatibilidad con dispositivos eliminados.

Cuando se ejecuta con un kernel simplificado, el consumo de memoria adicional en comparación con un contenedor es inferior a 5 MB. El retraso desde el momento en que se lanza microVM hasta el inicio de la ejecución de la aplicación oscila entre 6 y 60 ms (promedio 12 ms), lo que permite la creación de nuevas máquinas virtuales con una intensidad de hasta 180 entornos por segundo en un host. con 36 núcleos de CPU.

Para administrar entornos virtuales en el espacio del usuario, se ejecuta el proceso en segundo plano Virtual Machine Manager, que proporciona una API RESTful que implementa funciones como configurar, iniciar y detener microVM, seleccionar plantillas de CPU (C3 o T2) y determinar la cantidad de procesadores virtuales (vCPU). y tamaño de la memoria, agregando interfaces de red y particiones de disco, estableciendo límites en el rendimiento y la intensidad de las operaciones, proporcionando memoria adicional y potencia de CPU en caso de recursos insuficientes.

Además de usarse como una capa de aislamiento más profunda para contenedores, Firecracker también es adecuado para alimentar sistemas FaaS (Función como Servicio), que ofrecen un modelo informático sin servidor en el que el desarrollo se lleva a cabo en la etapa de preparación de un conjunto de pequeños servidores individuales. funciones, cada una de las cuales maneja un evento específico y está diseñada para una operación aislada sin referencia al entorno (sin estado, el resultado no depende del estado anterior ni del contenido del sistema de archivos). Las funciones se inician sólo cuando surge la necesidad e inmediatamente después de procesar el evento completan su trabajo. La propia plataforma FaaS alberga funciones preparadas, organiza la gestión y garantiza el escalamiento de los entornos necesarios para ejecutar las funciones preparadas.

Además, cabe destacar la publicación por parte de Intel del hipervisor Cloud Hypervisor 21.0, construido sobre la base de componentes del proyecto conjunto Rust-VMM, en el que, además de Intel, también participan Alibaba, Amazon, Google y Red Hat. Rust-VMM está escrito en lenguaje Rust y le permite crear hipervisores para tareas específicas. Cloud Hypervisor es uno de esos hipervisores que proporciona un monitor de máquina virtual (VMM) de alto nivel que se ejecuta sobre KVM y está optimizado para tareas nativas de la nube. El código del proyecto está disponible bajo la licencia Apache 2.0.

Cloud Hypervisor se centra en ejecutar distribuciones modernas de Linux utilizando dispositivos paravirtualizados basados ​​en virtio. Entre los objetivos clave mencionados se encuentran: alta capacidad de respuesta, bajo consumo de memoria, alto rendimiento, configuración simplificada y reducción de posibles vectores de ataque. El soporte de emulación se mantiene al mínimo y la atención se centra en la paravirtualización. Se admiten las arquitecturas x86_64 y AArch64. Para los sistemas invitados, actualmente solo se admiten versiones de Linux de 64 bits. La CPU, la memoria, PCI y NVDIMM se configuran en la etapa de ensamblaje. Es posible migrar máquinas virtuales entre servidores.

La nueva versión de Cloud Hypervisor incluye la capacidad de realizar una migración local en vivo eficiente, que se puede utilizar para actualizar entornos sobre la marcha (Live Upgrade). El nuevo modo se distingue por deshabilitar la comparación de memoria de los entornos de origen y de destino, lo que reduce el tiempo de una operación de actualización sobre la marcha de 3 segundos a 50 ms. El kernel de Linux recomendado es el 5.15 (el 5.14 tiene problemas con virtio-net).

Fuente: opennet.ru

Añadir un comentario