Mulai cepat: Menyebarkan aplikasi layanan mikro ke Azure Spring Apps

Catatan

50 jam vCPU pertama dan memori 100 GB gratis setiap bulan. Untuk informasi selengkapnya, lihat Pengurangan Harga - Azure Spring Apps melakukan lebih banyak, biaya lebih murah! pada Aplikasi di Blog Azure.

Catatan

Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.

Artikel ini menjelaskan cara menyebarkan aplikasi layanan mikro ke Azure Spring Apps menggunakan aplikasi sampel terkenal PetClinic.

Sampel Klinik Hewan Peliharaan menunjukkan pola arsitektur layanan mikro. Diagram berikut menunjukkan arsitektur aplikasi PetClinic pada paket Azure Spring Apps Enterprise.

Diagram yang memperlihatkan arsitektur sampel PetClinic pada paket Azure Spring Apps Enterprise.

Diagram menunjukkan alur arsitektur dan hubungan sampel Klinik Hewan Peliharaan berikut:

  • Menggunakan Azure Spring Apps untuk mengelola aplikasi frontend dan backend. Aplikasi backend dibangun dengan Spring Boot dan setiap aplikasi menggunakan HSQLDB sebagai penyimpanan persisten. Aplikasi frontend yang diluncurkan ulang dibangun di atas Pet Clinic API Gateway App dengan Node.js berfungsi sebagai aplikasi web frontend mandiri.
  • Menggunakan komponen terkelola di Azure Spring Apps, termasuk Service Registry, Application Configuration Service, Spring Cloud Gateway, dan Application Live View. Layanan Konfigurasi Aplikasi membaca konfigurasi repositori Git.
  • Mengekspos URL Spring Cloud Gateway untuk merutekan permintaan ke aplikasi layanan backend, dan mengekspos URL Tampilan Langsung Aplikasi untuk memantau aplikasi backend.
  • Menganalisis log menggunakan ruang kerja Analitik Log.
  • Memantau performa dengan Application Insights.

Catatan

Artikel ini menggunakan versi PetClinic yang disederhanakan, menggunakan database dalam memori yang tidak siap produksi untuk menyebarkan dengan cepat ke Azure Spring Apps.

Alat Pengembang Tanzu mengekspos akses publik untuk Application Live View, yang merupakan titik risiko. Lingkungan produksi perlu mengamankan akses. Untuk informasi selengkapnya, lihat bagian Mengonfigurasi Portal Dev Tools di Mengonfigurasi Tanzu Dev Tools dalam paket Azure Spring Apps Enterprise.

Sampel Klinik Hewan Peliharaan menunjukkan pola arsitektur layanan mikro. Diagram berikut menunjukkan arsitektur aplikasi PetClinic pada paket Azure Spring Apps Standard.

Diagram yang menunjukkan arsitektur sampel PetClinic pada paket standar Azure Spring Apps.

Diagram menunjukkan alur arsitektur dan hubungan sampel Klinik Hewan Peliharaan berikut:

  • Menggunakan Azure Spring Apps untuk mengelola aplikasi Spring Boot. Setiap aplikasi menggunakan HSQLDB sebagai penyimpanan persisten.
  • Menggunakan komponen terkelola Spring Cloud Config Server dan Eureka Service Registry di Azure Spring Apps. Server Konfigurasi membaca konfigurasi repositori Git.
  • Mengekspos URL API Gateway untuk memuat permintaan keseimbangan ke aplikasi layanan, dan mengekspos URL Server Admin untuk mengelola aplikasi.
  • Menganalisis log menggunakan ruang kerja Analitik Log.
  • Memantau performa dengan Application Insights.

Catatan

Artikel ini menggunakan versi PetClinic yang disederhanakan, menggunakan database dalam memori yang tidak siap produksi untuk menyebarkan dengan cepat ke Azure Spring Apps.

Aplikasi admin-server yang disebarkan mengekspos akses publik, yang merupakan titik risiko. Lingkungan produksi perlu mengamankan aplikasi Spring Boot Admin.

