TrustRadius: an HG Insights company

GraalVM

Score9.1 out of 10

99 Reviews and Ratings

What is GraalVM?

GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Groovy, Kotlin, Clojure, and LLVM-based languages such as C and C++. GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js or Oracle Database. Oracle's GraalVM Enterprise is a multilingual virtual machine, which Oracle states delivers even higher efficiency, better isolation and greater agility for enterprises in cloud and hybrid environment.

Categories & Use Cases

GraalVM, Most trusted, Straightforward, cost-effective,Enterprise Edition Java Applications.

Use Cases and Deployment Scope

GraalVM is a high-performer runtime that provides significant improvements in application performance and efficiency which is a deal for microservices. [It's] designed for application writing in Java, JavaScript, LLVM-based languages such as C and C++. It helps to do away with isolation between programming languages and enables interoperability in a shared runtime. I love that it can run either standalone or in the context of OpenJDK,Node.js or Oracle Database.

Pros

  • Run Java Faster, GraalVM can run in the context of OpenJDK to make Java applications run faster with a new just-in-time compilation technology.
  • Make Application Extensible, GraalVM enables running JavaScript, R, Python, Ruby, LLVM IR, and Web Assembly in the context of Java Data Applications.
  • Create a Native Image, running [an] application inside a Java VM comes with startup and footprint costs.

Cons

  • Documentation is not that well detailed up to date.
  • The customer support is not always available.

Return on Investment

  • The ability to compile applications ahead of time.
  • Supports Java 11 which results in better enhanced performance.
  • Infrastructure cost reduction.
  • Minimal consumption of resources.

Alternatives Considered

OpenJDK

Other Software Used

CAYA Document Cloud, CSI WatchDOG, F5 on IBM Cloud

GraalVM is a straightforward environment for your Java applications

Pros

  • Standardizing Java dev environment
  • Making deployed applications more maintainable
  • Reusable environments for developers
  • Positive performance gain
  • Quick deployment cycles

Cons

  • Difficult to migrate legacy applications to use GraalVM
  • Initial setup for Java binaries can be difficult
  • Some configuration options can be obscure at times

Return on Investment

  • Reduced development environment setup time by 10%
  • Increased performance for Spring Boot applications by 5%
  • Reduced deployment environment configuration time by ~15%

Other Software Used

Docker, Jupyter Notebook, Terraform, by HashiCorp

Total Satisfactory Package

Use Cases and Deployment Scope

GraalVM is being used in multiple departments of my organization by the dev teams. It is a high-performance tool that helps us to speed up the processes [while] consuming very few resources. It is easily maintainable and very flexible. This has seamless integration which makes our applications very efficient.

Pros

  • This supports Java 11.
  • This is very efficient tool.
  • Highly configurable and reusable environment.

Cons

  • Support and documentation could be improved.
  • Some of the JDK versions are not supported.
  • Microservices integration is needed.

Return on Investment

  • Highly efficient processes
  • Cost saving on resources.
  • Business Process Outcome is improved.

Other Software Used

Azure AI (Cortana), Azure API Management, Azure App Service

Great virtual machine

Pros

  • Best performance of applications
  • High efficiency of applications
  • Reduced hardware requirements
  • Lesser consumption of resources
  • Universal support to multiple programming languages
  • Reduced size of applications
  • Creation of virtual images for testing on Android and iOS mobile operating systems
  • Creation of native images
  • Excellent support
  • Documentations are detailed enough to learn and use easily
  • Easy to use

Cons

  • Unavailability of installer makes installation a hassle
  • Compiling natives for non-Java faces problem with dependencies

Return on Investment

  • Reduced hardware expansion requirements
  • Building applications that consume fewer resources
  • Best performance of applications
  • Speed up development time
  • Easier cross-platform development

Other Software Used

Android Studio, Microsoft 365 (formerly Office 365), Windows Server, Android, Ubuntu Linux

GraalVM has the potential to shake up Java container deployments

Pros

  • Reducing software cold start time
  • AOT--Native compile, which removes the dependency on the JRE and JVM
  • Reduces application size. Combining native-compile and EXE compression significantly reduces the size of our containers

Cons

  • Native compiles. We have problems figuring out how to package jars with all dependencies for compilation. This might be our problem as we progress through the learning curve.
  • More support and testing for Sprint and GraalVM.
  • I recommend providing installer packages instead of downloading zip files.

Return on Investment

  • Financial: Increased Java container count on the same hardware.
  • Performance: Decreased cold start time for container startup.
  • Training: Adopting GraalVM has a learning curve. This requires investment in time and resources. The benefits come through re-evaluating our current deployments for optimization.