Azure Front Door: panoramica della soluzione

Azure Front Door è un servizio totalmente gestito di load balancing layer 7 (HTTP/HTTPS) che sfrutta l’infrastruttura sulla rete globale Microsoft.

In questo articolo andremo ad elencare le caratteristiche e funzionalità di Azure Front Door. Riporteremo i vantaggi rispetto ad altri servizi di piattaforma di load balancing e alcune considerazioni che potrebbero indirizzarci verso Azure Front Door quale scelta più adatta nell’architettura di rete da implementare.

Deploy

Non essendo legato a nessuna region, Azure Front Door viene implementato a livello globale su tutti i POPs (Point of Presence). Durante il deploy verrà comunque chiesto di specificare un resource group.

Figura 1 - Azure Front Door deploy
Figura 1 – Azure Front Door deploy

Performance e scalabilità

Con opportune regole di routing è possibile indirizzare le richieste dell’utenza finale verso il backend più “vicino” riducendo i tempi di latenza e aumentando la connettività verso il servizio esposto. Tutto questo è possibile tramite il metodo di routing Anycast, che permette di identificare il percorso migliore verso un backend in termini di topologia di rete (numero inferiore di hops), e la tecnica di Split TCP per valutare il round-trip totale nel raggiungere un determinato backend.

Oltre alla latenza, nel calcolo del percorso con “costo inferiore” nella comunicazione verso il backend, è possibile utilizzare le configurazioni previste su Azure Front Door impostando:

  • Priorità: è possible assegnare una priorità differente ai backend definendone uno primario. Questo permetterà di instradare, in modo prioritario, tutto il traffico verso lo stesso backend e solo in caso di failover utilizzare gli altri.
  • Peso: è possibile assegnare pesi differenti ai vari backend in modo da distribuire il traffico in modo uniforme o con regole di peso.
  • Affinità di sessione: è possibile configurare a livello di frontend l’affinità di sessione in modo che tutto il successivo traffico venga diretto sempre verso lo stesso backend.

Alta disponibilità

Azure Front Door utilizza il check sullo stato di salute dei backend per gestire in modo automatico il failover sull’endpoint attivo o con il più basso tempo di latenza.

Essendo un servizio di tipo globale Azure Front Door permette il failover tra region differenti.

Routing basato sulle URL

Con le regole di routing è possibile definire il percorso verso il backend a partire dalla URL richiamata dall’utente finale. E’ possibile creare anche regole di routing complesse utilizzando condizioni di route matching.

Domini gestiti e certificati TLS/SSL

Azure Front Door permette la registrazione di differenti domini/frontend utilizzando degli hostname nel proprio dominio gestito. Occorrerà creare il relativo record CNAME (Alias) e validare la configurazione.

E’ possibile associare al dominio gestito e validato su Azure Front Door il proprio certificato TLS/SSL oppure utilizzare la funzionalità di “certificati gestiti” emessi ed associati direttamente dal servizio di piattaforma. Verrà associato alla URL un certificato rilasciato da Digicert con validità di 1 anno.

Figura 2 - Certificati gestiti
Figura 2 – Certificati gestiti

Sicurezza applicativa

Ad ogni frontend/dominio può essere applicata la propria WAF policy. All’interno della WAF policy vengono definite e centralizzate tutte le rule di sicurezza per controllare e proteggere i propri workload dai più comuni attacchi che sfruttano vulnerabilità note. Le regole presenti sul WAF sono composte da:

  • Regole predefinite e preconfigurate gestite dalla piattaforma Azure.
  • Regole personalizzate.

Per maggiori dettagli sulle regole personalizzate è possibile far riferimento al seguente articolo “Azure Networking – Web Application Firewall Policy”.

Come parte della piattaforma Azure il servizio di Front Door risulta essere protetto dagli attacchi di tipo DDoS gestiti dal piano Basic.

Ridirezione e rewrite URL

Azure Front Door supporta gli scenari di ridirezione della URL da HTTP ad HTTPS per rimanere conformi ai requisiti di sicurezza applicativi richiesti. Gestisce il rewrite della URL tramite un percorso custom o modifica dell’host header utilizzato nella richiesta verso il backend.

Utilizzando la configurazione di rule engine risulta possibile eseguire anche il rewrite della URL nell’ header di richiesta e definire a quale backend inviarla.

Vantaggi

Azure Front Door si differenzia da Azure Application Gateway per le sue caratteristiche e funzionalità di servizio globale rispetto al servizio di load balancing di tipo regionale.

  1. I servizi globali di bilanciamento del carico, ad esempio Azure Traffic Manager e Azure Front Door, distribuiscono il traffico degli utenti finali verso backend cross-region, tra cloud o anche nei servizi ibridi dei datacenter locali. Un servizio di bilanciamento del carico a livello globale instrada il traffico al backend più vicino e reagisce ai cambiamenti di prestazione e affidabilità del servizio per mantenere prestazioni ottimali e alta disponibilità.
  2. I servizi regionali di bilanciamento del carico, ad esempio il Load Balancer Standard o Application Gateway, offrono la possibilità di distribuire il traffico all’interno delle reti virtuali come le Azure IaaS VM o endpoint remoti a patto che siano all’interno della stessa region.

Al seguente articolo è possibile trovare una comparativa tra le caratteristiche di Azure Front Door e Azure Traffic Manager, entrambi servizi di bilanciamento di tipo globale ma con funzionalità differenti.

Riferimenti

Si riportano alcuni riferimenti utili:

Conclusioni

Azure Front Door risulta essere sicuramente la scelta più adeguata nel momento in cui l’architettura di rete Azure prevede un endpoint tra quelli gestiti dal servizio e se i requisiti di progetto richiedono l’implementazione di un servizio globale, con funzionalità come scalabilità ed alta disponibilità a livello cross-region.

Figura 3 - Backend disponibili
Figura 3 – Backend disponibili

La scelta di implementazione dei servizi di piattaforma gestiti di bilanciamento del traffico non dev’essere esclusiva. Nulla vieta di combinare Azure Front Door con Azure Traffic Manager, Azure Application Gateway o Load balancer di tipo Standard. Riportiamo un esempio di architettura Azure in cui in “cascata” vengono attivati anche un Application Gateway e un Load Balancer.

Figura 4 - Esempio di architettura Azure
Figura 4 – Esempio di architettura Azure