Artikel ini menyediakan opsi berikut untuk menyebarkan ke Azure Spring Apps:

  • Opsi portal Azure adalah cara term mudah dan tercepat untuk membuat sumber daya dan menyebarkan aplikasi dengan satu klik. Opsi ini cocok untuk pengembang Spring yang ingin dengan cepat menyebarkan aplikasi ke layanan cloud Azure.
  • Opsi plugin portal Azure + Maven adalah cara yang lebih konvensional untuk membuat sumber daya dan menyebarkan aplikasi langkah demi langkah. Opsi ini cocok untuk pengembang Spring yang menggunakan layanan cloud Azure untuk pertama kalinya.
  • Opsi Azure CLI menggunakan alat baris perintah yang kuat untuk mengelola sumber daya Azure. Opsi ini cocok untuk pengembang Spring yang terbiasa dengan layanan cloud Azure.
  • Opsi plugin portal Azure + Maven adalah cara yang lebih konvensional untuk membuat sumber daya dan menyebarkan aplikasi langkah demi langkah. Opsi ini cocok untuk pengembang Spring yang menggunakan layanan cloud Azure untuk pertama kalinya.
  • Opsi Azure Developer CLI adalah cara yang lebih efisien untuk membuat sumber daya secara otomatis dan menyebarkan aplikasi melalui perintah sederhana. Azure Developer CLI menggunakan templat untuk menyediakan sumber daya Azure yang diperlukan dan untuk menyebarkan kode aplikasi. Opsi ini cocok untuk pengembang Spring yang terbiasa dengan layanan cloud Azure.

1. Prasyarat

  • Langganan Azure. Jika Anda tidak memiliki langganan, buat akun gratis sebelum memulai.
  • Jika Anda menyebarkan instans paket Azure Spring Apps Enterprise untuk pertama kalinya dalam langganan target, lihat bagian Persyaratan paket Enterprise di Marketplace Azure.
  • (Opsional) Git.
  • (Opsional) Java Development Kit (JDK), versi 17.

2. Siapkan proyek Spring

Gunakan langkah-langkah berikut untuk menyiapkan sampel secara lokal:

  1. Kloning proyek sampel dengan menggunakan perintah berikut:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Navigasi ke direktori akar proyek lalu gunakan perintah berikut untuk menjalankan proyek sampel secara lokal:

    bash ./scripts/run_all_without_infra.sh
    
  3. Setelah skrip berhasil diselesaikan, buka http://localhost:8080 di browser Anda untuk mengakses aplikasi PetClinic.

3. Siapkan lingkungan cloud

Bagian ini menjelaskan cara membuat instans layanan Azure Spring Apps dan menyiapkan lingkungan cloud Azure.

3.1. Masuk ke portal Microsoft Azure.

Buka portal Azure dan masukkan kredensial Anda untuk masuk ke portal. Tampilan default adalah dasbor layanan Anda.

3.2. Membuat instans Azure Spring Apps

