6 Reasons Why Enterprises need Safe & Secure Java | DOWNLOAD GUIDE

Azul Cloud Native Compiler FAQ

Set Up and Install Now

Product Questions

What is Azul Cloud Native Compiler?

Cloud Native Compiler is the first offering of the Azul Intelligence Cloud family of products to be made generally available (GA) to Azul customers. The Azul Intelligence Cloud includes a series of cloud-centric analytical and code optimization modules to manage, analyze and scale your Java fleets of cloud instances, servers, desktops and IoT devices.

The Cloud Native Compiler is a scalable Just-In-Time (JIT) compilation server. It enables Java Virtual Machines, Java runtimes allowing Java programs to ‘write once, run anywhere’, to provide a server-side optimization solution that offloads JIT compilation to separate and dedicated service resources, providing more processing power to JIT compilation while freeing your client JVMs from the burden of doing JIT compilation locally.This allows you to improve Java and JVM-based application performance while right-sizing infrastructures to deliver cost savings, especially when leveraging cloud connectivity at scale.

What is a Just-In-Time Compiler?

A Just-In-Time (JIT) compiler is a component of the runtime environment that improves the performance of Java applications by compiling bytecodes to optimized native machine code at runtime. JIT optimization provides a multitude of benefits, including the ability to use speculative optimizations that lead faster eventual code. However, traditional on-JVM JIT compilers must share the JVM’s local CPU resources and compete with the application logic in using that capacity. This presents several challenges:

  • The JIT compiler is limited in resources. Resulting optimizations take time to arrive at, and benefits are limited by the practical amount of time that applications can wait for optimization and warm-up to complete.
  • The JIT compiler is limited in how aggressively it can afford to optimize code. The resulting optimizations are not as fast as they could be if the optimizer had more resources available

The Cloud Native Compiler provides a server-side solution to overcome these challenges when deployed alongside connected Zulu Prime-based Java Virtual Machines.

When was Cloud Native Compiler released?

Cloud Native Compiler became generally available on October 15th as a customer-managed component in conjunction with Azul Platform Prime.

`The Cloud Native Compiler works with the Zulu Prime JVM only?  How does it benefit a Zulu Prime workflow?

Yes, Cloud Native Compiler leverages Falcon Compiler technology, which is uniquely part of Zulu Prime JVM.

At a high level, Cloud Native Compiler when used with Azul Platform Prime immediately allows users to offload JIT compilation from the JVM to dedicated servers. This frees JVM processes from expensive compute and memory overheads at key times, like warm-up. Cloud Native Compiler also improves performance, ensures consistency of performance, and reduces costs by right-sizing resources.

At a deeper level, using more aggressive optimization levels requires more resources, and when using JVM-local JIT compilers for optimization, resource tradeoffs can often lead to a choice of lowering optimization levels in favor of improved warmup times. Cloud Native Compiler eliminates trade-offs by removing JIT compilation work from individual JVMs and shifting the work of the Falcon JIT compiler to a separate shared service. This shift of work and associated resources allows the Cloud Native Compiler to apply even the most aggressive Falcon JIT optimization levels without disrupting individual JVM behavior.

How can I try Azul Platform Prime?

Azul Platform Prime Stream Builds are free for development, testing, and evaluation. You can see if your environment is supported by checking our specifications page. To request an on-site evaluation and work with an Azul expert, simply contact us.

Technical Questions

Will I need to make changes to my Java code in order to run Azul Platform Prime and the Cloud Native Compiler?

No. Deploying Azul Platform Prime requires no changes to existing applications. You merely point the application’s JAVA_HOME environment variable to Azul Platform Prime and you are running on the most scalable JVM on the market. Azul Platform Prime also requires no changes to other aspects of your infrastructure – security, other applications, monitoring tools, etc.

What do I need to run the Cloud Native Compiler?

You must have access to Zulu Prime builds of OpenJDK (part of the Azul Platform Prime product) and access to a Kubernetes cluster. If you do not have a Kubernetes cluster, the Installing Cloud Native Compiler Documentation will help you set it up. Azul Engineers are available for further guidance.

Cloud Native Compiler is best deployed on elastic (cloud) infrastructures, easy to spin up and easy to take down. It benefits larger Zulu Prime configurations. Anything above 50 server instances could show Cloud Native Compiler benefits for key JIT compilation processes, e.g., warm-up. However, the larger the configurations of JVMs, the greater the likely impact.

What versions of Zulu Prime does the Cloud Native Compiler support?

21.09 and above.

What technology is the Cloud Native Compiler based on?

The Cloud Native Compiler, like Azul Zulu Prime builds of OpenJDK, leverages the Falcon JIT compiler, which is based on technology from LLVM, the popular compiler infrastructure project with active involvement from leading universities and dozens of corporate contributors including Adobe, Apple, Google, NVIDIA, and Intel. For those familiar with mathematical programming languages, it also is the foundation for the increasingly popular technical computing language, Julia.

What resources are required to run Cloud Native Compiler?

The Cloud Native Compiler resources can be dialled up and down as needed. During periods when JVMs are actively being started, we recommend sizing the cloud native compiler service with 10-20 vCores for each actively warming up JVM in the fleet. When no JVMs are being started or restarted, the cloud native compiler can be dialled down to a minimal footprint.

Azul recommends 1 cache for every 15 compile brokers. This will change in future with Cloud Native Compiler updates, in addition to improved autoscaling capabilities. Currently scaling is primarily manual, with some experimental autoscaling options, such as HPA config in the YAMLs.

Remember that the Cloud Native Compiler needs and uses large amounts of capacity for short bursts of time, so consider within an infrastructure of overall optimizing application efficiency, right-sizing resources where and when they are needed.

Which logging and monitoring options are available to me?

With the first release, you can integrate Cloud Native Compiler into existing Prometheus/Grafana applications. All pods export metrics for Prometheus scraping and include dashboard JSON to add to Grafana instances. <cnc-install-dir/grafana/cnc_dashabord.json is a Grafana configuration file for a dashboard of key Cloud Native Compiler metrics. You can import the dashboard into your existing Grafana installation.

Business Questions

What is the cost of Cloud Native Compiler?

Support for the Cloud Native Compiler, as of October 15th, is included in the annual cost of Azul Platform Prime. Please see the Azul Platform Prime pricing for more information and support tier options.

Can I evaluate Cloud Native Compiler and Azul Zulu Prime Builds of OpenJDK?

Cloud Native Compiler is free to use with any properly licensed Zulu Prime builds of OpenJDK. The Installing Cloud Native Compiler Documentation will help you set it up. Azul Engineers are available for further guidance. If you need Zulu Prime bits, please visit the download page at https://www.azul.com/products/prime/stream-download/. Cloud Native Compiler install components are available on the Azul cdn and on Dockerhub.

Stream Zulu Prime builds are available for development, testing and evaluation. Stable Zulu Prime builds are for production use, super-stable builds that incorporate only CPUs, PSUs, and Azul Platform Prime critical fixes, and do not uptake new features and non-critical enhancements from Stream Builds.

Where can I learn more about Cloud Native Compiler?

The best place to start is the Documentation, at https://docs.azul.com/cloud_native_compiler/. An extended pdf-based version of this FAQ can be found here, to circulate with colleagues for example,