Exercício - Implantar o aplicativo Spring Boot Redis no Azure
Agora que tudo é executado localmente, você pode implantar o aplicativo na nuvem e testar seu comportamento na produção.
Criar uma instância de Serviço de Aplicações do Azure
Crie uma instância do Serviço de Aplicativo do Azure para hospedar seu aplicativo. Use o seguinte código da CLI do Azure para criar um plano básico do Serviço de Aplicativo que usa Linux e, em seguida, adicione uma instância do Java no Serviço de Aplicativo nesse plano.
Para usar Java 11 ou Java 17 em vez de Java 8, use "JAVA|<version>-java<version>"
em vez de como o tempo de execução da "JAVA|8-jre8"
aplicação Web.
az appservice plan create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp-plan \
--is-linux \
--sku B1
az webapp create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp \
--runtime "JAVA|8-jre8" \
--plan $AZ_REDIS_NAME-webapp-plan
Nota
O código anterior reutiliza a variável para nomear o plano do Serviço de Aplicativo e a $AZ_REDIS_NAME
instância do Serviço de Aplicativo, mas você pode usar nomes diferentes. O nome da instância do Serviço de Aplicativo faz parte da URL, que deve ser exclusiva no Azure.
Você pode fazer a próxima etapa enquanto essa implantação é concluída.
Implantar o aplicativo Spring Boot no Serviço de Aplicativo do Azure
No arquivo pom.xml do seu projeto, adicione o seguinte novo plug-in na
<plugins>
seção:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.11.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>${env.AZ_RESOURCE_GROUP}</resourceGroup> <appName>${env.AZ_REDIS_NAME}-webapp</appName> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Nota
A configuração anterior usa as variáveis de ambiente que você configurou anteriormente. Para que essa configuração funcione, verifique se as variáveis e
$AZ_REDIS_NAME
estão$AZ_RESOURCE_GROUP
configuradas corretamente.Após a conclusão da implantação do Serviço de Aplicativo, execute o seguinte comando para empacotar seu aplicativo e implantá-lo no Azure:
./mvnw package azure-webapp:deploy
Quando a implantação for concluída com êxito, ela retornará a seguinte linha:
Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
Observe a URL do seu aplicativo em execução, conforme mostrado na saída anterior, para usar na próxima seção.
Testar o aplicativo no Azure
Use a URL do aplicativo para executar os mesmos comandos de URL do cliente (cURL) na nuvem que você usou no servidor local.
Para adicionar um item de dados, execute o seguinte comando:
curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Para recuperar os dados, execute:
curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Para incrementar a sessão, execute o seguinte comando várias vezes:
curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
Seu servidor local e seu serviço de nuvem usam a mesma instância Redis, portanto, eles são clusterizados. Os dados que você escreve em uma instância estão disponíveis na outra instância. O serviço de nuvem pode ser expandido adicionando mais nós que usam a mesma instância do Redis para armazenar dados corporativos e dados de sessão.