Gunakan langkah-langkah berikut untuk membuat instans layanan:

  1. Pilih Buat sumber daya di sudut portal Azure.

  2. Pada tab Layanan Azure, pilih Komputasi >Azure Spring Apps.

    Cuplikan layar portal Azure yang memperlihatkan halaman Buat Sumber Daya dengan Azure Spring Apps disorot.

  3. Pada halaman Buat Azure Spring Apps , isi formulir pada tab Dasar .

    Cuplikan layar portal Azure yang memperlihatkan halaman Buat Azure Spring Apps dengan tab Dasar dipilih.

    Gunakan tabel berikut sebagai panduan untuk melengkapi formulir. Paket yang direkomendasikan adalah Standar.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Nama berlangganan Anda. Langganan Azure yang ingin Anda gunakan untuk server Anda. Jika Anda memiliki beberapa langganan, pilih langganan yang ingin Anda tagihan untuk sumber daya tersebut.
    Grup sumber daya myresourcegroup Nama grup sumber daya baru atau nama yang sudah ada dari langganan Anda.
    Nama myasa Nama unik yang mengidentifikasi instans Azure Spring Apps Anda. Nama harus antara 4 hingga 32 karakter dan hanya boleh berisi huruf kecil, angka, dan tanda hubung. Karakter pertama dari nama layanan harus berupa huruf dan karakter terakhir harus berupa huruf atau angka.
    Rencana Standard Paket harga menentukan sumber daya dan biaya yang terkait dengan instans Anda.
    Wilayah Wilayah yang paling dekat dengan pengguna Anda. Lokasi yang paling dekat dengan pengguna Anda.
    Zona Redundan Tidak dipilih Membuat layanan Azure Spring Apps Anda di zona ketersediaan Azure. Saat ini tidak didukung di semua wilayah.
  4. Navigasi ke tab Pengaturan diagnostik di halaman Buat Azure Spring Apps lalu pilih Buat baru untuk membuat instans ruang kerja Analitik Log baru. Pada halaman Buat ruang kerja Analitik Log baru, perbarui nama ruang kerja Analitik Log sesuai kebutuhan, lalu pilih OK untuk mengonfirmasi pembuatan.

    Cuplikan layar portal Azure yang memperlihatkan halaman Buat Azure Spring Apps dengan tab Diagnostik dipilih dan tombol Buat baru disorot.

  5. Navigasi ke tab Application Insights di halaman Buat Azure Spring Apps lalu pilih Buat baru untuk membuat instans Application Insights baru. Pada halaman Buat sumber daya Application Insights baru, perbarui nama Application insights sesuai kebutuhan, pilih Berbasis ruang kerja untuk mode Sumber Daya, lalu pilih OK untuk mengonfirmasi pembuatan.

    Cuplikan layar portal Azure yang memperlihatkan halaman Buat Azure Spring Apps dengan panel Buat sumber daya Application Insights baru yang ditampilkan.

  6. Pilih Tinjau dan Buat untuk meninjau pilihan Anda. Lalu, pilih Buat untuk memprovisikan instans Azure Spring Apps.

  7. Pilih ikon Pemberitahuan (bel) untuk memantau proses penyebaran. Setelah penyebaran selesai, Anda dapat memilih Sematkan ke dasbor untuk membuat pintasan di dasbor portal Azure Anda ke halaman Gambaran Umum layanan.

    Cuplikan layar portal Azure yang memperlihatkan penyebaran sumber daya dan panel Pemberitahuan dengan tombol Buka sumber daya dan Sematkan ke dasbor.

  8. Pilih Buka sumber daya untuk masuk ke halaman Gambaran Umum Azure Spring Apps.

  9. Pilih Config Server di panel navigasi.

  10. Pada halaman Config Server , untuk URI, masukkan https://github.com/Azure-Samples/spring-petclinic-microservices-config.git lalu pilih Validasi.

    Cuplikan layar portal Azure yang memperlihatkan halaman Server Konfigurasi dengan URI Default dan tombol Validasi disorot.

  11. Setelah validasi, pilih Terapkan untuk menyelesaikan konfigurasi Config Server.

4. Menyebarkan aplikasi ke Azure Spring Apps

Anda sekarang dapat menyebarkan aplikasi ke Azure Spring Apps.

Gunakan langkah-langkah berikut untuk menyebarkan aplikasi layanan mikro menggunakan plugin Maven untuk Azure Spring Apps:

  1. Navigasi ke direktori proyek sampel lalu gunakan perintah berikut untuk mengonfigurasi aplikasi untuk Azure Spring Apps:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. Daftar berikut ini menjelaskan interaksi perintah:

    • Pilih modul anak untuk dikonfigurasi(nomor input yang dipisahkan oleh koma, misalnya: [1-2,4,6], ENTER untuk memilih SEMUA): Tekan Enter untuk memilih semua.
    • Masuk OAuth2: Otorisasi masuk ke Azure berdasarkan protokol OAuth2.
    • Pilih langganan: Pilih nomor daftar langganan instans Azure Spring Apps yang Anda buat, yang default ke langganan pertama dalam daftar. Jika Anda menggunakan nomor default, tekan Enter secara langsung.
    • Pilih Azure Spring Apps untuk penyebaran: Pilih nomor daftar instans Azure Spring Apps yang Anda buat. Jika Anda menggunakan nomor default, tekan Enter secara langsung.
    • Pilih aplikasi untuk mengekspos akses publik:(nomor input yang dipisahkan oleh koma, misalnya: [1-2,4,6], ENTER untuk memilih NONE): Masukkan 1,5 untuk admin-server dan api-gateway.
    • Konfirmasi untuk menyimpan semua konfigurasi di atas (Y/n): Tekan y. Jika Anda menekan n, konfigurasi tidak disimpan dalam file POM.
  3. Gunakan perintah berikut untuk membangun dan menyebarkan setiap aplikasi:

    ./mvnw azure-spring-apps:deploy
    
  4. Untuk permintaan masuk OAuth2, otorisasi masuk ke Azure berdasarkan protokol OAuth2.

    Catatan

    Penyebaran ke Azure Spring Apps dapat memakan waktu hingga 25 menit.

