Episode

Accelerating Java Applications on Azure Kubernetes Service with CRaC

with Sean Li

Java applications often face startup delays due to their runtime initialization and class loading processes. In the cloud-native era, applications start and stop more frequently, with an increasing need for scale-out to accommodate dynamic traffic demands, making this issue even more prominent. To mitigate this, CRaC (Coordinated Restore at Checkpoint) offers a solution to this challenge by allowing applications to be checkpointed and restored, thus avoiding lengthy startup time after the first initialization. Based on the experiment on the Spring PetClinic project project, we observed a 7x improvement in startup speed after enabling CRaC on Azure Kubernetes Service.

Chapters

  • 00:00 - Introduction
  • 00:54 - Build and deploy Petclinic to AKS
  • 02:05 - Add a checkpoint
  • 02:24 - Apply the snapshot

Azure
Azure Kubernetes Service (AKS)