Azul Systems, which makes hardware appliances to speed up the performance of Java applications, today starts selling its Zing virtual appliances for JVMs as an alternative to the Vega hardware appliances it has been selling since the company launched six years ago.
The expectation is that going virtual on x64 iron will make it easier for Azul to sell more appliances.
The Zing platform that starts shipping today was announced back in June, and it takes all of the best ideas that Scott Sellers, a graphics chip designer who is president and CEO at Azul, and Shyam Pillalamarri, vice president of engineering, cooked up for the Vega chips and their homegrown JVM when they co-founded Azul in March 2002.
Azul has burned through an impressive $206.9m in ten rounds of funding, with Accel Partners, Austin Ventures, ComVentures, Credit Suisse, JVax Investment Group, Meritech Capital Partners, Redpoint Ventures, Velocity Interactive Group, and Worldview Technology Partners all kicking in funds between 2003 and 2008.
Azul is not abandoning sales of the hardware platform, but is clearly hoping to ride the wave of server virtualization in the data center to radically expand its customer base. Sellers says the Vega hardware appliances for accelerating the performance of Java virtual machines sold well in its first fiscal quarter of 2011, setting a record for the privately held company, breaking records, and in the second quarter ended in July, the company once again set records even though it had announced an alternative product based on virtualized x64 servers.
Moving from its custom 24-core and 48-core Vega processors and the custom Java software stack to running atop commodity x64 servers and their hypervisors would seem to be an inherently more profitable business. And it is probably an easier sell, with companies right now examining either how to virtualize their servers for the first time or how to do it better the second time.
"Zing is not based on software technology that is going to take multiple iterations to mature," explains Sellers. "Customers will need to do a requalification and a revalidation process as they move from physical to virtual servers, and with our technology being established, Azul can be part of that virtualization wave."
This has to be a relief to all of those investors above, who are probably hoping for the Zing software appliances to take off just enough in the market in the next year for someone like VMware, IBM, or Oracle to swoop in and pay a hefty premium to get their hands on this much more consumable Java acceleration technology.
The original Vega appliances could put sixteen of the 24-core Vega chips in a single image, with 256 GB of memory, to work as an offload JVM engine for Java applications. The JVM had a 96 GB heap stack and still not choke doing garbage collection on such a large stack, while in the real-world, says Sellers, JVMs start choking on their own garbage collection at 2 GB to 3 GB.
The result is that the 11U Vega appliances could do the JVM work of somewhere between hundreds and thousands of physical servers running a Java stack. And yes, a lot of people thought these performance gains were just not possible.
Similarly, with the Zing stack running atop virtual machines, Azul will be facing similar levels of disbelief at the expected speed up. The Zing JVM, which is based on the homegrown JVM for the Vega hardware appliances, can scale across dozens of x64 cores and hundreds of gigabytes of main memory.
The heap size with the Zing virtual appliance is now up to 1 TB, which again, a lot of people simply won't believe until they test it, as Sellers himself concedes. The resulting JVM can deliver several orders of magnitude higher throughput on Java workloads than an off-the-shelf JVM for Linux, Windows, or Unix.
The Zing Platform has four parts. The Zing Virtual Machine is the reworked JVM from the Vega appliances that has been ported to the x64 architecture; it requires a 64-bit chip with either Intel VT-d or AMD-V electronics to boost the performance of hypervisors. The Just-In-Time Java compiler inside of Zing is the second components, and it is highly optimized to the x64 architecture, says Sellers.
The stack also includes the Zing Resource Controller, a management console for all of the virty Java stacks you want to deploy on your x64 boxes, and Zing Vision, a kind of probe and monitoring tool that allows you to observe the guts of running Java applications to try to figure out how to tune the appliances and the applications to squeeze more performance out of them.
Sellers says that Zing Vision is akin to Sun Microsystems' DTrace probe, but is meant to be used in a production, not just a development and test environment, and is built into the product from the ground up so that using it imposes no extra performance penalty when people use it. No, it is not a zero-overhead tool as Azul's marketing materials say - that would mean it was magical - but rather Zing Vision is always running so you get a performance hot like other probes smack you with when you turn them on.
Azul is trading some of the performance gains it gets through tuning to allow continual monitoring and probing of applications. The actual performance penalty for the Zing Vision probe is one per cent or less of CPU, according to Sellers, so even if there was a hit, it would not be a big one.
"Zing is optimized to virtualized settings, and this is a big deal," says Sellers. "This is the first time where virtualization adds value to the scalability of Java applications. Finally, the app guys have a reason to embrace virtualization instead of regretting it.
To make its point with customers, Azul took the open source LifeRay portal framework and created an online retailing benchmark test. The industry rule of thumb is that if you make a shopper wait for more than 5 seconds for a page, they will get frustrated and leave. So Azul required that a Java stack running an x64 Linux box had to have a five second response time.
Under the LifeRay load, a two-socket x64 server could handle 45 users with just a hair under five second average response time. Then Azul loaded the Zing Platform on the same piece of iron, and the box could handle 800 users and had an average response time on the order of seven-tenths of a second. That's 17.7 times the number of users and 6.8 times better response.
Sellers figures you won't believe it, so you will have to try it yourself. (You can get a trial of the software here.)
The Zing Platform JVM appliance is packaged up in an Open Virtualization Format (OVF) package and currently can run on VMware's ESX Server 4.1 or Red Hat's KVM hypervisor bundled inside of Enterprise Linux 5.5; Sellers says that RHEL 6.0's implementation of KVM will be supported as soon as it is out. And of course, the free-standing Enterprise Virtualization, or RHEV, KVM hypervisor stack from Red hat is also supported.
Sellers says that there is still a lot of Java out there in the data center running on Windows platforms, so Hyper-V support is the next obvious choice. Xen, being popular out there on public clouds is also on the Zing support roadmap. Both Hyper-V and Xen are expected to be supported in the next dot release of the Zing Platform.
While many of the speedups that Azul has created for the Zing Platform have been donated to the OpenJDK project, Sellers says that Zing is most certainly a closed source product and will stay that way since Azul wants to make a living.
The Zing Platform is licensed annually on a subscription basis and on a per-server - not a per-socket or per-core - basis, and while Azul is still being cagey about the price, Sellers gave a little and said it was in the same ballpark as what people are already paying for commercial-grade hypervisors (that means VMware) and that it was four figures, not five. ®