The editors at TheServerSide regularly recognize Java technologies for their innovation and market impact. Azul Zing is the December 2015 Editors' Choice for Innovation.
Product name: Zing release 15.09
Release date: Oct. 20, 2015
Vendor: Azul Systems Inc. in Sunnyvale, Calif.
What it does
Making Java garbage collection predictable and pause-free is a key feature of Azul Zing. With no pauses, high transaction rates and consistent response times are a given, according to Scott Sellers, CEO of Azul Systems. To do this task effectively, Zing runs Azul C4 technology, a continuously concurrent, compacting collector that compresses a Java heap, remapping memory while an application is still working.
Many enterprise Java applications quickly reach the limits of what a traditional, off-the-shelf Java virtual machine (JVM) from Java SE HotSpot is able to deliver, said Sellers in an interview with TheServerSide. "Most often, our customers use Zing for environments that require very consistent low latency. For example, 99% consistency is not good enough for electronic trading platforms," he explained.
Before Zing, Java developers and enterprise architects have had to do some "crazy workarounds with HotSpot," said Sellers. Using Azul Zing instead of HotSpot allows for more linear scalability as additional hardware is added to the system. It also provides the ability to address a huge amount of memory. "I can have a single heap with a terabyte of memory inside the heap," he said. This functionality expands developers' ability to put more memory in heaps and do more memory analysis and caching, all while accessing a database less.
Azul Zing is optimized to work with Apache Cassandra, a distributed, open source NoSQL database. Cassandra was created by Facebook developers who needed to deliver high availability and no single point of failure in systems that handled huge volumes of structured data across server farms.
Why it's cool
In short, Azul Systems' Zing JVM gets the garbage out of enterprise Java workloads and applications without increasing latency. For example, adding Zing to the Spotex trading systems brought real-time performance that Java alone couldn't deliver. "Even after Java has been around for about 20 years now, there is no solution for the garbage collection within it," said Ritesh Agrawal, CEO at Spotex, which runs the Electronic Communication Network (ECN). ECN is a fair-trading environment for foreign exchange and metal commodities traders, which offers automated trade reconciliation and smart matching routing.
With Zing, there are no more pauses during transactions, said Agrawal. "In terms of latency and scalability, with Java and Azul together, our application processes run about 20,000 [to] 30,000 orders per second during the news time with no problems, without even feeling the pain."
Java garbage collection and Java runtime can inhibit Cassandra database systems performance and promote latency, Sellers said. With Zing JVM 15.09's optimizations for Cassandra, many current continual tasks, such as performance tuning, are eliminated, he noted.
Developers dealing with Java runtime issues get assistance in the new release, which brings Docker container support. With Docker, Zing 15.09 simplifies putting workloads in certified Java runtime solutions on Red Hat Enterprise Linux, Ubuntu and Amazon Web Services environments, Sellers said.
What a user says
The Spotex ECN has enjoyed consistent performance with Azul Zing. "We have some hard deadlines in terms of the real-time requirements of the application. Our system doesn't go down at the end of the day," said Agrawal.
Prior to using Zing, Spotex sometimes experienced garbage collection and other types of latencies of 30 to 50 milliseconds every 10 minutes, according to Agrawal. "This was especially a problem when we would have 25,000 to 30,000 orders sitting on the matching engine," he said.
By replacing the legacy JVM with Zing, Spotex eliminated problematic latency outliers and improved trade execution.
Agrawal's infrastructure team did an easy, out-of-the-box deployment of Zing "with no hiccups or code changes," he said. "It is as simple as just changing your infrastructure to point to a different version of Java." Spotex's existing Java code worked as is on Azul Zing JVM, so he doesn't worry about compatibility issues across multiple servers now.
Available now, Zing is acquired on a subscription pricing model, which bundles maintenance and support. Prices run from $2,500 to $8,000 per server, depending on volume of servers and length of contract.
Optimizing smart garbage collection
Seven wrong ways you've been collecting garbage
Azul supports Java 9