Udostępnij za pośrednictwem


Aplikacja i wdrażanie w usłudze Azure Spring Apps

Uwaga

Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. Aby uzyskać więcej informacji, zobacz Migrowanie planu konsumpcyjnego i dedykowanego usługi Azure Spring Apps do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Java ✅ C#

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

Aplikacje i wdrażanie to dwa kluczowe pojęcia w modelu zasobów usługi Azure Spring Apps. W usłudze Azure Spring Apps aplikacja jest abstrakcją jednej aplikacji biznesowej. Jedna wersja kodu lub pliku binarnego wdrożona podczas uruchamiania aplikacji we wdrożeniu. Aplikacje są uruchamiane w usłudze Azure Spring Apps lub po prostu w wystąpieniu tej usługi, jak pokazano poniżej.

Diagram przedstawiający relację między aplikacjami i wdrożeniami.

Możesz mieć wiele wystąpień usługi w ramach jednej subskrypcji platformy Azure, ale usługa Azure Spring Apps Service jest najłatwiejsza do użycia, gdy wszystkie aplikacje tworzące aplikację biznesową znajdują się w jednym wystąpieniu usługi. Jednym z powodów jest to, że aplikacje mogą komunikować się ze sobą. Można to łatwo zrobić z wykorzystaniem rejestru usług Eureka we węzłach serwisowych.

Plan Standard usługi Azure Spring Apps pozwala jednej aplikacji mieć jedno wdrożenie produkcyjne i jedno wdrożenie testowe, co umożliwia łatwe wykonanie wdrożenia typu niebieski/zielony.

Aplikacja

Następujące funkcje/właściwości są definiowane na poziomie aplikacji.

Funkcje opis
Publiczny
punkt dostępowy
Adres URL umożliwiający dostęp do aplikacji.
Domena niestandardowa
CNAME Rekord, który zabezpiecza domenę niestandardową.
Powiązanie usługi
Domyślne połączenie z innymi usługami platformy Azure.
Tożsamość zarządzana
Tożsamość zarządzana przez firmę Microsoft Entra ID umożliwia aplikacji łatwy dostęp do innych chronionych zasobów firmy Microsoft, takich jak Azure Key Vault.
Pamięć trwała
Ustawienie, które umożliwia utrwalanie danych poza ponownym uruchomieniem aplikacji.

Wdrożenie

Następujące funkcje/właściwości są definiowane na poziomie wdrożenia i są wymieniane podczas zamiany wdrożenia produkcyjnego i przejściowego.

Funkcje opis
Procesor Liczba rdzeni wirtualnych na wystąpienie aplikacji.
Pamięć GB pamięci na instancję aplikacji.
Liczba wystąpień
Liczba wystąpień aplikacji, ustawiana ręcznie lub automatycznie.
Automatyczne skalowanie Liczba wystąpień skalowania jest automatycznie oparta na wstępnie zdefiniowanych reguł i harmonogramach.
Opcje JVM
Opcje JVM do ustawienia.
Zmienne środowiskowe
Zmienne środowiskowe do ustawienia.
Wersja środowiska uruchomieniowego
Java 8 lub Java 11.

Środowisko

Usługa Azure Spring Apps instaluje niektóre pliki YAML tylko do odczytu w wdrożonych aplikacjach. Te pliki zawierają kontekst wdrożenia platformy Azure. Poniższa lista zawiera ścieżki i zawartość tych plików YAML:

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

Jeśli aplikacja jest aplikacją Spring Boot, te dwie ścieżki plików są dodawane do zmiennej środowiskowej SPRING_CONFIG_ADDITIONAL_LOCATION . Dzięki temu aplikacja może ładować te właściwości jako konfiguracje i używać ich w kodzie. Możesz na przykład użyć @ConfigurationProperties adnotacji, aby powiązać właściwości YAML z klasą Języka Java. Poniższy fragment kodu pokazuje, jak utworzyć klasę reprezentującą @Configuration kontekst platformy 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;
    }
}

W przypadku innych aplikacji wielolotowych może być konieczne odczytywanie odpowiednich właściwości i uzyskiwanie do ich dostępu przy użyciu odpowiednich bibliotek odczytu/zapisu plików w aplikacjach.

Ograniczenia

  • Aplikacja musi mieć jedno wdrożenie produkcyjne. Interfejs API blokuje usunięcie wdrożenia produkcyjnego. Przed usunięciem wdrożenia należy zamienić wdrożenie na przejściowe.
  • Aplikacja może mieć co najwyżej dwa wdrożenia. Interfejs API blokuje tworzenie więcej niż dwóch wdrożeń. Wdróż nowy plik binarny do istniejącego wdrożenia produkcyjnego lub testowego.
  • Zarządzanie wdrożeniami nie jest dostępne w planie podstawowym. Użyj planu standardowego lub Enterprise dla funkcjonalności wdrażania typu blue-green.

Następne kroki