Aplikace a nasazení v Azure Spring Apps

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

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.

Diagram showing the relationship between the apps and deployments.

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í.

Další kroky