Cloud Native means software designed according to cloud principles. It brings real scalability, elasticity, and high levels of availability. It uses shared services provided by its cloud environment or it provides services by itself for others to use. Lots of applications can run in the cloud. Cloud-native applications share cloud services for scalability, elasticity, and high levels of availability.
Cloud native applications are constructed to leverage the benefits of the cloud, in both the development and execution side. One key component of cloud native applications is that they are containerized, meaning they self-contain all the resources necessary to be run anywhere. Alternatively, traditional applications will have dependencies, meaning they rely on certain libraries and infrastructure components to run. When an application is containerized, it is no longer dependent on a system to run and contains all the necessary components to operate. This feature of cloud native applications offers agility, portability, and many other benefits to enterprises looking to optimize their cloud technology.
A Java Virtual Machine (JVM) must meet three criteria to be considered cloud-native:
A cloud-native architecture means all the components in the system are specifically designed to run on the cloud. Cloud-native architectures help companies get the most out of the cloud, offering scalability, resiliency, and performance enhancing benefits for enterprises.
Azul deploys its Cloud Native Compiler (CNC) as its own service, with multiple JVM instances simultaneously using the shared knowledge and compilation services.
By living outside the managed language runtime, the JIT compiler provides the JIT service to all the runtime instances in the environment. Not only is the memory and CPU footprint lower (since it runs only once and not once per JVM), but the service can reuse knowledge from prior activity to answer compilation requests faster. It can also use performance information from all runtime instances for the highest level of performance-guided optimization. And it can push deoptimization decisions and recompilations of certain elements to all instances at once.
Because the JIT compiler lives outside the managed language runtime and runs only once, it provides certain advantages:
A truly superior Java platform that can cut your infrastructure costs in half.