Condividi tramite


Eseguire la migrazione a Azure Container Apps

Nota

I piani Basic, Standard ed Enterprise sono entrati in un periodo di ritiro il 17 marzo 2025. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Il piano Standard a consumo e dedicato è entrato in fase di ritiro il 30 settembre 2024, con un arresto completo entro la fine di marzo 2025. Per altre informazioni, vedere Eseguire la migrazione del piano a consumo e dedicato di Azure Spring Apps Standard ad App contenitore di Azure.

Questo articolo si applica a:✅ Basic/Standard ✅ Enterprise

App Spring di Azure e App Azure Container sono entrambe piattaforme gestite in Azure progettate per semplificare l'esecuzione di applicazioni senza gestire un'infrastruttura complessa. Entrambi i servizi consentono agli sviluppatori di concentrarsi sulle applicazioni invece di preoccuparsi della configurazione e della manutenzione dei sistemi sottostanti. Si integrano in modo nativo con l'ecosistema di Azure, semplificando la connessione con servizi come Monitoraggio di Azure, Key Vault e Azure DevOps per il monitoraggio, la sicurezza e la distribuzione.

A causa del ritiro di App Spring di Azure, è consigliabile usare App Contenitore di Azure come servizio principale per la migrazione dei carichi di lavoro in esecuzione in Azure Spring Apps. App Azure Container offre una base moderna, flessibile e scalabile per le applicazioni in contenitori, assicurando che i carichi di lavoro siano pronti per il futuro e perfettamente integrati con l'ecosistema di Azure.

Questo articolo fornisce una guida dettagliata per facilitare la migrazione dei carichi di lavoro da Azure Spring Apps ad App Azure Container, riducendo al minimo le interruzioni e ottimizzando i vantaggi della nuova piattaforma.

Mapping dei concetti

La tabella di mapping dei concetti seguente evidenzia i paralleli tra App Azure Spring e App Azure Container. Consente di comprendere in che modo i concetti familiari in Azure Spring Apps si traducono in funzionalità equivalenti in App Azure Container.

Diagramma della mappatura dei concetti tra Azure Spring Apps e Azure Container Apps.

Servizio Azure Spring Apps Servizio Azure Container Apps
Un'istanza del servizio ospita e protegge un limite per le app e altre risorse e supporta una rete virtuale personalizzata. Un ambiente stabilisce un limite sicuro per le applicazioni contenitore e supporta reti virtuali personalizzate.
Un'app è un'applicazione aziendale che funge da risorsa figlio all'interno di un'istanza del servizio. Un'App Container è un'app aziendale, definita come risorsa di Azure indipendente che si connette a un ambiente gestito.
Una distribuzione è la versione di un'app. Un'app può avere una distribuzione di produzione e una distribuzione di staging. Una revisione è uno snapshot non modificabile di ogni versione di un'applicazione contenitore. Un'app contenitore può avere una o più revisioni.
Un'istanza dell'applicazione è l'unità di runtime minima gestita dal servizio. I contenitori (Replica) sono un set di contenitori e l'unità minima di runtime. È possibile configurare più contenitori insieme, inclusi i contenitori sidecar e init, per gestire un'app contenitore.

Impostazioni di controllo degli accessi in base al ruolo di Azure

App Azure Spring e App Azure Container supportano entrambe le impostazioni di controllo degli accessi in base al ruolo di Azure. Tuttavia, le esperienze variano a causa delle gerarchie di risorse distinte.

In Azure Spring Apps la gerarchia delle risorse è centrata sull'istanza del servizio. Le assegnazioni di ruolo si applicano all'istanza e si propagano automaticamente alle risorse figlio, ad esempio app e distribuzioni. Questa progettazione offre una gestione centralizzata. Tuttavia, se un utente deve accedere a un'app o a una distribuzione specifica anziché all'istanza del servizio, è necessario concedere autorizzazioni specifiche per tali risorse.

Dal punto di vista dell'API, App Azure Container progetta i tipi di risorse per gli ambienti e le app contenitore come entità separate indipendenti allo stesso livello gerarchico. È possibile assegnare ruoli a livello di ambiente gestito o singole app contenitore. Questa struttura consente un controllo preciso su applicazioni specifiche. Ad esempio, è possibile concedere l'accesso a app contenitore diverse per team o utenti diversi. Questa flessibilità semplifica la gestione delle risorse in modo indipendente in un ambiente condiviso. Si allinea bene anche all'esperienza familiare di gestione di altre risorse di Azure.

Approccio alla migrazione

L'approccio alla migrazione da App Spring di Azure ad App Azure Container prevede i passaggi principali seguenti:

