Aracılığıyla paylaş


Azure Spring Apps'te uygulama ve dağıtım

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir: ✔️ Java ✔️ C#

Bu makale şunlar için geçerlidir: ✔️ Temel/Standart ✔️ Kurumsal

Uygulama ve Dağıtım , Azure Spring Apps'in kaynak modelindeki iki temel kavramdır. Azure Spring Apps'te uygulama, bir iş uygulamasının soyutlamasıdır. Uygulama bir Dağıtımda çalışırken dağıtılan bir kod veya ikili sürümü. Uygulamalar bir Azure Spring Apps hizmet örneğinde veya daha sonra gösterildiği gibi yalnızca hizmet örneğinde çalışır.

Diagram showing the relationship between the apps and deployments.

Tek bir Azure aboneliğinde birden çok hizmet örneğiniz olabilir, ancak bir iş uygulamasını oluşturan tüm Uygulamalar tek bir hizmet örneğinde bulunduğunda Azure Spring Apps Hizmeti'ni kullanmak en kolay seçenektir. Bunun bir nedeni, Uygulamaların birbiriyle iletişim kurma olasılığının yüksek olmasıdır. Bunu, hizmet örneğinde Eureka hizmet kayıt defterini kullanarak kolayca yapabilir.

Azure Spring Apps Standart planı, bir Uygulamanın tek bir üretim dağıtımına ve bir hazırlama dağıtımına sahip olmasını sağlar, böylece üzerinde mavi/yeşil dağıtımı kolayca yapabilirsiniz.

Uygulama

Aşağıdaki özellikler/özellikler uygulama düzeyinde tanımlanır.

Özellikler Açıklama
Genel
Uç Nokta
Uygulamaya erişmek için URL.
Özel
Etki Alanı
CNAME Özel etki alanının güvenliğini sağlayan kayıt.
Hizmet
Bağlama
Diğer Azure hizmetleriyle kullanıma sunulan bağlantı.
Yönetilen
Kimlik
Microsoft Entra Id tarafından yönetilen kimlik, uygulamanızın Azure Key Vault gibi diğer Microsoft Entra korumalı kaynaklara kolayca erişmesini sağlar.
Kalıcı
Depolama
Verilerin uygulama yeniden başlatmanın ötesinde kalıcı olmasını sağlayan ayar.

Dağıtım

Aşağıdaki özellikler/özellikler dağıtım düzeyinde tanımlanır ve üretim ve hazırlama dağıtımı değiştirilirken değiştirilir.

Özellikler Açıklama
CPU Uygulama örneği başına sanal çekirdek sayısı.
Bellek Uygulama örneği başına GB bellek.
Örnek
Sayısı
El ile veya otomatik olarak ayarlanan uygulama örneği sayısı.
Otomatik Ölçeklendirme Ölçek örneği sayısı, önceden tanımlanmış kurallara ve zamanlamalara göre otomatik olarak gerçekleştirilir.
JVM
Seçenekleri
Ayarlanacağı JVM seçenekleri.
Ortam
Değişkenleri
Ayarlanacağı ortam değişkenleri.
Çalışma Zamanı
Sürümü
Java 8 veya Java 11.

Ortam

Azure Spring Apps, dağıtılan uygulamalarınıza bazı salt okunur YAML dosyalarını bağlar. Bu dosyalar bir dağıtımın Azure bağlamını içerir. Aşağıdaki liste, bu YAML dosyalarının yollarını ve içeriğini gösterir:

  • /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
    

Uygulamanız bir Spring Boot uygulamasıysa, bu iki dosya yolu ortam değişkenine SPRING_CONFIG_ADDITIONAL_LOCATION eklenir. Bu şekilde uygulamanız bu özellikleri yapılandırma olarak yükleyebilir ve kodunuzda kullanabilir. Örneğin, YAML özelliklerini bir Java sınıfına bağlamak için ek açıklamayı kullanabilirsiniz @ConfigurationProperties . Aşağıdaki kod parçacığı, Azure bağlamını temsil eden bir @Configuration sınıfın nasıl oluşturulacağını gösterir:

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;
    }
}

Diğer tüm çok teknolojili uygulamalar için, uygulamalarınızda ilgili dosya okuma/yazma kitaplıklarını kullanarak ilgili özellikleri okumanız ve bu özelliklere erişmeniz gerekebilir.

Kısıtlamalar

  • Bir uygulamanın bir üretim dağıtımı olmalıdır. API, üretim dağıtımının silinmesini engeller. Bir dağıtımı silmeden önce hazırlamaya değiştirmelisiniz.
  • Bir uygulamanın en fazla iki dağıtımı olabilir. API, ikiden fazla dağıtımın oluşturulmasını engeller. Yeni ikili dosyanızı mevcut üretim veya hazırlama dağıtımına dağıtın.
  • Dağıtım yönetimi Temel planda kullanılamaz. Mavi-yeşil dağıtım özelliği için Standart veya Kurumsal planı kullanın.

Sonraki adımlar