Introduction
This article teaches you about Spring Boot to Azure App Service. Here we understand the considerations you should make while transferring an existing Spring Boot application to Azure App Service.
Spring Cloud Azure's open-source project enables easy Spring integration with Azure services. With minimal code changes, it provides developers with a Spring-idiomatic approach to connecting to and using Azure services.

Pre-migration
Before you begin, inventory activities are outlined in the following sections to ensure a successful migration.
See the accompanying migration recommendations below if you are unable to fulfill any of these pre-migration requirements:
-
Application migration to Azure Kubernetes Service: containers for executable JAR apps (guidance planned).
- Apply Azure Virtual Machines to executable JAR applications (guidance planned)
Change to a supported platform
App Service provides specific Java SE versions. Before proceeding with the remaining steps, migrate your application to one of the supported versions of its current environment to ensure compatibility. Make sure to test the resulting configuration thoroughly. In such tests, use your Linux distribution's most recent stable release.
Note: This is especially important if your current server runs an unsupported JDK (such as Oracle JDK or IBM OpenJ9).
To obtain your current Java version, log in to your production server and run the following command:
java -version
Eclipse Temurin provides binaries for Java 8 on Azure App Service. App Service offers the Microsoft Build of OpenJDK for Java 11, 17, and all future Java LTS releases.

External resources should be inventoried.
Determine the existence of external resources such as data sources, service URLs, and JMS message brokers. In Spring Boot applications, the configuration for such help is typically found in the src/main/directory folder, in a file called application.properties or application.yml. Check the environment variables of the production deployment for any relevant configuration settings.
Databases
Determine the connection string for any SQL database.
Connection strings are typically found in configuration files for a Spring Boot application.

Message brokers for JMS
-
Look for the relevant dependencies in the build manifest (typically a pom.xml or build.gradle file) to identify the broker or brokers in use.
-
Spring Boot applications that use commercial brokers frequently have dependencies on the brokers' JMS driver libraries.
- Find the corresponding settings after identifying the broker or brokers in use. In Spring Boot applications, they are typically found in the application directory's application.properties and application.yml files.
Determine external caches
Determine whether any external caches are in use. Redis is frequently used in conjunction with Spring Data Redis. See the Spring Data Redis documentation for configuration details.
Search for the appropriate configuration to see if Spring Session is caching session data (in Java or XML).
Identity service providers
Identify any identity provider(s) that your application may use. Consult the following for information on how identity providers can be configured:
-
See the Spring Security reference for OAuth2 configuration.
-
See the Auth0 Spring Security documentation for configuration information.
-
See the Auth0 PingFederate instructions for PingFederate Spring Security configuration.
All other outside resources
In this guide, it is impossible to document every possible external dependency. Your team is responsible for ensuring that your application's external dependencies can be met after an App Service migration.






