ZeroVM es una tecnología de espacio aislado y virtualización ligera de código abierto . Virtualiza un solo proceso utilizando la plataforma Google Native Client . Dado que solo se virtualiza un único proceso (en lugar de un sistema operativo completo), la sobrecarga de inicio es del orden de 5 ms. [1] [se necesita una fuente de terceros ]
Autor (es) original (es) | Camuel Gilyadov, Constantine Peresypkin y Dmitri Bortok |
---|---|
Desarrollador (es) | LiteStack que fue adquirido por Rackspace |
Versión de vista previa | 0.9.4 / 26 de noviembre de 2013 |
Repositorio | |
Escrito en | C , montaje |
Sistema operativo | Linux |
Plataforma | x86-64 |
Tipo | Virtualización de aplicaciones |
Licencia | Licencia Apache 2.0 |
Sitio web | zerovm |
Sandboxing
ZeroVM crea una caja de arena alrededor de un solo proceso, [2] utilizando tecnología basada en Google Native Client (NaCl). El sandbox garantiza que la aplicación ejecutada no pueda acceder a los datos en el sistema operativo del host, por lo que es seguro ejecutar código que no es de confianza. Los programas ejecutados en ZeroVM primero deben compilarse de forma cruzada en la plataforma NaCl. ZeroVM solo puede ejecutar código NaCl compilado para la plataforma x86-64 , no el formato portátil Native Client (PNaCl).
El código ejecutado en ZeroVM no puede llamar a las llamadas normales del sistema e inicialmente no puede interactuar con el entorno host. Toda la comunicación con el mundo exterior se realiza a través de canales , que deben declararse antes de que comience el programa. Fuera de la zona de pruebas, un canal se puede conectar a un archivo local, a una tubería oa otra instancia de ZeroVM. [3] Dentro de la caja de arena, el programa ve el canal como un descriptor de archivo . El programa de espacio aislado puede leer / escribir datos desde / hacia el canal, pero no sabe dónde está conectado el canal en el host.
Los programas compilados para ZeroVM pueden utilizar opcionalmente la biblioteca ZeroVM Runtime denominada ZRT. Esta biblioteca tiene como objetivo proporcionar al programa un entorno POSIX . [4] Para ello, mediante la sustitución de partes de la biblioteca estándar C . En particular, ZRT reemplaza las funciones de entrada / salida de archivos C como fopen
y opendir
con versiones que operan en un sistema de archivos en memoria. El sistema de archivos raíz se proporciona como tarball. Esto permite que un programa "vea" un entorno Unix normal.
El ZRT también reemplaza las funciones de fecha y hora de C , time
para dar a los programas un entorno fijo y determinista . Con entradas fijas, se garantiza que cada ejecución dará el mismo resultado. Incluso los programas no funcionales se vuelven deterministas en este entorno restringido. [5] Esto hace que los programas sean más fáciles de depurar ya que su comportamiento es fijo.
Integración con Swift
ZeroVM se ha integrado con Swift , el componente de almacenamiento de objetos distribuidos de OpenStack . [6] Cuando se instala el middleware ZeroCloud en Swift, un cliente puede realizar una solicitud a Swift que contenga un programa ZeroVM. A continuación, el programa se ejecuta directamente en los nodos de almacenamiento. Esto significa que el programa tiene acceso directo a los datos.
Historia
ZeroVM fue desarrollado por LiteStack, una startup israelí. La primera confirmación en el repositorio de zerovm
Git se agregó en noviembre de 2011. [7] LiteStack fue comprado por Rackspace en octubre de 2013. [1] [8] [9] ZeroVM participó en el programa de incubadoras Techstars Cloud 2013 y obtuvo $ 500,000 en fondos iniciales. [10] [11] La primera Cumbre de Diseño ZeroVM se celebró en enero de 2014 en la Universidad de Texas en San Antonio . [12]
Ver también
- Cliente nativo de Google
- LXC (contenedores LinuX)
- seccomp
- Docker (software)
Referencias
- ↑ a b Lindberg, Van. "ZeroVM: más pequeño, más ligero, más rápido" . Blog de Rackspace . Consultado el 14 de abril de 2014 .
- ^ Yegulalp, Serdar (23 de octubre de 2013). "ZeroVM virtualiza aplicaciones, no máquinas" . InfoWorld . Consultado el 14 de abril de 2014 .
- ^ "Canales ZeroVM" . Consultado el 14 de abril de 2014 .
- ^ "Léame de ZRT" . Consultado el 14 de abril de 2014 .
- ^ "Arquitectura ZeroVM" . Consultado el 14 de abril de 2014 .
- ^ "ZeroCloud" . Consultado el 14 de abril de 2014 .
- ^ Gilyadov, Camuel. "Primera confirmación" . GitHub . Consultado el 18 de abril de 2014 .
- ^ Shamah, David (24 de octubre de 2013). "Rackspace recoge el hipervisor 'construido para la nube' de ZeroVM" . ZDNet . Consultado el 14 de abril de 2014 .
- ^ Clark, Jack (25 de octubre de 2013). "Rackspace va a Israel, adquiere una nueva y elegante arma para las guerras de nubes" . El registro . Consultado el 14 de abril de 2014 .
- ^ Idan, Henn (3 de noviembre de 2013). "ZeroVM israelí adquirido por RackSpace" . Geektime . Consultado el 14 de abril de 2014 .
- ^ Lorek, Laura (19 de abril de 2013). "ZeroVM crea software para Cloud Computing" . Noticias de Silicon Hills . Consultado el 14 de abril de 2014 .
- ^ Rackspace. "Cumbre de diseño ZeroVM" . YouTube . Consultado el 18 de abril de 2014 .
enlaces externos
- Página web oficial
- [1] en GitHub
- Paquetes de Ubuntu estables
- Últimos paquetes de Ubuntu