Azure Container Services: le novità di febbraio e marzo 2024

Nel mese di febbraio e marzo 2024 sono state annunciate da parte di Microsoft diverse novità riguardanti gli Azure Container Services. Il rilascio di questo riepilogo vuole fornire una panoramica complessiva delle principali novità, in modo da rimanere aggiornati su questi argomenti ed avere i riferimenti necessari per condurre ulteriori approfondimenti. 

Le applicazioni moderne sono sempre più frequentemente basate su microservizi ed i container costituiscono un elemento importante per la creazione di architetture applicative agili, scalabili ed efficienti. Microsoft è uno dei principali provider che consente l’esecuzione di container a livello enterprise nel cloud pubblico. La seguente tabella mostra le diverse tecnologie container, che sono contemplate in questa serie di articoli ed i loro principali casi d’uso: 

Container Service  Principali casi d’uso 
Azure Kubernetes Service (AKS)  Distribuisce e ridimensiona i container su un cluster Kubernetes gestito 
Azure Red Hat OpenShift (ARO)  Distribuisce e ridimensiona i container su un cluster Red Hat OpenShift gestito 
Azure Container Apps  Crea e distribuisce app e microservizi utilizzando container serverless 
Azure Functions  Esegui codice serverless basato su eventi con un’esperienza di sviluppo end-to-end 
Web App for Containers  Esegui app Web containerizzate su Windows e Linux 
Azure Container Instances  Avvia container con isolamento dell’hypervisor 
Azure Service Fabric  Distribuisce e gestisce app sempre attive, scalabili e distribuite 
Azure Container Registry  Crea, archivia, protegge e replica immagini e artefatti dei container 

 

Azure Kubernetes Service (AKS) 

Application Gateway for Containers

Application Gateway for Containers è la fusione di Application Gateway + Application Gateway Ingress Controller.

Fornisce funzionalità di bilanciamento del carico delle applicazioni (layer 7) e di gestione dinamica del traffico per i carichi di lavoro in esecuzione in un cluster Kubernetes garantendo tempi di convergenza quasi real-time per riflettere l’aggiunta/rimozione di pod, rotte, sonde e altre configurazioni di bilanciamento del carico nella configurazione di Kubernetes.

Di seguito le principali nuove feature:

  • Performance: Migliorate le performance migliorando i tempi di convergenza quasi in tempo reale per riflettere l’aggiunta/rimozione di pod, rotte, sonde e altre configurazioni di bilanciamento del carico all’interno della configurazione yaml di Kubernetes.
  • Scalability: Maggiore scalabilità rispetto ad AGIC, superando 1400 pod backend e 100 listeners.
  • Deployment: Distribuzione delle risorse tramite ARM tramite ARM, PowerShell, CLI, Bicep e Terraform oppure usando la configurazione (yaml) all’interno di Kubernetes
  • Weighted / Split traffic distribution: Abilita le strategie di distribuzione blue-green e il routing attivo/attivo o attivo/passivo.
  • Features – Supporto per Custom Health Probes, URL Redirect, URL / Header Rewrite.
  • Controller High Availability – In caso di guasto di un nodo, le modifiche all’interno del cluster continueranno a essere propagate alla rete.
  • Gateway API v1 – Estende all’Application Gateway la modalità di gestione degli accessi basato sui ruoli forniti da Gateway API attraverso interfacce espressive ed estensibili

L’architettura di Application Gateway for Containers è riassunta nella figura seguente:

Maggiori informazioni sono disponibili sulla documentazione ufficiale disponibile qui

Blocchi di Ip statici per Azure CNI [preview]

L’allocazione IP statica a blocchi di Azure Container Network Interface (CNI) per AKS è ora disponibile in anteprima pubblica. Questa funzione ottimizza la scalabilità consentendo l’accesso diretto all’IP del pod tramite gli IP VNet, assegnando IP da una sottorete ai nodi e blocchi CIDR ai pod da un’altra sottorete per una gestione scalabile della rete. Questa nuova funzionalità permette agli AKS basati su Azure CNI di superare il limite di 65 mila pod per garantire la creazione potenzialmente illimitata di pod.