Setelah perintah berjalan, log menampilkan output yang mirip dengan contoh berikut, yang menunjukkan bahwa semua penyebaran berhasil:

[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO]   InstanceName:admin-server-default-xx-xx-xxx  Status:Running Reason:null       DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io

...

[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io

2. Siapkan proyek Spring

Tombol Sebarkan ke Azure di bagian berikutnya meluncurkan pengalaman portal Azure yang mengunduh paket JAR dari halaman rilis ASA-Samples-Web-Application di GitHub. Tidak diperlukan langkah-langkah persiapan lokal.

3. Siapkan lingkungan cloud

Sumber daya utama yang Anda butuhkan untuk menjalankan sampel ini adalah instans Azure Spring Apps. Bagian ini menjelaskan cara membuat sumber daya ini.

Bagian ini menggunakan tombol Sebarkan ke Azure untuk meluncurkan pengalaman penyebaran di portal Azure. Pengalaman ini menggunakan templat ARM untuk membuat sumber daya Azure.

3.1. Masuk ke portal Microsoft Azure.

Buka portal Azure dan masukkan kredensial Anda untuk masuk ke portal. Tampilan default adalah dasbor layanan Anda.

3.2. Membuat sumber daya Azure

Gunakan langkah-langkah berikut untuk membuat semua sumber daya Azure yang bergantung pada aplikasi:

  1. Pilih tombol Sebarkan ke Azure berikut untuk meluncurkan pengalaman penyebaran di portal Azure:

    Tombol untuk menyebarkan templat Resource Manager ke Azure.

  2. Isi formulir pada tab Dasar . Gunakan tabel berikut sebagai panduan untuk melengkapi formulir:

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Nama berlangganan Anda. Langganan Azure yang ingin Anda gunakan untuk server Anda. Jika Anda memiliki beberapa langganan, pilih langganan tempat Anda ingin ditagih untuk sumber daya tersebut.
    Grup sumber daya myresourcegroup Nama grup sumber daya baru atau nama yang sudah ada dari langganan Anda.
    Wilayah Wilayah yang paling dekat dengan pengguna Anda. Wilayah ini digunakan untuk membuat grup sumber daya.

    Cuplikan layar portal Azure yang memperlihatkan halaman Penyebaran kustom.

  3. Pilih Tinjau dan Buat untuk meninjau pilihan Anda. Lalu, pilih Buat untuk menyebarkan aplikasi ke Azure Spring Apps.

  4. Pada toolbar, pilih ikon Pemberitahuan (bel) untuk memantau proses penyebaran. Setelah penyebaran selesai, Anda dapat memilih Sematkan ke dasbor, yang membuat petak peta untuk layanan ini di dasbor portal Azure Anda sebagai pintasan ke halaman Gambaran Umum layanan. Pilih Buka sumber daya untuk membuka halaman Gambaran Umum layanan.

    Cuplikan layar portal Azure yang memperlihatkan halaman Gambaran Umum dengan panel pemberitahuan penyebaran kustom terbuka.

4. Menyebarkan aplikasi ke Azure Spring Apps

Tombol Sebarkan ke Azure di bagian sebelumnya meluncurkan pengalaman portal Azure yang mencakup penyebaran aplikasi, sehingga tidak diperlukan hal lain.

5. Memvalidasi aplikasi

Bagian berikut menjelaskan cara memvalidasi penyebaran.

5.1. Mengakses aplikasi

Setelah penyebaran selesai, Anda dapat menemukan URL Spring Cloud Gateway dari output penyebaran, seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar portal Azure yang memperlihatkan halaman Output Penyebaran.

Buka URL gateway. Aplikasi akan terlihat mirip dengan cuplikan layar berikut:

Cuplikan layar aplikasi PetClinic yang berjalan pada paket Azure Spring Apps Enterprise.

5.2. Mengkueri log aplikasi

Setelah Anda menelusuri setiap fungsi Klinik Hewan Peliharaan, ruang kerja Analitik Log mengumpulkan log dari setiap aplikasi. Anda dapat memeriksa log dengan menggunakan kueri kustom, seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar portal Azure yang memperlihatkan halaman Log kueri pada aplikasi PetClinic dan hasil untuk paket Enterprise.

5.3. Memantau aplikasi

Application Insights memantau dependensi aplikasi, seperti yang ditunjukkan oleh peta pelacakan aplikasi berikut:

Cuplikan layar portal Azure yang memperlihatkan halaman Peta aplikasi untuk paket Azure Spring Apps Enterprise.

Anda dapat menemukan URL Tampilan Langsung Aplikasi dari output penyebaran. Buka URL Tampilan Langsung Aplikasi untuk memantau runtime aplikasi, seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar Tampilan Langsung Aplikasi untuk aplikasi PetClinic.

5.1. Mengakses aplikasi

Menggunakan informasi URL dalam output log penyebaran, buka URL yang diekspos oleh aplikasi bernama api-gateway - misalnya, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Aplikasi akan terlihat mirip dengan cuplikan layar berikut:

Cuplikan layar aplikasi PetClinic yang berjalan di Azure Spring Apps.

5.2. Mengkueri log aplikasi

Setelah Anda menelusuri setiap fungsi Klinik Hewan Peliharaan, ruang kerja Analitik Log mengumpulkan log dari setiap aplikasi. Anda dapat memeriksa log dengan menggunakan kueri kustom, seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar portal Azure yang memperlihatkan halaman Log kueri pada aplikasi PetClinic dan hasilnya.

5.3. Memantau aplikasi

Application Insights memantau dependensi aplikasi, seperti yang ditunjukkan oleh peta pelacakan aplikasi berikut:

Cuplikan layar portal Azure yang memperlihatkan halaman Peta aplikasi untuk instans Application Insights.

Buka URL yang diekspos oleh aplikasi admin-server untuk mengelola aplikasi melalui Spring Boot Admin Server, seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar halaman Spring Boot Admin Server untuk aplikasi PetClinic yang mencantumkan instans aplikasi saat ini.

6. Membersihkan sumber daya

Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini tetap di tempatnya. Ketika Anda tidak lagi memerlukan sumber daya, Anda dapat membersihkan sumber daya yang tidak perlu untuk menghindari biaya Azure.

Gunakan langkah-langkah berikut untuk menghapus seluruh grup sumber daya, termasuk instans layanan yang baru dibuat:

  1. Temukan grup sumber daya Anda di portal Azure. Pada menu navigasi, pilih Grup sumber daya, lalu pilih nama grup sumber daya Anda.

  2. Pada halaman Grup sumber daya, pilih Hapus. Masukkan nama grup sumber daya Anda di kotak teks untuk mengonfirmasi penghapusan, lalu pilih Hapus.

Pastikan untuk menghapus sumber daya yang Anda buat di artikel ini saat Anda tidak lagi membutuhkannya. Anda dapat menghapus grup sumber daya Azure, yang menyertakan semua sumber daya dalam grup sumber daya.

Gunakan langkah-langkah berikut untuk menghapus seluruh grup sumber daya:

  1. Temukan grup sumber daya Anda di portal Azure. Pada menu navigasi, pilih Grup sumber daya, lalu pilih nama grup sumber daya Anda.

  2. Pada halaman Grup sumber daya, pilih Hapus. Masukkan nama grup sumber daya Anda di kotak teks untuk mengonfirmasi penghapusan, lalu pilih Hapus.

7. Langkah selanjutnya

Untuk informasi lebih lanjut, baca artikel berikut: