
MicroVMs seguros y rápidos para la computación sin servidor.
Nuestra misión es permitir la ejecución segura, multiinquilino y con mínima sobrecarga de cargas de trabajo de contenedores y funciones.
Lee más sobre la Carta de Firecracker aquí.
Firecracker es una tecnología de virtualización de código abierto diseñada específicamente para crear y gestionar servicios seguros, multiinquilino y basados en contenedores y funciones que proporcionan modelos operativos serverless. Firecracker ejecuta cargas de trabajo en máquinas virtuales ligeras, llamadas microVMs, que combinan las propiedades de seguridad y aislamiento proporcionadas por la tecnología de virtualización de hardware con la velocidad y flexibilidad de los contenedores.
El componente principal de Firecracker es un monitor de máquina virtual (VMM) que utiliza el Kernel Virtual Machine (KVM) de Linux para crear y ejecutar microVMs. Firecracker tiene un diseño minimalista. Excluye dispositivos innecesarios y funcionalidad orientada al huésped para reducir la huella de memoria y la superficie de ataque de cada microVM. Esto mejora la seguridad, disminuye el tiempo de arranque y aumenta la utilización del hardware. Firecracker también se ha integrado en runtimes de contenedores, por ejemplo Kata Containers y Flintlock.
Firecracker fue desarrollado en Amazon Web Services para acelerar la velocidad y eficiencia de servicios como AWS Lambda y AWS Fargate. Firecracker es de código abierto bajo Apache versión 2.0.
Para leer más sobre Firecracker, consulta firecracker-microvm.io.
Para comenzar con Firecracker, descarga los binarios de la última versión o compílalo desde el código fuente.
Puedes compilar Firecracker en cualquier sistema Unix/Linux que tenga Docker en ejecución (usamos un contenedor de desarrollo) y bash instalado, de la siguiente manera:
git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"
El binario de Firecracker se ubicará en build/cargo_target/${toolchain}/debug/firecracker. Para más información sobre cómo compilar, probar y ejecutar Firecracker, consulta la guía de inicio rápido.
La seguridad general de las microVMs de Firecracker, incluida la capacidad de cumplir los criterios para la computación multiinquilino segura, depende de un sistema operativo host Linux bien configurado. Una configuración que creemos que cumple este estándar se incluye en el documento de configuración del host de producción.
Firecracker ya ejecuta cargas de trabajo de producción dentro de AWS, pero aún es el Día 1 en el camino guiado por nuestra misión. Hay mucho más por construir y damos la bienvenida a todas las contribuciones.
Para contribuir a Firecracker, consulta la sección de configuración de desarrollo en la guía de inicio y luego las directrices de contribución de Firecracker.
Las nuevas versiones de Firecracker se publican a través de la página de versiones del repositorio de GitHub, normalmente cada dos o tres meses. Un historial de cambios se registra en nuestro registro de cambios.
La política de versiones de Firecracker se detalla aquí.
La arquitectura general de Firecracker se describe en el documento de diseño.
Firecracker consiste en un único proceso de gestor de micro máquinas virtuales que expone un endpoint de API al host una vez iniciado. La API está especificada en formato OpenAPI. Lee más al respecto en la documentación de la API.
El endpoint de API se puede utilizar para:
[BETA] Configurar el árbol de datos del servicio de metadatos orientado al huésped. El servicio solo está disponible para el huésped si este recurso está configurado.[Vista previa para desarrolladores] Hot-plug y hot-unplug de dispositivos virtio PCI mientras la VM está en ejecución.Capacidades integradas:
Probamos todas las combinaciones de: