Using CRaC on Microsoft Azure
Quarkus
Quarkus can be restored in Azure, when your app is configured correctly:
-
The container for the checkpoint must be identical to the cloud service’s container which will be used to restore your app.
For example, an Azure Java 17 Web App logs contains the following container name:
mcr.microsoft.com/azure-app-service/java:17-java17_221014210614
. So that same container must be used to create the checkpoint. -
The app directory structure on checkpoint must be identical to the directory structure used by the cloud service for your app on restore. You need to check how your runtime archive gets deployed on the cloud service.
-
File permissions on checkpoint must be the same as on restore in a cloud service.
For example, in Azure all the deployed files have
777
permissions, which can’t be changed. As a result,777
permissions must be set to the files which are used for the restore. -
Network ports used by your app must be allowed by the cloud service.
For example, Azure only allows to use ports 80 and/or 443. Your app must use one of these ports when the checkpoint is created, otherwise Azure can’t ping your app after restore, and will shut it down.