Diagramma dei passaggi di migrazione descritti in questo articolo.

  1. Valutare e pianificare: valutare i carichi di lavoro correnti in Azure Spring Apps, incluse dipendenze, configurazioni e impostazioni di rete.

  2. Containerizzare le applicazioni: Sebbene Azure Container Apps supporti la distribuzione da file JAR o dal codice sorgente, è consigliabile distribuire le applicazioni in contenitori Docker, che offrono maggiore portabilità ed efficienza. È possibile inserire in contenitori le applicazioni creando dockerfile e creando immagini del contenitore usando strumenti come Registro Azure Container o Docker Hub. È anche possibile compilare immagini del contenitore tramite buildpack in locale. Per informazioni su come inserire in contenitori l'applicazione e creare un'immagine del contenitore simile a quella in esecuzione in Azure Spring Apps, vedere Panoramica della containerizzazione.

  3. Configurare l'ambiente app Azure Container: effettuare il provisioning di un ambiente gestito in App Azure Container, tra cui la configurazione di reti virtuali, subnet e le eventuali impostazioni di sicurezza necessarie in modo che corrispondano alle configurazioni di rete precedenti in Azure Spring Apps. Per altre informazioni, vedere Effettuare il provisioning di Azure Container Apps o eseguire la migrazione della Rete virtuale personalizzata.

  4. Creare e configurare componenti Java in App Azure Container: abilitare e configurare Eureka Server, Config Server, Gateway e Managed Admin. Questi componenti sono essenziali per l'orchestrazione e la gestione dei microservizi nelle applicazioni Spring. Assicurarsi che siano configurati correttamente per una transizione senza problemi.

    Se si usa il piano Enterprise, consultare gli articoli seguenti:

    Se si usa il piano Standard, consultare gli articoli seguenti:

  5. Distribuire contenitori: distribuire le applicazioni in contenitori nell'ambiente App Contenitore di Azure. Configurare revisioni dell'applicazione, criteri di ridimensionamento e configurazioni di rete in base ai requisiti. Per altre informazioni, vedere Panoramica della migrazione delle applicazioni.

  6. Monitoraggio: durante la migrazione, monitorare continuamente le prestazioni delle applicazioni usando Monitoraggio di Azure e regolare le configurazioni in base alle esigenze per l'ottimizzazione, ad esempio la regolazione delle impostazioni di ridimensionamento o le allocazioni delle risorse. Per altre informazioni, vedere Log and Metrics in Azure Container Apps .For more information, see Log and Metrics in Azure Container Apps.

  7. Test e convalida: eseguire test accurati per assicurarsi che le applicazioni in contenitori funzionino come previsto nel nuovo ambiente. Verificare la connettività di rete, il ridimensionamento e l'integrazione con altri servizi.

  8. Strumenti di automazione e client: per semplificare le attività quotidiane di sviluppo e operativi, sfruttare gli strumenti client e le soluzioni di automazione. Questi strumenti includono l'interfaccia della riga di comando di Azure, Azure DevOps, GitHub Actions e le estensioni negli strumenti client o negli IDE. Questi strumenti consentono di automatizzare le distribuzioni, monitorare le prestazioni e gestire le risorse in modo efficiente, riducendo il lavoro manuale e migliorando l'agilità operativa. Per informazioni sugli strumenti più diffusi, vedere Clienti o strumenti di automazione per applicazioni container di Azure.

Strumento assistente di migrazione

Per velocizzare la migrazione e valutare le funzionalità nelle app Azure Container, viene fornito un nuovo comando nell'interfaccia della riga di comando di Azure. Questo comando recupera le configurazioni delle risorse di Azure Spring Apps esistenti in base all'ID risorsa dell'istanza del servizio. Converte quindi queste configurazioni in file Bicep per le risorse delle Azure Container Apps. Questo metodo consente di configurare rapidamente un ambiente gestito delle Azure Container Apps e le risorse dell'app applicando impostazioni di base simili a quelle nelle risorse esistenti di Azure Spring Apps. Per altre informazioni, vedere az spring export.

Per creare risorse di App Contenitore di Azure corrispondenti alle configurazioni delle risorse di Azure Spring Apps esistenti, seguire questa procedura:

  1. Installare la Azure CLI versione 2.45.0 o successiva e la versione più recente dell'estensione Azure Spring Apps usando il comando az extension add --name spring.

  2. Generare file Bicep per creare le risorse di App Contenitore di Azure corrispondenti usando il comando seguente:

    az spring export \
        --resource-group <resource-group-name> \
        --target aca \
        --subscription <subscription-id> \
        --service <service-name> \
        --output-folder <output-folder-name> 
    
  3. Il comando precedente genera un file README.md con istruzioni dettagliate. Seguire queste istruzioni per aggiornare i parametri necessari nei file Bicep.

    Nota

    Azure Container Apps richiede URL di immagini containerizzate. Se non si ha ancora un URL di immagine in contenitori per l'applicazione, è possibile lasciare invariato l'URL dell'immagine di avvio rapido nei parametri e distribuire l'applicazione in un secondo momento. Per altre informazioni su come ottenere immagini del contenitore, vedere Panoramica della containerizzazione

  4. Se un gruppo di risorse non esiste, crearlo usando il comando seguente:

    az group create \
        --name <resource-group-name> \
        --subscription <subscription-id> \
        --location <location> 
    
  5. Distribuire le risorse di App Azure Container nel gruppo di risorse usando il comando seguente:

    Nota

    Potrebbe essere necessario eseguire il comando più volte e modificare la configurazione in base al messaggio di risposta.

    az deployment group create \
      --resource-group <resource-group-name> \
      --template-file main.bicep \
      --parameters param.bicepparam \
      --subscription <subscription-id>
    
  6. Seguire le istruzioni nel file README.md per aggiornare le risorse per le funzionalità avanzate. Queste funzionalità includono il caricamento di certificati, l'abilitazione di un dominio personalizzato, l'aggiunta di assegnazioni di ruolo all'identità gestita assegnata dal sistema e altro ancora.

  7. Se è necessaria la configurazione Terraform di tali risorse, esportarle usando il flusso di lavoro di esportazione del provider di risorse Terraform di Azure. Per altre informazioni, vedere Panoramica del provider di risorse Azure Terraform.

Esercitazione

Forniamo un tutorial per illustrare l'esperienza end-to-end dell'esecuzione dell'applicazione ACME Fitness Store su Azure Container Apps. Per altre informazioni, vedere acme-fitness-store/azure-container-apps. Questa esercitazione offre indicazioni pratiche che consentono di ottenere rapidamente informazioni pratiche e fiducia nella distribuzione e nella gestione di applicazioni in contenitori nella piattaforma.