Modernizing the Healthcare platform with a GraalVM Proof of Value

Amitpal Singh Dhillon
4 min readAug 24, 2021

Modernizing a Fortune #5 Healthcare platform’s Cloud-Native tech stack with a GraalVM Enterprise Proof of Value.

Photo from Unsplash by Camilo Jimenez

A Fortune 5 company, empowering millions of people worldwide with the information, guidance, and tools to make personal health choices, set out to work on two parallel streams for modernizing their HealthCare platform’s Cloud-Native tech stack.

Stream 1: Existing Microservices comprise Java 8 + Spring + OpenJDK JIT as JRE, to be containerized in a Hybrid Cloud platform.

Stream 2: New Microservices with Kotlin + SpringBoot + OpenJDK 11 / GraalVM JIT, to be containerized in a Public Cloud platform.

Tactical Solution — just-in-time with Stream 1:

  • Lift and Shift Stream 1 from existing Hotspot JIT to GraalVM JIT.
  • Evaluate memory footprint, execution time improvement, and peak throughput with GraalVM.
  • Benchmark Stream 1 with GraalVM JIT vs HotSpot JIT on performance heuristics.
  • Endurance Testing with business-critical Healthcare API for benchmarking.

Strategic Solution — ahead-of-time with Stream 2:

  • Application re-writes are planned and primarily targeted for the Public Cloud Platform.
  • Stream 2 tech stack is being considered with GraalVM Enterprise as an option depending on the outcome of Stream 1 benchmarking results.
  • Serverless (initial thoughts) has got some excitement for GraalVM’s Native-Image due to memory footprint and cold-startup optimization.
Figure 1: Open Healthcare API Exchange Platform

Healthcare Context

Interoperable healthcare IT enables clinicians to improve care coordination and ensure the information available to view in the healthcare services as part of a practitioners’ workflow. In terms of the technology stack,

a. Huge employee base, hundreds of APIs, and countless integrations and external systems

b. Optimizes healthcare technology in order to provide a scalable tech infrastructure

c. Eliminating Local Resource Constraints for Building Cloud-Native Applications

d. Implement patterns and practices defined by DevOps and Cloud Centre of Excellence

Support for Open Healthcare Standards

HL7 FHIR is a standard for health care data exchange, published by HL7 (HL7 and its members provide a framework for the exchange, integration, sharing, and retrieval of electronic health information.)

CNCF Cloud Native Computing Foundation serves as the vendor-neutral home for many of the fastest-growing open-source projects

Research and Evaluation Proof of Value

The engineering team identified key Proof-of-Value initiatives to optimize the existing tech stack with GraalVM without code changes, iteratively running performance loads with identified heuristics, benchmark observations, and comparisons. Initial performance load on GraalVM and benchmarking it against conventional JDKs (OpenJDK) for feasibility analysis. This included 2 rounds for performance evaluation. As a leading healthcare company ( fortune #5), the peak season is typically at the start of the year for all health plans renewables in the US, hence the priority at that time was to support business peak load in tech frozen state for 1–2 months. This resumed towards the end of Q1 2021.

GraalVM EE v21.x on JDK8

Actual load runs on Dev Environment Sandbox.

Load Configuration Details:

  • Concurrency: 100 users
  • Ramp-up: 4 seconds
  • Duration: 4 hours, 14400 seconds

Clinical API subjected to a medium spike load as part of the warm-up phase and peak throughput phase.

Figure 2: Load Test Configuration
Figure 3: Response Time Graph
Figure 4: Summary report

The evaluation results are summarized in the table below, GraalVM performed better than Open JDK8 in most of the runs and gets better for longer runs.

Figure 5: Performance characteristics of GraalVM Enterprise vs other runtimes

Conclusion

This collaboration has been mutually beneficial in learning about the implications of GraalVM in the Healthcare domain in optimizing the workflow and improving patient outcomes and experience.

To learn more and get started with GraalVM, visit oracle.com/graalvm.

Thanks to Pratik Prakash, Senior Member of Engineering at UnitedHealth Group, and Amitpal Singh Dhillon, Regional Director for Oracle Labs in Asia-Pacific & Japan, for their help in writing this blog post.

Also, it's worth mentioning the Micronaut and GraalVM testing scenarios that were performed for microservices workloads.

--

--

Amitpal Singh Dhillon

vCISO, previously, from Oracle Inc, Sourcefire, Cisco Systems, and Applied Materials.