- Los MicroVM han sido un área candente en I+D tecnológica durante los últimos 5 años
- La idea central es recrear algunos conceptos y tecnologías que IBM inventó junto con el hipervisor en la década de 1960
- Diseñar especialmente el SO para que se ejecute como invitado en otros SO
- Hacer que se ejecute dentro de una VM, pero que se comunique con los recursos (VirtIO) que proporciona un hipervisor específico, en lugar de con hardware falso
- El objetivo comercial es ofrecer rendimiento de computación "serverless"
- AWS Lambda funciona con Firecracker
- Firecracker se basa en el hipervisor KVM integrado en el kernel de Linux (AWS antes se basaba en el hipervisor Xen)
- Linux-On-Linux
- En el mismo entorno donde FreeBSD puede arrancar en 25 ms, Linux tarda entre 75 y 80 ms
- Cuando Colin Percival, desarrollador del kernel de FreeBSD, comenzó al principio el trabajo para mejorar la velocidad de arranque, tardaba 10 segundos, pero ahora es 400 veces más rápido
- Por ahora está optimizado para x86-64, pero también se está trabajando en Arm64
- Firecracker es actualmente uno de los microVM más conocidos, pero también existen otros productos
- QEMU añadió una plataforma virtual microvm, y Hocus, un servicio de entornos de desarrollo en línea, cambió de Firecracker a QEMU
- Puede tener usos no solo en la nube, sino también para otros fines
- Ejecutar un programa único construido para un SO sobre otro SO completamente distinto puede ser útil en muchas situaciones
5 comentarios
¿Qué tanta diferencia hay realmente entre 80 milisegundos y 20 milisegundos desde la perspectiva del servicio completo o de la experiencia del proveedor del servicio? Me da vagamente la impresión de que quizá 80 milisegundos ya sea suficientemente rápido. Aunque 10 segundos sí era un poco demasiado.
Dicen que si se puede reducir el tiempo de arranque en frío por debajo del tiempo que toma el handshake TLS con el cliente, ya no harían falta medidas como el warming up para evitar la caída en la velocidad percibida inicial de algunos usuarios causada por arranques en frío lentos.
CloudFlare alguna vez presumió haber logrado justamente eso al reducir el tiempo de carga de su servicio Workers hasta apenas 5 milisegundos.
Impresionante la capacidad técnica de Cloudflare...
Hace poco Colin Percival llamó la atención por el cambio de bubble sort a merge sort en SYSINIT,
pero como es un artículo que también explica la relación entre la mejora en la velocidad de arranque de FreeBSD que hay detrás de eso y las microVM, lo comparto traducido.
Hocus - la alternativa open source a GitHub Codespaces
Por qué reemplazaron Firecracker por QEMU
FreeBSD usa el 7% del tiempo de arranque ordenando los SYSINIT con bubble sort
FreeBSD cambia el bubble sort de SYSINIT por merge sort
Ah, es un texto que va en la misma línea que ese. Qué interesante.