Azul goes virtual with Java appliance
Because you can't teleport hardware to the cloud
Upstart Java acceleration hardware appliance maker Azul Systems is no longer a startup, but it does have a problem. If cloud computing is the future – by which is meant a mix of utility-priced, x64-based shared infrastructure as well as internal private infrastructure based on heaven knows what – then you cannot teleport an Azul hardware appliance across data centers like you can a virtual machine. And so, Azul has created a virtualized version of its hardware appliance, called Zing, that runs on the x64 architecture, thus freeing itself from the physical limits of its own iron.
Don't get the wrong idea. Azul is not, says Scott Sellers, the company's co-founder, president, and chief executive officer, ditching its Vega hardware appliances, which are in their third generation. Sellers says that in its first fiscal quarter ended in April, the company posted the highest revenues in its history.
"Appliance sales continue to go very well, and we expect to beat our record Q1 in Q2," says Sellers. And because of this, the company will sell and support the Vega 3 appliances for the foreseeable future. But Azul is looking at a more cloudy future, infrastructure wise, and that means Azul had little choice but to take the Java Virtual Machine it created to run atop the Vega chips, which were purpose-built to run that JVM and to do very fast garbage collection so it could be used as an offload co-processor for JVMs running on production servers, and get it onto x64 iron running in a virtual machine.
"Zing is a much more consumable product, and it will be easier to sell than our hardware appliances," says Sellers. "We believe, over time, the future for us is in this software platform."
Sellers is a hardware guy and his co-founder partner, Shyam Pillalamarri, who is vice president of engineering at Azul, is a software guy. And the reason why they created the original 24-core Vega chips to run their own JVM, which was launched in October 2004, was because the x64 chips of the time had so many transistors dedicated to running legacy x86 workloads and too few features that would be an asset specifically for a virtualized environment like a JVM.
The original Vega appliances could put sixteen of these Vega chips in a single image, with 256 GB of memory, just for running Java and all crammed into an 11U form factor. Most importantly, the Compute Appliances, as the machines were eventually renamed, could have a 96 GB heap size for Java applications and still do garbage collection for that large amount of memory; real-world JVMs start choking on their own garbage collection at 2 GB to 3 GB.
So when you offloaded Java work from your Web application server to an Azul appliance, it ran like a bat out of hell. Such that one 96-core Compute Appliance could replace the JVMs running on hundreds to thousands of physical servers, depending on the workload.
Fast forward five years. Sellers says that many of the things that the Azul JVM needs – lots of bandwidth engendered by the Quick Path Interconnect of Intel's Xeon architecture (which has been in the Opterons since 2003, mind you, as HyperTransport) as well as the Intel VT-d and Advanced Micro Devices AMD-V memory and I/O virtualization instructions for their respective Xeon and Opteron processors, make it possible for Azul to use commodity processors to run a ported – and portable, thanks to server virtualization - version of its Java stack. And that is precisely what Azul has done with Zing.
It's not just that Azul has ported its JVM to the x64-architecture and plunked it into a VM. Sellers says that the Zing JVM has been architected from the ground up to run in virtualized mode, and to do so in a way that allows Zing to support much larger heap sizes than a JVM running on an x64 server with a Windows or Linux operating system can do.
The Zing Platform has four parts. The Zing Virtual Machine is just what it says it is, and the Zing Virtual Appliance is an instance of this Zing JVM plunked atop of a server virtualization hypervisor and tuned to run inside a guest VM. The underlying server has to have a 64-bit chip with either VT-d or AMD-V electronics. The Just-In-Time Java compiler inside of Zing is highly optimized to the x64 architecture, says Sellers, but there is no reason why it could not be ported to other hardware platforms and hypervisors.
At the moment Azul, thinks even customers running Java applications on Unix, proprietary midrange, or mainframe iron won't think twice about offloading to x64 iron. (We'll see). The Zing JVM will initially run on either Red Hat or Ubuntu KVM or VMware ESX Server hypervisors. Over time, Azul will add Hyper-V and perhaps Xen if customers ask for it. Zing Platform also includes the Zing Resource Controller, which monitors and manages the running of Zing JVMs, and Zing Vision, a graphical application profiling tool for the offloaded Java applications.
Zing Platform will ship in the second half of this year. Pricing was not set yet for the product, but Sellers said the intent was to keep the price of the Zing products consistent with application server and virtualization software. That's not much of a clue, but that's the IT racket for you. ®