Abbiamo visto nei numerosi script sull'argomento, come Azure Container App sia in continuo fermento e sviluppo, poiché semplifica enormemente la distribuzione di applicativi basati su container e servizi, senza la necessità di amministrare un cluster Kubernetes, ma beneficiando di esso dietro le quinte. Uno dei vantaggi di questa infrastruttura è il service discovery, cioè la possibilità di creare n app ognuna delle quali raggiungibile tramite l'indirizzo [miaApp].azurecontainerapps.io. In base al numero di istanze e al sistema di tracciamento di salute dei container, quando effettuiamo la chiamata ad un servizio, questa viene automaticamente indirizzata alla specifica istanza, in maniera del tutto trasparente.
Le chiamate HTTP, però, possono fallire per svariati motivi e in molti casi per un problema temporaneo che si risolve nel brevissimo tempo. Può verificarsi per un problema di rete o per un problema applicativo, ma in ogni caso il chiamante si deve preoccupare di implementare le logiche di gestione degli errori e di eventuali nuovi tentativi. Azure Container App ci viene in aiuto anche per risolvere questo problema, permettendoci di impostare delle policy di resiliency automatiche da applicare ad un'app quando essa riceve una chiamata da qualcun altro, poiché è lei che conosce al meglio che tipo di errori si possono verificare e in quali termini implementare nuovi tentativi.
E' sufficiente andare nell'app in questione ed aprire la sezione Resiliency per trovare una serie di spunte che possiamo abilitare, configurando i vari aspetti di ogni policy.

Possiamo indicare come gestire gli errori HTTP, il tempo massimo di invocazione, attivare il circuit breaker o indicare quante connessioni HTTP mantenere attive o in coda. Tutto questo viene subito applicato in maniera del tutto trasparente al chiamante che può, a questo punto, evitare di implementare le medesime logiche.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Proteggere le risorse Azure con private link e private endpoints
Referenziare un @layer più alto in CSS
Scrivere selettori CSS più semplici ed efficienti con :is()
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Eseguire i worklow di GitHub su runner potenziati
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Generare un hash con SHA-3 in .NET
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Creare un webhook in Azure DevOps
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Migliorare la sicurezza dei prompt con Azure AI Studio
Simulare Azure Cosmos DB in locale con Docker