Aracılığıyla paylaş


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

Not

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

Standart tüketim ve ayrılmış planı 30 Eylül 2024'te emeklilik dönemine girdi ve Mart 2025 sonuna kadar tamamen kapatılacak. Daha fazla bilgi için Azure Spring Apps Standart tüketimini ve ayrılmış planı Azure Container Apps'e geçirin kısmına bakın.

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.

Uygulamalar ve dağıtımlar arasındaki ilişkiyi gösteren diyagram.

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
Alan Adı
CNAME Özel alan adını güvence altına alan kayıt.
Hizmet
Bağlama
Diğer Azure hizmetleriyle hazır 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
Merkezi İşlem Birimi (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 zaman çizelgelerine göre otomatik olarak ayarlanır.
JVM
Seçenekleri
Ayarlanacağı JVM seçenekleri.
Ortam
Değişkenleri
Ayarlanacağı ortam değişkenleri.
Runtime
Versiyon
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 sahnelemeye geçiş yapmalısınız.
  • 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