Aplikacja i wdrażanie w usłudze Azure Spring Apps
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu 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 wystąpieniu usługi Azure Spring Apps lub po prostu w wystąpieniu usługi, jak pokazano poniżej.
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ć przy użyciu rejestru usług Eureka w wystąpieniu usługi.
Plan usługi Azure Spring Apps w warstwie Standardowa umożliwia jednej aplikacji posiadanie jednego wdrożenia produkcyjnego i wdrożenia przejściowego, dzięki czemu można łatwo wykonać wdrożenie niebieskie/zielone.
Aplikacja
Następujące funkcje/właściwości są definiowane na poziomie aplikacji.
Funkcje | opis |
---|---|
Publiczny punkt końcowy |
Adres URL umożliwiający dostęp do aplikacji. |
Domena niestandardowa |
CNAME Rekord, który zabezpiecza domenę niestandardową. |
Powiązanie usługi |
Gotowe 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. |
Magazyn trwały |
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 CPU | Liczba rdzeni wirtualnych na wystąpienie aplikacji. |
Pamięć | GB pamięci na wystąpienie 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 maszyny wirtualnej 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 platformy Azure wdrożenia. 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 w istniejącym wdrożeniu produkcyjnym lub przejściowym.
- Zarządzanie wdrożeniami nie jest dostępne w planie podstawowym. Użyj planu standardowego lub enterprise, aby skorzystać z możliwości wdrażania niebieskiego zielonego.