Latihan - Menyebarkan aplikasi Spring Boot Redis ke Azure
Sekarang setelah semuanya berjalan secara lokal, Anda dapat menyebarkan aplikasi ke cloud dan menguji perilakunya dalam produksi.
Membuat instans Azure App Service
Buat instans Azure App Service untuk menghosting aplikasi Anda. Gunakan kode Azure CLI berikut untuk membuat paket App Service dasar yang menggunakan Linux, lalu tambahkan instans Java di App Service dalam paket tersebut.
Untuk menggunakan Java 11 atau Java 17, bukan Java 8, gunakan "JAVA|<version>-java<version>"
alih-alih "JAVA|8-jre8"
sebagai runtime aplikasi 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
Catatan
Kode sebelumnya menggunakan $AZ_REDIS_NAME
kembali variabel untuk memberi nama paket App Service dan instans App Service, tetapi Anda dapat menggunakan nama yang berbeda. Nama instans App Service adalah bagian dari URL, yang harus unik di seluruh Azure.
Anda dapat melakukan langkah berikutnya saat penyebaran ini selesai.
Menyebarkan aplikasi Spring Boot ke Azure App Service
Dalam file pom.xml proyek Anda, tambahkan plug-in baru berikut di bagian
<plugins>
:<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>
Catatan
Konfigurasi sebelumnya menggunakan variabel lingkungan yang Anda konfigurasikan sebelumnya. Agar konfigurasi ini berfungsi, pastikan variabel dan
$AZ_REDIS_NAME
Anda$AZ_RESOURCE_GROUP
disiapkan dengan benar.Setelah penyebaran App Service selesai, jalankan perintah berikut untuk mengemas aplikasi Anda dan menyebarkannya ke Azure:
./mvnw package azure-webapp:deploy
Ketika penyebaran berhasil diselesaikan, penyebaran mengembalikan baris berikut:
Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
Perhatikan URL aplikasi Anda yang sedang berjalan, seperti yang ditunjukkan pada output sebelumnya, untuk digunakan di bagian berikutnya.
Menguji aplikasi di Azure
Gunakan URL aplikasi Anda untuk menjalankan perintah URL klien (cURL) yang sama di cloud yang Anda gunakan di server lokal Anda.
Untuk menambahkan item data, jalankan perintah berikut:
curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Untuk mengambil data, jalankan:
curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Untuk menaikkan sesi Anda, jalankan perintah berikut beberapa kali:
curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
Server lokal dan layanan cloud Anda menggunakan instans Redis yang sama, sehingga diklusterkan. Data yang Anda tulis dalam satu instans tersedia di instans lain. Layanan cloud dapat memperluas skala dengan menambahkan lebih banyak simpul yang semuanya menggunakan instans Redis yang sama untuk menyimpan data bisnis dan data sesi.