Azul Zing: moving its JVM from silicon to software.

"Blue Is Better, Blue Is Best." So sang the mysterious blue voice in Dougal And The Blue Cat, that great psychedelic movie.
Written by Simon Bisson, Contributor and  Mary Branscombe, Contributor

"Blue Is Better, Blue Is Best." So sang the mysterious blue voice in Dougal And The Blue Cat, that great psychedelic movie. The technology industry is definitely a magic roundabout of sorts with startups making dramatic pivots to keep in business and to respond to changes in the environment. Azul Systems has just spent the last three years or so making one of those dramatic turns, one that looks to finally let the company capitalise on the work it has done with Java since it was founded nearly a decade ago.

It's been a good few years since I last spoke to Azul Systems. Back then they were doing innovative work, with one of the first massively parallel processors – 48 cores on a single piece of silicon. What’s more, Azul's silicon was designed to run Java applications, addressing truly massive amounts of memory. If you were running massive Java applications, then Azul's Vega was the solution to many problems. Building on the company's license to the HotSpot JVM, Azul has done a lot of work building and improving its JVM over the last few years.

There was really only one problem with Azul's business model: it was a single supplier. That put the company at a disadvantage when faced with corporate multi-sourcing policies that left it unable to compete with server giants like HP and Dell. Even so, Vega-powered Java appliances are running the systems that power many large businesses and banks. All that companies needed to do was install a Vega appliance with gigabytes of memory and hundreds of cores, then swap out the JVM in their application server for Azul's proxy (with no need to rewrite existing applications) and they'd be running a massively scalable Java system that would scale to handle massive amounts of data and wouldn’t suddenly pause to garbage collect and reallocate memory.

Luckily for Azul, Moore's Law (or rather the problems with Moore's law that made multicore processors inevitable) came into play. What had to be done in silicon could now be done in software, and the company began the process of moving its Java engine into the world of software, while still keeping its performance and scalability advantages. Vega became Zing, and in 2010 Azul's first software appliance arrived as a virtual machine that ran on commodity x86 hardware.

That first appliance just took the silicon and turned it into software, and the use of VMware meant there was an additional abstraction between server and software – as well as limitations due to VMware's own platform. That was quickly followed by a second version, codenamed Venti, which removed the hypervisor from the equation, letting you take any x86 server and make it a high-performance Java appliance. While Venti was a big improvement in performance over the previous version, with its own bare-metal OS (a custom Linux kernel) you still needed to proxy your existing JVMs. That was fine in most cases, but it did add network latency, making it unsuitable for high-performance applications that required minimum latency.

Yesterday saw the release of Zing 5.0, a major reworking of the Zing JVM. Now if you're running a Java application server on a RedHat Enterprise Linux server (like many out there) you can simply install Zing as a drop in replacement for your old JVM. There's no need for a proxy, and no added latency. Just give your server all the memory it can take, and you're cooking with the proverbial gas – and by "all the memory" we mean a lot, as Zing can support over 512GB of RAM, ideal for working with massive in-memory datasets and huge application heaps. There's plenty of management tooling in Zing too, with the ability to drill right down inside the JVNM to understand just how and why code is performing the way it is.

Those performance monitoring tools were one of the Vega platforms key features, and were able to help developers find and understand complex bugs that were often masked by the garbage collection feature of a traditional JVM. Being able to see inside a JVM at work is a powerful tool, and one that also helps administrators understand just how to provision and deploy server hardware – giving early warning of when upgrades are needed, helping infrastructure teams budget for growth.

Certainly the numbers look good… Azul says that for SaaS applications their JVM lets companies get 3 times more users on a single server, similarly using the Yahoo! Cloud Serving Benchmark for distributed caching and in-memory data stores shows a 5.7 times greater throughput, and portals and ecommerce servers can handle 18 times the previous number of concurrent users while speeding up response times by 7 times. If spending money on a new JVM means businesses can deploy fewer servers for improved performance, there's also an economic incentive to change.

It'll be interesting to watch Azul over the next couple of years. Shifting from hardware to software makes sense for the company, but with Oracle taking more control over Java there's certainly an elephant sat firmly in the middle of the room – one that could well be disguised as an exit strategy.

Simon Bisson @sbisson

Editorial standards