Aplikace a nasazení v Azure Spring Apps
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na:✅ Java ✅ C#
Tento článek se vztahuje na:✅ Basic/Standard ✅ Enterprise
Aplikace a nasazení jsou dva klíčové koncepty v modelu prostředků Azure Spring Apps. V Azure Spring Apps je aplikace abstrakcí jedné obchodní aplikace. Jedna verze kódu nebo binárního souboru nasazeného při spuštění aplikace v nasazení Aplikace běží v instanci služby Azure Spring Apps nebo jednoduše instanci služby, jak je znázorněno dále.
V rámci jednoho předplatného Azure můžete mít několik instancí služby, ale služba Azure Spring Apps service se nejsnadněji používá, když se všechny aplikace, které tvoří obchodní aplikaci, nacházejí v jedné instanci služby. Jedním z důvodů je, že aplikace budou pravděpodobně vzájemně komunikovat. Můžou to snadno provést pomocí registru služby Eureka v instanci služby.
Plán Azure Spring Apps Standard umožňuje jedné aplikaci mít jedno produkční nasazení a jedno přípravné nasazení, abyste na něm mohli snadno provádět modré/zelené nasazení.
Aplikace
Následující funkce/vlastnosti jsou definovány na úrovni aplikace.
Funkce | Popis |
---|---|
Veřejný koncový bod |
Adresa URL pro přístup k aplikaci. |
Vlastní doména |
Záznam CNAME , který zabezpečuje vlastní doménu. |
Vazba služby |
Předefinované připojení k jiným službám Azure. |
Spravovaná identita |
Spravovaná identita od Microsoft Entra ID umožňuje vaší aplikaci snadno přistupovat k dalším prostředkům chráněným Microsoft Entra, jako je Azure Key Vault. |
Trvalé úložiště |
Nastavení, které umožňuje zachovat data i po restartování aplikace. |
Nasazení
Následující funkce/vlastnosti jsou definovány na úrovni nasazení a vyměňují se při prohození produkčního a přípravného nasazení.
Funkce | Popis |
---|---|
Procesor | Počet virtuálníchjaderch |
Memory (Paměť) | GB paměti na instanci aplikace. |
Počet instancí |
Počet instancí aplikace, nastavení ručně nebo automaticky. |
Automaticky škálovat | Počet instancí škálování se automaticky počítá na základě předdefinovaných pravidel a plánů. |
Možnosti prostředí JVM |
Možnosti prostředí JVM, které chcete nastavit. |
Proměnné prostředí |
Proměnné prostředí, které se mají nastavit. |
Verze modulu runtime |
Javu 8 nebo Javu 11. |
Prostředí
Azure Spring Apps připojí některé soubory YAML jen pro čtení k nasazeným aplikacím. Tyto soubory obsahují kontext Azure nasazení. Následující seznam ukazuje cesty a obsah těchto souborů 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
Pokud je vaše aplikace Spring Boot, tyto dvě cesty k souborům se přidají do SPRING_CONFIG_ADDITIONAL_LOCATION
proměnné prostředí. Aplikace tak může tyto vlastnosti načíst jako konfigurace a používat je ve vašem kódu. Pomocí poznámky @ConfigurationProperties
můžete například svázat vlastnosti YAML s třídou Java. Následující fragment kódu ukazuje, jak vytvořit @Configuration
třídu, která představuje kontext 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;
}
}
Pro všechny ostatní polyglotní aplikace možná budete muset číst a přistupovat k odpovídajícím vlastnostem pomocí odpovídajících knihoven pro čtení a zápis souborů ve vašich aplikacích.
Omezení
- Aplikace musí mít jedno produkční nasazení. Rozhraní API blokuje odstranění produkčního nasazení. Před odstraněním nasazení byste měli nasazení prohodit do přípravného prostředí.
- Aplikace může mít maximálně dvě nasazení. Rozhraní API blokuje vytváření více než dvou nasazení. Nasaďte nový binární soubor do existujícího produkčního nebo přípravného nasazení.
- Správa nasazení není v plánu Basic dostupná. Použijte plán Standard nebo Enterprise pro možnosti modrého zeleného nasazení.