Creare applicazioni distribuite con Azure Container Apps e Dapr

di Cristian Civera,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi