Architecture Overview
Optimizer Hub is a component of Azul Prime that makes your Java programs start fast and stay fast. It consists of two services:
-
Cloud Native Compiler: Provides a server-side optimization solution that offloads JIT compilation from Zing’s Falcon JIT compiler 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.
-
ReadyNow Orchestrator: Records and serves ReadyNow profiles. This greatly simplifies the operational use of ReadyNow, and removes the need to configure any local storage for writing the profile. ReadyNow Orchestrator can record multiple profile candidates from multiple JVMs and promote the best recorded profile.
Optimizer Hub ships as a Helm chart and a set of Docker images to deploy into a Kubernetes cluster. The Helm chart deploys different components based on the use case.
Interaction Between Optimizer Hub and JVMs
-
ReadyNow in the JVM asks ReadyNow Orchestrator in Optimizer Hub for a profile.
-
In the JVM, ReadyNow instructs Falcon what to compile based on the profile.
-
ReadyNow in the JVM sends back a new version of the profile to ReadyNow Orchestrator in Optimizer Hub.
-
Falcon in the JVM asks the Cloud Native Compiler in Optimizer Hub to compile the code (optional).
-
Cloud Native Compiler in Optimizer Hub sends the compiled code back to Falcon in the JVM (optional).
Deployment Options
Optimizer Hub offers two deployment options: a full installation of all components or a ReadyNow Orchestrator-only installation.
Full Installation
In a full installation, all Optimizer Hub components are available and scale the gateway, compile-broker, and cache when needed. Use the Standard Optimizer Hub Installation Procedure on Kubernetes.
Remarks:
-
All services use one pod, except Cache uses two pods by default.
-
The load balancer is either your own solution (recommended), or the optional
gw-proxyincluded in Optimizer Hub. See Configuring Optimizer Hub Host for more info. -
Task Executor runs the background jobs that build compilation streams and refresh the ReadyNow profiles used by Indirect Delivery. Like the Scaling Operator and Management Gateway, it is a fixed-size component that does not autoscale.
ReadyNow Orchestrator Only
When you need only ReadyNow Orchestrator, you can deploy a reduced set of the Optimizer Hub components in the Kubernetes cluster. See Installing without Cloud Native Compiler.