Analysis Cloud operator Rackspace has hopped over to Israel and returned with a secret weapon that could give it capabilities hard to find in Amazon and Microsoft clouds.
The weapon? ZeroVM, an open-source lightweight hypervisor that presents a single-threaded environment and can be spun up in as little as 5 milliseconds. It is based on Google's Chromium "Native Client" project.
The acquisition of the team behind ZeroVM was announced this week, and gives Rackspace access to software that reduces the time it takes to boot a virtual server application, can isolate app data on a per-user rather than per VM basis, and is host-OS neutral.
The hypervisor effectively throws programs into sandbox-like containers and forces them to use classic C and UNIX process, file and pipe abstractions to talk to the underlying hardware, the company said. This ensures the software has no access to anything it's not permitted to touch, and programs communicate via inter-process communication.
In theory, this means ZeroVM, which weighs in at 75KB when compiled, is a better proposition from a security perspective as it combines user isolation with a smaller attack surface. It's also lightweight enough to run comfortably on storage servers and process information right there and then without having to pipe the bytes to a compute resource.
Due to the brief start-up time, it's possible to quickly spin up and spin down a contained application for each file manipulated by the software. It can therefore be used to run scripts and process data on the fly; so, for example, when you open a photo file stored in a Swift filesystem, ZeroVM can fire up on the storage node, run the script interpreter executable and a script to add a watermark to the image, and then pipe out the modified picture to the user – crucially, all done on the Swift node rather than a compute box.
"Bulky VM instances cannot be integrated into storage cloud. They require a dedicated cloud, resulting in excessive back and forth shipping of data," the ZeroVM team claimed. "VM embeddability and lightweightness solves this problem."
Though some companies have tried to solve the problem of overweight, overstuffed VMs by looking again at an old software technique called "containerization" that draws on the LXC component of the Linux kernel, the ZeroVM team isn't convinced that this is a good idea. They say LXC is, in its current state, "not secure enough for multi-tenancy: host syscalls are vulnerable... Full OS syscall API is visible for the application, making it sensitive to exact kernel revision for example."
'Why shouldn't we do that near where the storage is?'
ZeroVM believes ideal use cases of its technology include multi-tenant cloud databases; video sharing services that embed footage-processing logic within the cloud store; or most excitingly "in-situ cloud-enabled MapReduce", which would work by keeping the framework within the ZeroVM hypervisor.
For now, the technology holds reasonable promise, but how useful it really is will depend on what Rackspace does with it.
Perhaps the closest parallel to ZeroVM is Joyent's ZFS-based Manta system which mushes storage and compute together and lets app logic run directly on stored objects.
"We believe the future of computing is smaller, lighter and faster," Rackspace wrote in a blog announcing the acquisition. "Stay tuned for a publicly accessible preview showing what a converged data and compute layer can do."
Rackspace isn't sure when it will role out the capabilities, but in a chat on Friday the company's CTO John Engates told The Register that ZeroVM is strategically important to the company.
"It's an investment in the future," he said. "It's a very interesting container technology and it's something we think has a lot of value."
Other potential uses of the tech could include running image search operations or video transcoding workloads directly on the storage layer.
"Why shouldn't we do that near where the storage is, rather than pulling it across the network twice?" he said. ®