Understand app and deployment in Azure Spring Cloud
This article applies to: ✔️ Java ✔️ C#
App and Deployment are the two key concepts in the resource model of Azure Spring Cloud. In Azure Spring Cloud, an App is an abstraction of one business app or one microservice. One version of code or binary deployed as the App runs in a Deployment. Apps run in an Azure Spring Cloud Service Instance, or simply service instance, as shown next.
You can have multiple service instances within a single Azure subscription, but the Azure Spring Cloud Service is easiest to use when all of the Apps that make up a business app or microservice reside within a single service instance.
Azure Spring Cloud standard tier allows one App to have one production deployment and one staging deployment, so that you can do blue/green deployment on it easily.
The following features/properties are defined on App level.
|PublicEndpoint||The URL to access the app|
|CustomDomain||CNAME record that secures the custom domain|
|ServiceBinding||Out of box connection with other Azure services|
|ManagedIdentity||Managed identity by Azure Active Directory allows your app to easily access other Azure AD-protected resources such as Azure Key Vault|
|PersistentStorage||Setting that enables data to persist beyond app restart|
The following features/properties are defined on Deployment level, and will be exchanged when swapping production/staging deployment.
|CPU||Number of vcores per App instance|
|Memory||Gb of memory per App instance|
|InstanceCount||The number of app instances, set manually or automatically|
|Auto-Scale||Scale instance count automatically based on predefined rules and schedules|
|JVMOptions||Setting JVM options|
|EnvironmentVariables||Setting environment variables|
|RuntimeVersion||Java 8/Java 11|
- An App must have one production Deployment: Deleting a production Deployment is blocked by the API. It should be swapped to staging before deleting.
- An App can have at most two Deployments: Creating more than two deployments is blocked by the API. Deploy your new binary to either the existing production or staging deployment.
- Deployment management is not available in Basic Tier: Use Standard tier for Blue-Green deployment capability.