Azure Container Apps è una piattaforma di cloud computing di Microsoft che consente di creare, distribuire e gestire applicazioni in container. Utilizza Kubernetes in maniera trasparente ed offre una gestione semplificata delle operazioni. Con Azure Container Apps, non è necessario preoccuparsi della configurazione e della gestione dei nodi di Kubernetes, poiché la piattaforma di Microsoft gestisce queste attività per conto dell'utente. Ciò significa che gli sviluppatori possono concentrarsi sulla creazione e il deploy delle loro app, senza doversi preoccupare delle complessità tecniche di Kubernetes.
Tra i motivi che ci spingono ad utilizzare i container ci possono essere anche la necessità di astrarre dal fornitore di cloud senza doverci preoccupare di utilizzare SDK per ogni database, coda o servizio specifico. Viene in auto Dapr, un runtime open-source che aiuta a semplificare lo sviluppo di microservizi e applicazioni distribuite. Fornisce una serie di componenti predefiniti per facilitare la gestione delle attività comuni, come la gestione dei messaggi, dei dati e della scalabilità, che sono spesso complesse quando si lavora con applicazioni distribuite. Questo significa che è possibile utilizzare le stesse componenti e funzionalità su più cloud, rendendo più semplice la transizione da un cloud all'altro o la distribuzione su più cloud.
Possiamo sfruttare Dapr all'interno di Azure Container Apps con poco sforzo, senza rincorrere file yaml di configurazione. Prima di tutto dobbiamo andare nell'environment ed accedere alla sezione Dapr components. Qua troviamo centralizzati tutti i componenti che vogliamo sfruttare, dal database fino alle code. Premendo Add possiamo indicare e configurare uno o più componenti, come nel caso seguendo dove configuriamo Cosmos DB.
Troviamo la documentazione sui nomi e sui metadati direttamente sul sito https://docs.dapr.io/reference/components-reference/. Queste informazioni non dipendono da Container Apps ma Dapr stesso. Salviamo e ci ritroviamo con tutti i componenti configurati a livello dell'intero ambiente.
A questo punto non ci resta che andare nelle app dove vogliamo usufruire dei componenti. Nella sezione Dapr troviamo la possibilità di abilitarlo e di impostare alcune configurazioni, tra cui un identificativo univoco, il tipo di protocollo e il tipo di logging da effettuare.
Scegliere il protocollo dipende da noi e da come ci mettiamo in ascolto sugli eventi, come quelli forniti dalle code. In generale, usare GRPC ci permette di essere più veloci.
A questo punto rimane un ultimo passaggio da effettuare. Abilitare il componente all'app, perché vanno indicati in maniera puntuale gli scope. Infatti, a seconda dell'app possiamo usare provider differenti oppure limitare la visibilità solo da alcuni. Torniamo quindi sull'environment, andiamo in modifica sul componente e indichiamo nella sezione scope la visibilità alla nostra app.
Non ci resta che avviare la nostra app e se abbiamo utilizzato nomi e SDK nella maniera corretta, potremo dialogare con i componenti. In caso di problemi, consigliamo di consultare il log, il quale riporta ogni problematica di comunicazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare l'ultima versione di una release di GitHub
Gestione dei nomi con le regole @layer in CSS
Migrare una service connection a workload identity federation in Azure DevOps
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Gestire il colore CSS con HWB
Generare la software bill of material (SBOM) in GitHub
Usare le collection expression per inizializzare una lista di oggetti in C#
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Eseguire operazioni sui blob con Azure Storage Actions
Filtering sulle colonne in una QuickGrid di Blazor
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare un service principal per accedere a Azure Container Registry