Aplikasi dan penyebaran di Azure Spring Apps

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 berlaku untuk: ✔️ Java ✔️ C#

Artikel ini berlaku untuk: ✔️ Basic/Standard ✔️ Enterprise

Aplikasi dan Penyebaran adalah dua konsep utama dalam model sumber daya Azure Spring Apps. Di Azure Spring Apps, Aplikasi adalah abstraksi dari satu aplikasi bisnis. Satu versi kode atau biner yang diterapkan saat Aplikasi berjalan dalam Penyebaran. Aplikasi berjalan dalam instans layanan Azure Spring Apps, atau hanya instans layanan, seperti yang ditunjukkan berikutnya.

Diagram showing the relationship between the apps and deployments.

Anda dapat memiliki beberapa instans layanan dalam satu langganan Azure, tetapi Layanan Azure Spring Apps paling mudah digunakan ketika semua Aplikasi yang membentuk aplikasi bisnis berada dalam satu instans layanan. Salah satu alasannya adalah bahwa Aplikasi cenderung berkomunikasi satu sama lain. Mereka dapat dengan mudah melakukannya dengan menggunakan registri layanan Eureka dalam instans layanan.

Paket Azure Spring Apps Standard memungkinkan satu Aplikasi untuk memiliki satu penyebaran produksi dan satu penyebaran penahapan, sehingga Anda dapat melakukan penyebaran biru/hijau dengan mudah.

App

Fitur/properti berikut ditentukan pada tingkat aplikasi.

Fitur Deskripsi
Titik akhir
Publik
URL untuk mengakses aplikasi.
Domain
Kustom
Catatan CNAME yang mengamankan domain kustom.
Pengikatan
Layanan
Koneksi di luar kotak dengan layanan Azure lainnya.
Identitas
Terkelola
Identitas terkelola oleh MICROSOFT Entra ID memungkinkan aplikasi Anda mengakses sumber daya lain yang dilindungi Microsoft Entra dengan mudah seperti Azure Key Vault.
Penyimpanan
Tetap
Pengaturan yang memungkinkan data bertahan di luar mulai ulang aplikasi.

Penyebaran

Fitur/properti berikut didefinisikan pada tingkat penyebaran, dan ditukar saat menukar penyebaran produksi dan penahapan.

Fitur Deskripsi
CPU Jumlah vcore per instans aplikasi.
Memori GB memori per instans aplikasi.
Hitung
Instans
Jumlah instans aplikasi, diatur secara manual atau otomatis.
Skala Otomatis Jumlah instans skala secara otomatis berdasarkan aturan dan jadwal yang telah ditentukan sebelumnya.
Opsi
JVM
Opsi JVM untuk diatur.
Variabel
Lingkungan
Variabel lingkungan yang akan diatur.
Versi
Runtime
Baik Java 8 atau Java 11.

Lingkungan

Azure Spring Apps memasang beberapa file YAML baca-saja ke aplikasi yang Anda sebarkan. File-file ini berisi konteks Penyebaran Azure. Daftar berikut menunjukkan jalur dan konten file YAML ini:

  • /etc/azure-spring-cloud/context/azure-spring-apps.yml

    AZURE_SPRING_APPS:
        SUBSCRIPTION_ID:  <your-azure-subscription-id>
        RESOURCE_GROUP: <your-resource-group-name>
        NAME: <your-azure-spring-apps-name>
    
  • /etc/azure-spring-cloud/context/azure-spring-apps-deployment.yml

    AZURE_SPRING_APPS:
         APP:
            NAME: <your-app-name>
         DEPLOYMENT:
            NAME: <your-deployment-name>
            ACTIVE: true # true if the deployment is in production, false if in staging
    

Jika aplikasi Anda adalah aplikasi Spring Boot, kedua jalur file ini ditambahkan ke SPRING_CONFIG_ADDITIONAL_LOCATION variabel lingkungan. Dengan cara ini, aplikasi Anda dapat memuat properti ini sebagai konfigurasi dan menggunakannya dalam kode Anda. Misalnya, Anda dapat menggunakan @ConfigurationProperties anotasi untuk mengikat properti YAML ke kelas Java. Cuplikan kode berikut menunjukkan cara membuat @Configuration kelas yang mewakili konteks Azure:

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "azure-spring-apps")
@Data
public class AzureSpringAppsContext {

    private String subscriptionId;
    private String resourceGroup;
    private String name;

    private AppContext app;
    private DeploymentContext deployment;

    @Data
    public static class AppContext {
        private String name;
    }

    @Data
    public static class DeploymentContext {
        private String name;
        private boolean active;
    }
}

Untuk aplikasi poliglot lainnya, Anda mungkin perlu membaca dan mengakses properti yang sesuai dengan menggunakan pustaka baca/tulis file yang sesuai di aplikasi Anda.

Batasan

  • Aplikasi harus memiliki satu penyebaran produksi. API memblokir penghapusan penyebaran produksi. Anda harus menukar penyebaran ke penahapan sebelum menghapusnya.
  • Aplikasi dapat memiliki paling banyak dua penyebaran. API memblokir pembuatan lebih dari dua penyebaran. Terapkan biner baru Anda ke penyebaran produksi atau proses penahapan yang ada.
  • Manajemen penyebaran tidak tersedia dalam paket Dasar. Gunakan paket Standar atau Perusahaan untuk kemampuan penyebaran biru-hijau.

Langkah berikutnya