Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan ini menjelaskan apa yang harus Anda ketahui ketika Anda ingin memigrasikan aplikasi Spring Cloud yang ada untuk dijalankan di Azure Container Apps.
Pra-migrasi
Untuk memastikan keberhasilan migrasi, sebelum memulai, selesaikan langkah-langkah penilaian dan inventaris yang dijelaskan di bagian berikut.
Jika Anda tidak dapat memenuhi persyaratan pra-migrasi ini, lihat panduan migrasi pendamping berikut:
- Memigrasi aplikasi JAR yang dapat dijalankan ke kontainer di Azure Kubernetes Service (panduan yang direncanakan)
- Memigrasikan Aplikasi JAR yang dapat dieksekusi ke Azure Virtual Machines (panduan yang direncanakan)
Memeriksa komponen aplikasi
Menentukan apakah dan bagaimana sistem berkas digunakan
Temukan instans tempat layanan Anda menulis ke dan/atau membaca dari sistem file lokal. Identifikasi tempat file jangka pendek/sementara ditulis dan dibaca serta tempat file berumur panjang ditulis dan dibaca.
Azure Container Apps menawarkan beberapa jenis penyimpanan. Penyimpanan sementara dapat membaca dan menulis data sementara dan tersedia untuk kontainer atau replika yang sedang berjalan. Azure File menyediakan penyimpanan permanen dan dapat dibagikan di beberapa kontainer. Untuk informasi selengkapnya, lihat Menggunakan pemasangan penyimpanan di Azure Container Apps.
Konten statis baca-saja
Jika aplikasi Anda saat ini menyajikan konten statis, Anda memerlukan lokasi alternatif untuk aplikasi tersebut. Anda mungkin ingin mempertimbangkan untuk memindahkan konten statis ke Azure Blob Storage dan menambahkan Azure CDN untuk unduhan cepat kilat secara global. Untuk informasi selengkapnya, lihat Hosting situs web statis di Penyimpanan Azure dan Mulai Cepat: Mengintegrasikan akun Microsoft Azure Storage dengan Azure CDN.
Konten statis yang diterbitkan secara dinamis
Jika aplikasi Anda mendukung konten statis, baik yang diunggah atau dihasilkan oleh aplikasi itu sendiri, yang tetap tidak berubah setelah pembuatannya, Anda dapat mengintegrasikan Azure Blob Storage dan Azure CDN. Anda juga dapat menggunakan Fungsi Azure untuk mengelola unggahan dan memicu refresh CDN jika diperlukan. Kami telah menyediakan implementasi sampel untuk penggunaan Anda di Pengunggahan dan pramuat CDN konten statis dengan Azure Functions.
Menentukan apakah terdapat layanan berisi kode khusus OS
Jika aplikasi Anda berisi kode apa pun dengan dependensi pada OS host, maka Anda perlu merefaktornya untuk menghapus dependensi tersebut. Misalnya, Anda mungkin perlu mengganti penggunaan / atau \ di jalur sistem file dengan File.Separator atau Paths.get jika aplikasi Anda berjalan di Windows.
Beralih ke platform yang didukung
Jika Anda membuat Dockerfile secara manual dan menyebarkan aplikasi kontainer ke Azure Container Apps, Anda mengambil kontrol penuh atas penyebaran Anda termasuk versi JRE/JDK.
Untuk penyebaran dari artefak, Azure Container Apps juga menawarkan versi java tertentu (8, 11, 17, dan 21) dan versi tertentu dari komponen Spring Boot dan Spring Cloud. Untuk memastikan kompatibilitas, pertama-tama migrasikan aplikasi Anda ke salah satu versi Java yang didukung di lingkungannya saat ini, kemudian lanjutkan dengan langkah-langkah migrasi yang tersisa. Pastikan untuk sepenuhnya menguji konfigurasi yang dihasilkan. Gunakan rilis stabil terbaru dari distribusi Linux dalam pengujian tersebut.
Catatan
Validasi ini sangat penting jika server Anda saat ini berjalan pada JDK yang tidak didukung (seperti Oracle JDK atau IBM OpenJ9).
Untuk mendapatkan versi Java Anda saat ini, masuk ke server produksi Anda dan jalankan perintah berikut:
java -version
Untuk versi Java, Spring Boot, dan Spring Cloud yang didukung, serta instruksi untuk memperbarui, lihat Gambaran umum Java di Azure Container Apps.
Mengidentifikasi versi Spring Boot
Periksa dependensi setiap aplikasi yang dimigrasikan untuk menentukan versi Spring Boot yang dimiliki.
Maven
Dalam proyek Maven, versi Spring Boot biasanya ditemukan dalam elemen <parent> file POM:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Gradle
Dalam proyek Gradle, versi Spring Boot biasanya akan ditemukan di bagian plugins, sebagai versi plugin org.springframework.boot:
plugins {
id 'org.springframework.boot' version '3.3.3'
id 'io.spring.dependency-management' version '1.1.6'
id 'java'
}
Untuk aplikasi apa pun yang menggunakan versi Spring Boot sebelum 3.x, ikuti panduan migrasi Spring Boot 2.0 atau Panduan Migrasi Spring Boot 3.0 untuk memperbaruinya ke versi Spring Boot yang didukung. Untuk versi yang didukung, lihat dokumentasi Spring Cloud .
Mengidentifikasi versi Spring Cloud
Periksa dependensi setiap aplikasi yang Anda migrasikan untuk menentukan versi komponen Spring Cloud yang digunakannya.
Maven
Dalam proyek Maven, versi Spring Cloud biasanya diatur dalam properti spring-cloud.version:
<properties>
<spring-cloud.version>2023.0.2</spring-cloud.version>
</properties>
Gradle
Dalam proyek Gradle, versi Spring Cloud biasanya diatur dalam blok "properti ekstra":
ext {
set('springCloudVersion', "2023.0.2")
}
Anda perlu memperbarui semua aplikasi untuk menggunakan versi Spring Cloud yang didukung. Untuk versi yang didukung, lihat dokumentasi Spring Cloud .
Mengidentifikasi solusi agregasi log
Identifikasi solusi agregasi log apa pun yang digunakan oleh aplikasi yang Anda migrasikan. Anda perlu mengonfigurasi pengaturan diagnostik dalam migrasi untuk membuat peristiwa yang dicatat tersedia untuk dikonsumsi. Untuk informasi selengkapnya, lihat Bagian Memastikan pengelogan konsol dan mengonfigurasi pengaturan diagnostik.
Mengidentifikasi agen manajemen performa aplikasi (APM)
Identifikasi agen manajemen performa aplikasi apa pun yang digunakan oleh aplikasi Anda. Azure Containers Apps tidak menawarkan dukungan bawaan untuk integrasi APM. Anda perlu menyiapkan gambar kontainer atau mengintegrasikan alat APM langsung ke dalam kode Anda. Jika Anda ingin mengukur performa aplikasi tetapi belum mengintegrasikan APM apa pun, pertimbangkan untuk menggunakan Azure Application Insights. Untuk informasi selengkapnya, lihat bagian Migrasi .
Sumber daya eksternal inventaris
Identifikasi sumber daya eksternal, seperti sumber data, broker pesan JMS, dan URL layanan lainnya. Dalam aplikasi Spring Cloud, Anda biasanya dapat menemukan konfigurasi untuk sumber daya tersebut di salah satu lokasi berikut:
- Di folder src/main/resources, dalam file biasanya disebut application.properties atau application.yml.
- Di repositori Spring Cloud Config Server yang Anda identifikasi di langkah sebelumnya.
Database
Untuk aplikasi Spring Boot, string koneksi biasanya muncul dalam file konfigurasi ketika bergantung pada database eksternal. Berikut adalah contoh dari file application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Berikut adalah contoh dari file application.yaml:
spring:
data:
mongodb:
uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017
Lihat Dokumentasi Data Spring untuk skenario konfigurasi yang lebih mungkin:
Broker pesan JMS
Identifikasi broker atau broker yang digunakan dengan melihat manifes build (biasanya, filepom.xml atau build.gradle ) untuk dependensi yang relevan.
Misalnya, aplikasi Spring Boot menggunakan ActiveMQ biasanya akan berisi dependensi ini dalam file pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
Aplikasi Spring Boot menggunakan broker komersial biasanya berisi dependensi langsung pada pustaka driver JMS broker. Berikut adalah contoh dari file build.gradle:
dependencies {
...
compile("com.ibm.mq:com.ibm.mq.allclient:9.4.0.5")
...
}
Setelah Anda mengidentifikasi broker atau broker yang digunakan, temukan pengaturan yang sesuai. Di aplikasi Spring Cloud, Anda biasanya dapat menemukannya di file application.properties dan application.yml di direktori aplikasi, atau di repositori Spring Cloud Config Server.
Catatan
Microsoft merekomendasikan penggunaan alur autentikasi paling aman yang tersedia. Alur autentikasi yang dijelaskan dalam prosedur ini, seperti untuk database, cache, olahpesan, atau layanan AI, memerlukan tingkat kepercayaan yang sangat tinggi dalam aplikasi dan membawa risiko yang tidak ada dalam alur lain. Gunakan alur ini hanya ketika opsi yang lebih aman, seperti identitas terkelola untuk koneksi tanpa kata sandi atau tanpa kunci, tidak layak. Untuk operasi komputer lokal, lebih suka identitas pengguna untuk koneksi tanpa kata sandi atau tanpa kunci.
Berikut adalah contoh ActiveMQ dari file application.properties:
spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=<password>
Untuk informasi selengkapnya tentang konfigurasi ActiveMQ, lihat dokumentasi pesan Spring Boot.
Berikut adalah contoh IBM MQ dari file application.yaml:
ibm:
mq:
queueManager: qm1
channel: dev.ORDERS
connName: localhost(14)
user: admin
password: <password>
Untuk informasi selengkapnya tentang konfigurasi IBM MQ, lihat dokumentasi komponen IBM MQ Spring.
Mengidentifikasi cache eksternal
Identifikasi cache eksternal yang digunakan. Sering kali, Redis digunakan melalui Spring Data Redis. Untuk informasi konfigurasi, lihat dokumentasi Spring Data Redis.
Tentukan jika data sesi sedang di-cache melalui Sesi Spring dengan mencari konfigurasi masing-masing (di Java atau XML).
IdP
Identifikasi semua penyedia identitas dan semua aplikasi Spring Cloud yang memerlukan autentikasi dan/atau otorisasi. Untuk informasi tentang cara mengonfigurasi penyedia identitas, lihat sumber daya berikut:
- Untuk konfigurasi OAuth2, lihat mulai cepat Spring Cloud Security.
- Untuk konfigurasi Keamanan Spring Auth0, lihat Dokumentasi Keamanan Spring Auth0.
- Untuk konfigurasi Keamanan Spring PingFederate, lihat Instruksi PingFederate Auth0.
Sumber daya dikonfigurasi melalui VMware Tanzu Application Service (TAS) (sebelumnya Pivotal Cloud Foundry)
Untuk aplikasi yang dikelola dengan TAS, sumber daya eksternal, termasuk sumber daya yang dijelaskan sebelumnya, sering dikonfigurasi melalui pengikatan layanan TAS. Untuk memeriksa konfigurasi untuk sumber daya tersebut, gunakan CLI TAS (Cloud Foundry) guna melihat variabel VCAP_SERVICES untuk aplikasi.
# Log into TAS, if needed (enter credentials when prompted)
cf login -a <API endpoint>
# Set the organization and space containing the application, if not already selected during login.
cf target org <organization name>
cf target space <space name>
# Display variables for the application
cf env <Application Name>
Periksa variabel VCAP_SERVICES untuk pengaturan konfigurasi layanan eksternal yang terikat pada aplikasi. Untuk informasi selengkapnya, lihat Dokumentasi TAS (Cloud Foundry).
Semua sumber daya eksternal lainnya
Tidak memungkinkan bagi panduan ini untuk mendokumentasikan setiap kemungkinan dependensi eksternal. Setelah migrasi, Anda bertanggung jawab untuk memverifikasi bahwa Anda dapat memenuhi setiap dependensi eksternal aplikasi Anda.
Sumber dan rahasia konfigurasi inventaris
Menginventariskan kata sandi dan string aman
Periksa semua properti dan file konfigurasi dan semua variabel lingkungan pada penyebaran produksi untuk string dan kata sandi rahasia apa pun. Dalam aplikasi Spring Cloud, Anda biasanya dapat menemukan string tersebut dalam file application.properties atau application.yml di layanan individual atau di repositori Spring Cloud Config Server.
Sertifikat inventaris
Dokumentasikan semua sertifikat yang digunakan untuk titik akhir SSL publik atau komunikasi dengan database backend dan sistem lainnya. Anda bisa melihat semua sertifikat di server produksi dengan menjalankan perintah berikut ini:
keytool -list -v -keystore <path to keystore>
Menentukan apakah Spring Cloud Vault digunakan
Jika Anda menggunakan Spring Cloud Vault untuk menyimpan dan mengakses rahasia, identifikasikan penyimpanan rahasia utama - misalnya, HashiCorp Vault atau CredHub. Kemudian identifikasi semua rahasia yang digunakan kode aplikasi.
Menemukan sumber server konfigurasi
Jika aplikasi Anda menggunakan Spring Cloud Config Server, identifikasi tempat konfigurasi disimpan. Anda biasanya menemukan pengaturan ini di file bootstrap.yml atau bootstrap.properties , atau terkadang dalam file application.yml atau application.properties . Pengaturan terlihat seperti contoh berikut:
spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo
Meskipun git paling umum digunakan sebagai penyimpanan data cadangan Spring Cloud Config Server, seperti yang ditunjukkan sebelumnya, salah satu backend lain yang mungkin digunakan. Lihat dokumentasi Spring Cloud Config Server untuk informasi tentang backend lain, seperti Relational Database (JDBC), SVN, dan sistem file lokal.
Memeriksa arsitektur penyebaran
Mendokumentasikan persyaratan perangkat keras untuk setiap layanan
Untuk setiap layanan Spring Cloud Anda (tidak termasuk server konfigurasi, registri, atau gateway), dokumentasikan informasi berikut:
- Jumlah instans yang berjalan.
- Jumlah CPU yang dialokasikan untuk setiap instans.
- Jumlah RAM yang dialokasikan untuk setiap instans.
Mendokumentasikan geo-replikasi/distribusi
Tentukan apakah aplikasi Spring Cloud Anda saat ini didistribusikan di antara beberapa wilayah atau pusat data. Dokumentasikan persyaratan waktu aktif/SLA untuk aplikasi yang Anda migrasikan.
Mengidentifikasi klien yang melewati registri layanan
Identifikasi aplikasi klien apa pun yang meminta salah satu layanan untuk dimigrasikan tanpa menggunakan Spring Cloud Service Registry. Setelah migrasi, pemanggilan tersebut tidak akan memungkinkan lagi. Perbarui klien tersebut untuk menggunakan Spring Cloud OpenFeign sebelum migrasi.
Migrasi
Menghapus konfigurasi terbatas
Lingkungan Azure Container Apps menawarkan Server Eureka terkelola, Spring Cloud Config Server, dan Admin. Saat aplikasi terikat ke komponen Java, Azure Container Apps menyuntikkan properti terkait sebagai variabel lingkungan sistem. Menurut desain Spring Boot Externalized Configuration , properti aplikasi yang ditentukan dalam kode Anda atau dipaketkan dalam artefak ditimpa oleh variabel lingkungan sistem.
Jika Anda mengatur salah satu properti berikut melalui argumen baris perintah, properti sistem Java, atau variabel lingkungan kontainer, Anda harus menghapusnya untuk menghindari konflik dan perilaku tak terduga:
SPRING_CLOUD_CONFIG_COMPONENT_URISPRING_CLOUD_CONFIG_URISPRING_CONFIG_IMPORTeureka.client.fetch-registryeureka.client.service-url.defaultZoneeureka.instance.prefer-ip-addresseureka.client.register-with-eurekaSPRING_BOOT_ADMIN_CLIENT_INSTANCE_PREFER-IPSPRING_BOOT_ADMIN_CLIENT_URL
Membuat lingkungan dan aplikasi terkelola Azure Container Apps
Provisikan aplikasi Azure Container Apps di langganan Azure Anda di lingkungan terkelola yang sudah ada atau buat yang baru untuk setiap layanan yang Anda migrasikan. Anda tidak perlu membuat aplikasi yang berjalan sebagai registri Spring Cloud dan server Konfigurasi. Untuk informasi selengkapnya, lihat Mulai Cepat: Menyebarkan aplikasi kontainer pertama Anda menggunakan portal Azure.
Menyiapkan Spring Cloud Config Server
Konfigurasikan server Konfigurasi di komponen Azure Container Apps for Spring Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan untuk komponen Config Server for Spring di Azure Container Apps.
Catatan
Jika repositori Spring Cloud Config Anda saat ini berada di sistem file lokal atau lokal, Anda harus terlebih dahulu memigrasikan atau mereplikasi file konfigurasi Anda ke repositori berbasis cloud, seperti GitHub, Azure Repos, atau BitBucket.
Memastikan pengelogan konsol dan mengonfigurasi pengaturan diagnostik
Konfigurasikan pengelogan Anda untuk memastikan bahwa semua output dirutekan ke konsol daripada ke file.
Setelah aplikasi disebarkan ke Azure Container Apps, Anda dapat mengonfigurasi opsi pengelogan dalam lingkungan Container Apps Anda untuk menentukan satu atau beberapa tujuan log. Tujuan ini dapat mencakup Azure Monitor Log Analytics, Azure Event hub, atau bahkan solusi pemantauan pihak ketiga lainnya. Anda juga memiliki opsi untuk menonaktifkan data log dan melihat log hanya saat runtime. Untuk instruksi konfigurasi terperinci, lihat Opsi penyimpanan dan pemantauan log di Azure Container Apps.
Mengonfigurasi penyimpanan persisten
Jika ada bagian dari aplikasi Anda yang membaca atau menulis ke sistem file lokal, Anda perlu mengonfigurasi penyimpanan persisten untuk mengganti sistem file lokal. Anda dapat menentukan jalur untuk dipasang di kontainer melalui pengaturan aplikasi dan menyelaraskannya dengan jalur yang digunakan aplikasi Anda. Untuk informasi selengkapnya, lihat Menggunakan pemasangan penyimpanan di Azure Container Apps.
Memigrasi rahasia Spring Cloud Vault ke Azure KeyVault
Anda dapat menginjeksi rahasia secara langsung ke aplikasi melalui Spring menggunakan Azure KeyVault Spring Boot Starter. Untuk informasi selengkapnya, lihat Cara menggunakan Spring Boot Starter untuk Azure Key Vault.
Catatan
Migrasi mungkin mengharuskan Anda mengganti nama beberapa rahasia. Oleh karena itu, perbarui kode aplikasi Anda.
Memigrasikan semua sertifikat ke KeyVault
Azure Containers Apps mendukung komunikasi yang aman antar aplikasi. Aplikasi Anda tidak perlu mengelola proses membangun komunikasi yang aman. Anda dapat mengunggah sertifikat privat ke Azure Container Apps atau menggunakan sertifikat terkelola gratis yang disediakan oleh Azure Container Apps. Menggunakan Azure Key Vault untuk mengelola sertifikat adalah pendekatan yang direkomendasikan. Untuk informasi selengkapnya, lihat Sertifikat di Azure Container Apps.
Mengonfigurasi integrasi manajemen performa aplikasi (APM)
Jika Anda telah mengonfigurasi variabel terkait APM dalam kontainer, yang perlu Anda lakukan adalah memastikan bahwa koneksi ke platform APM target dapat dibuat. Jika konfigurasi APM mereferensikan variabel lingkungan dari kontainer, Anda perlu mengatur variabel lingkungan runtime yang sesuai pada Azure Container Apps. Informasi sensitif, seperti string koneksi, harus ditangani dengan aman. Anda dapat menentukannya sebagai rahasia atau mereferensikan rahasia yang disimpan di Azure Key Vault.
Mengonfigurasi rahasia per layanan dan pengaturan eksternal
Anda dapat menyuntikkan pengaturan konfigurasi ke dalam setiap kontainer sebagai variabel lingkungan. Setiap perubahan dalam variabel membuat revisi baru untuk aplikasi yang ada. Rahasia adalah pasangan kunci-nilai dan tetap valid di semua revisi.
Memigrasikan dan mengaktifkan penyedia identitas
Jika salah satu aplikasi Spring Cloud memerlukan autentikasi atau otorisasi, gunakan panduan berikut untuk memastikan bahwa aplikasi tersebut dikonfigurasi untuk mengakses penyedia identitas:
- Jika IdP adalah ID Microsoft Entra, tidak ada perubahan yang diperlukan.
- Jika penyedia identitas adalah forest Active Directory lokal, pertimbangkan untuk menerapkan solusi identitas hibrid dengan ID Microsoft Entra. Untuk panduan, lihat Dokumentasi identitas hibrida.
- Jika penyedia identitas adalah solusi lokal lain, seperti PingFederate, lihat Penginstalan kustom topik Microsoft Entra Connect untuk mengonfigurasi federasi dengan ID Microsoft Entra. Atau, pertimbangkan untuk menggunakan Spring Security untuk menggunakan penyedia identitas Anda melalui OAuth2/OpenID Koneksi atau SAML.
Memperbarui aplikasi klien
Perbarui konfigurasi semua aplikasi klien untuk menggunakan titik akhir Azure Container Apps yang diterbitkan untuk aplikasi yang dimigrasikan.
Pasca-migrasi
Sekarang setelah Anda menyelesaikan migrasi, verifikasi bahwa aplikasi Anda berfungsi sesuai harapan. Kemudian, Anda dapat membuat aplikasi Anda lebih cloud-native dengan menggunakan rekomendasi berikut.
Pertimbangkan untuk mengaktifkan aplikasi Anda untuk bekerja dengan Spring Cloud Registry. Komponen ini memungkinkan aplikasi Anda ditemukan secara dinamis oleh aplikasi dan klien Spring lain yang disebarkan. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan untuk komponen Eureka Server for Spring di Azure Container Apps. Kemudian, ubah klien aplikasi apa pun untuk menggunakan Spring Client Load Balancer. Spring Client Load Balancer memungkinkan klien untuk mendapatkan alamat semua instans aplikasi yang sedang berjalan dan menemukan instans yang berfungsi jika instans lain rusak atau tidak responsif. Untuk informasi selengkapnya, lihat Tips Spring: Spring Cloud Load Balancer di Blog Spring.
Alih-alih membuat aplikasi Anda menjadi publik, pertimbangkan untuk menambahkan instans Spring Cloud Gateway. Spring Cloud Gateway menyediakan satu titik akhir untuk semua aplikasi yang disebarkan di lingkungan Azure Container Apps Anda. Jika Spring Cloud Gateway sudah disebarkan, pastikan aturan perutean dikonfigurasi untuk merutekan lalu lintas ke aplikasi anda yang baru disebarkan.
Pertimbangkan untuk menambahkan Spring Cloud Config Server untuk mengelola dan mengontrol konfigurasi versi secara terpusat untuk semua aplikasi Spring Cloud Anda. Pertama, buat repositori Git untuk menampung konfigurasi dan mengonfigurasi instans aplikasi untuk menggunakannya. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan untuk komponen Config Server for Spring di Azure Container Apps. Kemudian, migrasikan konfigurasi Anda menggunakan langkah-langkah berikut:
Di dalam direktori src/main/resources aplikasi, buat file bootstrap.yml dengan konten berikut:
spring: application: name: <your-application-name>Dalam konfigurasi repositori Git, buat file <your-application-name>.yml, yang mana
your-application-namesama seperti pada langkah sebelumnya. Pindahkan pengaturan dari file application.yml di src/main/resources ke file baru yang Anda buat. Jika pengaturan sebelumnya berada dalam file .properties, konversi ke YAML terlebih dahulu. Anda dapat menemukan alat online atau plugin IntelliJ untuk melakukan konversi ini.Buat file application.yml di direktori di atas. Anda dapat menggunakan file ini untuk menentukan pengaturan dan sumber daya yang dibagikan di antara semua aplikasi di lingkungan Azure Container Apps. Pengaturan tersebut biasanya mencakup sumber data, pengaturan pengelogan, konfigurasi Spring Boot Actuator, dan lainnya.
Terapkan dan dorong perubahan ini ke repositori Git.
Hapus file application.properties atau application.yml dari aplikasi.
Pertimbangkan untuk menambahkan komponen terkelola Admin untuk Spring untuk mengaktifkan antarmuka administratif untuk aplikasi web Spring Boot yang mengekspos titik akhir aktuator. Untuk informasi selengkapnya, lihat Mengonfigurasi komponen Spring Boot Admin di Azure Container Apps.
Pertimbangkan untuk menambahkan alur penyebaran untuk penyebaran otomatis dan konsisten. Instruksi tersedia untuk Azure Pipelines dan untuk GitHub Actions.
Pertimbangkan untuk menggunakan revisi aplikasi kontainer, label revisi, dan bobot lalu lintas masuk untuk mengaktifkan penyebaran biru-hijau, yang memungkinkan Anda menguji perubahan kode dalam produksi sebelum tersedia untuk beberapa atau semua pengguna akhir Anda. Untuk informasi selengkapnya, lihat Penyebaran Biru-Hijau di Azure Container Apps.
Pertimbangkan untuk menambahkan pengikatan layanan untuk menyambungkan aplikasi Anda ke database Azure yang didukung. Pengikatan layanan ini akan menghilangkan kebutuhan Anda untuk memberikan informasi koneksi, termasuk info masuk, ke aplikasi Spring Cloud Anda.
Pertimbangkan untuk mengaktifkan tumpukan pengembangan Java untuk mengumpulkan metrik inti JVM untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Metrik Java untuk aplikasi Java di Azure Container Apps.
Pertimbangkan untuk menambahkan aturan peringatan Azure Monitor dan grup tindakan untuk mendeteksi dan menangani kondisi menyimpang dengan cepat. Untuk informasi selengkapnya, lihat Menyiapkan pemberitahuan di Azure Container Apps.
Pertimbangkan untuk mereplikasi aplikasi Anda di seluruh zona di wilayah tersebut dengan mengaktifkan redundansi zona Azure Container Apps. Lalu lintas diseimbangkan bebannya dan secara otomatis dirutekan ke replika jika terjadi pemadaman zona. Untuk informasi selengkapnya tentang pengaturan redundan, lihat Keandalan di Azure Container Apps.
Pertimbangkan untuk melindungi Azure Container Apps dari eksploitasi dan kerentanan umum dengan menggunakan Web Application Firewall di Application Gateway. Untuk informasi selengkapnya, lihat Melindungi Azure Container Apps dengan Web Application Firewall di Application Gateway.
Jika aplikasi Anda menggunakan komponen Spring Cloud Netflix warisan, pertimbangkan untuk menggantinya dengan alternatif saat ini, seperti yang ditunjukkan dalam tabel berikut:
Warisan Saat ini Spring Cloud Eureka Spring Cloud Service Registry Spring Cloud Netflix Zuul Spring Cloud Gateway Spring Cloud Netflix Archaius Spring Cloud Config Server Pita Netflix Spring Cloud Spring Cloud Load Balancer (penyeimbang beban sisi klien) Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J Spring Cloud Netflix Turbin Micrometer + Prometheus