Azure Container Apps

Certificati gestiti gratuiti su Azure Container Apps
Azure Container Apps fornisce ora un certificato gestito gratuito per il custom domain. Questo certificato server TLS/SSL è gestito dalla piattaforma e viene rinnovato automaticamente purchè siano rispettati i seguenti requisiti:

  • L’Azure Container App ha un HTTP ingress abilitato e pubblicamente accessibile.
  • Per i domini apex, è necessario disporre di un record A che punti all’indirizzo IP dell’ambiente Container Apps.
  • Per i sottodomini, è necessario disporre di un record CNAME mappato direttamente sul nome di dominio generato automaticamente dall’app contenitore. La mappatura a un valore CNAME intermedio blocca l’emissione e il rinnovo dei certificati. Esempi di valori CNAME sono i gestori del traffico, Cloudflare e servizi simili.

Applicazioni Tomcat su Azure Container Apps [preview]
Azure Container Apps ora supporta Apache Tomcat nel processo di compilazione code-to-cloud. Ciò significa che è possibile utilizzare il codice e la configurazione esistenti per creare direttamente un’applicazione cloud-native container. Invece di creare manualmente un file Docker e di utilizzare direttamente un container registry, è possibile distribuire l’applicazione Java direttamente da un file di archivio di applicazioni web (WAR). Maggiori informazioni così come un esempio pratico di deploy sono disponibili qui

Azure Monitor for Container

Retina: Network Observability [preview]
Microsoft ha reso disponibile come progetto OpenSource la soluzione che fornisce la Network Observability, attualmente in public preview per AKS. Lo strumento è pensato per colmare un gap nel monitoraggio network di applicazioni basate su microservizi. L’osservabilità della rete è una parte importante per mantenere un cluster Kubernetes , raccogliendo e analizzando i dati sul traffico di rete, è possibile ottenere informazioni sul funzionamento del cluster e identificare potenziali problemi prima che causino interruzioni o degrado delle prestazioni.

L’addon di osservabilità della rete opera sia su data-plane Cilium che Non-Cilium. Conferisce funzionalità per DevOps e SecOps garantendo un modo centralizzato per monitorare i problemi di rete nel cluster per gli amministratori di rete del cluster, gli amministratori di sicurezza del cluster e gli ingegneri DevOps. Quando l’addon di osservabilità della rete è abilitato, consente la raccolta e la conversione di metriche utili nel formato Prometheus, che possono quindi essere visualizzate in Grafana. Ci sono due opzioni disponibili per l’utilizzo di Prometheus e Grafana in questo contesto:

  • Prometheus e Grafana gestiti da Azure
  • Prometheus e Grafana forniti dall’utente.

Prometheus e Grafana gestiti da Azure 

Questa opzione prevede l’utilizzo di un servizio gestito fornito da Azure. Il servizio gestito si occupa dell’infrastruttura e della manutenzione di Prometheus e Grafana, consentendoti di concentrarti sulla configurazione e visualizzazione delle tue metriche. Questa opzione è conveniente se preferisci non gestire l’infrastruttura sottostante. In alternativa, puoi scegliere di configurare le tue istanze di Prometheus e Grafana. In questo caso, sei responsabile della fornitura e della gestione dell’infrastruttura necessaria per eseguire Prometheus e Grafana. Installa e configura Prometheus per raccogliere le metriche generate dall’addon di osservabilità della rete e memorizzarle. Allo stesso modo, Grafana deve essere configurato per connettersi a Prometheus e visualizzare i dati raccolti.

Valutazione di Azure

Per testare e valutare in modo gratuito i servizi offerti da Azure è possibile accedere a questa pagina.