Home

topics

Controller di distribuzione delle applicazioni

Cos'è un controller di distribuzione delle applicazioni (Application delivery controller, ADC)?
Esplora la soluzione GSLB di IBM Registrati per ricevere gli aggiornamenti cloud
Illustrazione con collage di pittogrammi di ingranaggi, braccio robotico, telefono cellulare

Data di pubblicazione: 22 maggio 2024
Autori: Chrystal R. China, Michael Goodwin

Cos'è un controller di distribuzione delle applicazioni (Application delivery controller, ADC)?

Un Application Delivery Controller (ADC) è un dispositivo di rete utilizzato per ottimizzare la distribuzione delle applicazioni su Internet, in genere nell'ambito di una rete di distribuzione delle applicazioni (ADN).

Un ADC può essere un dispositivo hardware o un programma software ed è generalmente collocato nella "zona demilitarizzata" (DMZ) di una rete aziendale, tra il firewall e uno o più server applicativi. Gli ADC fungono da proxy inversi che ricevono, decrittografano, convalidano e instradano le richieste dei client prima di inviare risposte crittografate all'utente.

Gli ADC aiutano le aziende a modernizzare le applicazioni di rete, ad accelerare le connessioni tra le macchine client e i server web, a semplificare il bilanciamento globale del carico dei server (GSLB) e ad aumentare la disponibilità complessiva delle applicazioni per gli utenti finali.

Miglioramento delle prestazioni e della resilienza delle connessioni "dell'ultimo chilometro"

Scopri come le soluzioni GSLB aiutano i team addetti al bilanciamento del carico a raggiungere una maggiore funzionalità a un costo inferiore.

ADC e bilanciatori di carico

L'evoluzione degli application delivery controller è strettamente legata allo sviluppo di applicazioni web, data center e al più ampio campo della gestione della rete.

Alla fine degli anni '90 e all'inizio degli anni 2000, con la commercializzazione di Internet e l'aumento del traffico web, le aziende avevano bisogno di un modo per garantire che i siti e le app potessero gestire in modo efficiente elevati volumi di traffico applicativo L'ostacolo principale era trovare un modo per distribuire le richieste in arrivo su più server, in modo da garantire alta disponibilità e resilienza di rete.

La prima generazione di dispositivi pensati per superare questo ostacolo era costituita da bilanciatori di carico. Inizialmente erano dispositivi semplici e operavano nel livello di trasporto. Essi si occupavano distribuire il traffico in entrata su diversi server per equilibrarne i carichi e impedirne il sovraccarico.

Tuttavia, man mano che le app e i siti web sono diventati più complessi, i bilanciatori di carico di vecchia generazione sono caduti in disgrazia per la loro incapacità di leggere e prendere decisioni in base al contenuto delle richieste degli utenti (non solo in base agli indirizzi IP e alle porte). Ciò ha condotto gli sviluppatori a congegnare soluzioni di bilanciamento del carico al livello 7, in grado di ispezionare il contenuto dei messaggi al livello applicativo.

I bilanciatori di carico avanzati possono instradare il traffico in base a fattori quali intestazioni HTTP, cookie o persino richieste di pagine specifiche, facilitando strategie di gestione del traffico più sofisticate, come la persistenza della sessione (o "stickiness") e il routing basato sui contenuti. Nel corso del tempo, man mano che gli sviluppatori continuavano ad aggiungere funzionalità, questi bilanciatori di carico sarebbero diventati i controller intelligenti che ora chiamiamo ADC.

Contenuti correlati Iscriviti alla newsletter IBM
Cosa fa un controller di distribuzione delle applicazioni?

I moderni controller di distribuzione delle applicazioni sono componenti vitali di infrastrutture IT resilienti e altamente disponibili, in particolare dei data center di rete. Essi gestiscono il traffico delle app utilizzando una serie di processi e funzionalità complessi, che garantiscono un flusso di dati efficiente e sicuro tra i dispositivi client e i server di backend. Queste funzionalità includono:

Bilanciamento del carico

Una delle funzioni principali di un ADC è distribuire il traffico in entrata su più server (bilanciamento del carico) sulla base di algoritmi che determinano il numero minimo di connessioni, il tempo di andata-ritorno e il tempo di risposta di un server. Se un server è sovraccarico o passa in modalità offline, l'ADC reindirizza il traffico ad altri server per evitare che il server non integro diventi un collo di bottiglia, lasciando inalterate o quasi le prestazioni della rete e l'esperienza utente.

I bilanciatori di carico mantengono anche la persistenza della sessione, assicurando che i dati della sessione di un utente vengano memorizzati nella cache e rimangano sullo stesso server per tutta la durata dell'interazione.

Con il global server load balancing (GSLB), che viene definito il "bilanciamento del carico per i bilanciatori di carico", gli ADC possono distribuire le richieste su più server situati in diverse ubicazioni geografiche in modo che gli utenti vengano automaticamente indirizzati al data center più vicino o con le migliori prestazioni.

Offloading di TLS e SSL

L'elaborazione Transport Layer Security (TLS) e Secure Sockets Layer (SSL) a volte può mettere a dura prova le risorse di un server web. Con l'offload SSL, gli ADC sostituiscono i server di back-end e fungono da endpoint SSL o TLS per gestire la crittografia e la decrittografia, liberando le risorse della CPU per l'elaborazione dei dati delle app e migliorando le prestazioni del server.

Multiplexing del TCP

Gli ADC ottimizzano le connessioni di rete utilizzando processi di multiplexing del TCP, che razionalizzano numerose connessioni TCP lato client (raggruppandole o riutilizzandole) in un numero inferiore di connessioni lato server. Utilizzando una serie di connessioni server persistenti, l'ADC può multiplexare dinamicamente le richieste del client su queste connessioni per ridurre il sovraccarico del server.

Memorizzazione dei contenuti nella cache

Gli ADC possono memorizzare nella cache in un luogo più vicino all'utente i contenuti da lui richiesti più di frequente (come immagini, video e siti web), eliminando la necessità di generarli o recuperarli ripetutamente dai server. Queste prassi di caching possono ridurre significativamente il carico di elaborazione sui server di origine e migliorare i tempi di risposta per gli utenti finali.

Compressione dei contenuti

Gli ADC comprimono i contenuti web (HTML, CSS e JavaScript, ad esempio) prima che vengano inviati al client, riducendo la richiesta di larghezza di banda e accelerandone la distribuzione, soprattutto per gli utenti con connessioni Internet più lente.

Application Security

Gli ADC includono spesso firewall per applicazioni DNS e firewall per applicazioni web (WAF), che proteggono da vulnerabilità di sicurezza comuni come SQL injection, avvelenamento dei cookie, cross-site scripting (XSS) e altri attacchi al livello applicativo, ispezionando il traffico in entrata alla ricerca di pattern maligni e bloccando le richieste potenzialmente dannose.

Gli ADC possono inoltre aiutare a proteggere le app dagli attacchi DDoS (Distributed Denial-of-Service), filtrando il traffico dannoso prima che travolga l'infrastruttura applicativa. Con controlli di accesso specifici per le app, protocolli di limitazione della velocità e funzionalità di gestione dei bot, gli ADC sono fondamentali per creare architetture zero-trust e prevenire abusi e attacchi di rete.

Modellazione del traffico

Gli ADC assegnano priorità al traffico per garantire che le applicazioni critiche ottengano la larghezza di banda di cui hanno bisogno anche durante i momenti di picco, in modo che i dati temporalmente sensibili e mission-critical passino più velocemente attraverso la rete. Utilizzando policy di qualità del servizio (Quality of service, QoS), gli ADC possono anche aiutare a gestire la larghezza di banda e prevenire la congestione della rete.

Autenticazione centralizzata

Gli ADC possono interagire con i servizi di directory (come una active directory on-premise) per controllare l'accesso alle app degli utenti e fornire punti di autenticazione centrali per l'autenticazione dei clienti e la verifica delle autorizzazioni. Inoltre, essi supportano protocolli più recenti come l'autenticazione multifattoriale (MFA) e il single sign-on (SSO) per una maggiore sicurezza della rete.

Gli ADC nei ambienti cloud-native

Il passaggio ad applicazioni cloud-native ha comportato che gli application delivery controller si evolvessero per supportare ambienti containerizzati e architetture di microservizi. Sebbene gli ADC basati su hardware e software siano ancora efficaci sotto molti aspetti, essi sono stati progettati per applicazioni "monolitiche" e spesso faticano a tenere il passo con la natura dinamica delle odierne applicazioni, create appositamente per il cloud.

Per risolvere questo problema, i provider di servizi come Citrix, VMware, Amazon Web Services (AWS), Microsoft Azure e IBM, tra gli altri, hanno sviluppato ADC nativi per il cloud (sotto forma di IaaS, PaaS e SaaS) che offrono agilità , scalabilità e funzionalità di automazione avanzate. Gli ADC moderni sono progettati per integrarsi perfettamente con le API dei provider di cloud e gli strumenti di orchestrazione dei container (come Kubernetes) per offrire funzionalità superiori di rilevamento dei servizi, scalabilità automatica e gestione del traffico.

I casi d’uso per gli ADC

Nonostante la loro origine come bilanciatori di carico, gli application delivery controller si sono costantemente evoluti per soddisfare le esigenze dinamiche delle infrastrutture IT e delle soluzioni di application delivery. Gli ADC odierni sono piattaforme multiuso per la distribuzione di app ed offrono prestazioni, sicurezza e ottimizzazione della distribuzione delle applicazioni in ambienti complessi e multicloud.

Qualsiasi azienda che gestisca una content delivery network (CDN) complessa, distribuita o su larga scala può utilizzare gli ADC per garantire che le applicazioni di rete siano costantemente disponibili e funzionino bene.

Gli ADC possono aiutare le aziende nei seguenti modi:

Global server load balancing

Gli ADC possono reindirizzare il traffico di rete verso i cluster di server posti nei data center. In particolare, possono collaborare con altri ADC per ottimizzare il percorso del traffico lungo Internet, consentendo a ciascun ADC di instradare le richieste verso il centro dati più vicino al cliente e di ridurre al minimo la latenza e il tempo di andata e ritorno.

Gestione delle connessioni

Gli ADC gestiscono client veloci e lenti regolando di conseguenza i timeout e le dimensioni del buffer. I controller possono anche terminare le connessioni per liberare risorse non necessarie e multiplare le connessioni per ottenere una maggiore efficienza di rete.

Monitoraggio dello stato di salute

Gli ADC monitorano continuamente lo stato di salute in tempo reale dei server delle applicazioni, per garantire che il traffico venga instradato solo verso server reattivi e disponibili. Possono eseguire il ping dei server web, tentare di stabilire connessioni TCP ed effettuare richieste a livello di app per verificare che un server stia operando in modo ottimale.

Se un server si guasta o inizia a funzionare in modo non ottimale, l'ADC può reindirizzare il traffico verso altri server, e può persino inizializzare il riavvio del server e altre azioni di ripristino (a patto che sia configurato per farlo).

Supporto multitenancy

I design multitenancy consentono a diversi gruppi all'interno di un'organizzazione(DevOps, marketing e vendite o team di applicazioni specifiche come il servizio clienti, l'inventario e i pagamenti) di condividere la stessa infrastruttura applicativa. Il consolidamento di un maggior numero di servizi su un minor numero di dispositivi, sia virtuali che fisici, aiuta le organizzazioni ad aumentare l'agilità della rete e a ridurre i costi legati all'amministrazione, all'acquisizione e all'assistenza continuativa.

L'ADC nell'edge computing

L'edge computing implica l'elaborazione dei dati vicino alla fonte (ai margini della rete), invece di affidarsi esclusivamente a un data center centrale. Gli ADC distribuiti sul perimetro della rete possono ottimizzare il traffico locale, gestire le policy di sicurezza e di conformità locali e garantire che le app funzionino in modo efficiente, anche in ambienti distribuiti. Ciò è particolarmente utile per le applicazioni e i servizi IoT che richiedono funzionalità di elaborazione in tempo reale.

Integrazione con il software-defined networking (SDN)

Gli ADC si sono evoluti per essere più programmabili e più facilmente integrabili con le architetture SDN, che separano il livello di controllo della rete dal livello dei dati, per consentire una gestione delle risorse più centralizzata e flessibile. Ora, gli ADC possono essere configurati e gestiti dinamicamente con controller software, consentendo risposte più agili alle fluttuazioni del traffico di rete e alle richieste delle app.

Capacità di apprendimento automatico e di intelligenza artificiale

Le tecnologie di intelligenza artificiale e di apprendimento automatico possono aiutare gli ADC a prevedere i modelli di traffico, rilevare potenziali minacce alla sicurezza e automatizzare le attività di gestione della rete, migliorando l'efficienza e riducendo la necessità di intervento umano.

I benefici degli ADC

Gli Application Delivery Controller aiutano le aziende a ottimizzare il routing del traffico e a massimizzare la disponibilità della rete, in particolare per le imprese che gestiscono volumi elevati di traffico web, ospitano applicazioni mission-critical o richiedono elevati livelli di sicurezza dei dati.

Gli ADC offrono alle aziende:

Analytics in tempo reale

Gli ADC raccolgono dati su un'ampia gamma di parametri (come il volume di traffico, lo stato dei server e gli eventi di sicurezza), che aiutano le aziende ad acquisire informazioni dettagliate sulla funzionalità della rete.

Accelerazione delle applicazioni

Gli ADC impiegano una serie di tecniche, come la commutazione dei contenuti, per comprimere, riciclare e memorizzare nella cache i dati e accelerare le app di rete e i siti web.

Miglioramento delle performance applicative

Gli ADC possono espandere automaticamente i servizi applicativi disponibili per garantire un routing del traffico efficiente, in particolare per le reti ad alta latenza e per le reti mobili.

Automatizzazione del disaster recovery

Gli ADC offrono funzionalità di failover, per fare in modo che in caso di guasto a un server un'azienda possa continuare a operare e i suoi utenti sperimentino il minimo ritardo possibile. Gli ADC duplicano e sincronizzano le sessioni utente tra i server in modo che, se un server va offline, le responsabilità di esecuzione possano passare a un duplicato della sessione.

Rafforzamento della sicurezza di rete

Gli ADC costituiscono la prima linea di difesa contro gli attacchi dannosi, dal momento che utilizzano WAF e funzionalità di rilevamento e di prevenzione delle intrusioni per proteggere i dati di rete.

Soluzioni correlate
IBM® NS1 Connect® GSLB

Ottimizza l'esperienza degli utenti finali e migliora la resilienza di rete a un costo inferiore con IBM® NS1 Connect® GSLB, un nuovo approccio basato su DNS e sui dati in tempo reale sulle prestazioni dei dispositivi.

Scopri IBM NS1 Connect GSLB Richiedi una live demo

IBM NS1 Connect Managed DNS

Il servizio IBM NS1 Connect Managed DNS offre connessioni DNS resilienti, veloci e autorevoli per prevenire le interruzioni di rete e mantenere sempre online la tua attività.

Esplora IBM NS1 Connect Managed DNS Richiedi una live demo

IBM Application Performance Management


Collega l'osservabilità full-stack con la gestione automatizzata delle risorse delle applicazioni per affrontare i problemi di prestazioni prima che influiscano sull'esperienza del cliente.

Scopri le soluzioni di gestione delle prestazioni delle app di IBM Prova IBM Turbonomic gratuitamente

Distribuzione delle applicazioni IBM

Consenti ai tuoi team di modernizzare rapidamente le applicazioni esistenti e fornire nuove applicazioni native per il cloud.

Esplora le soluzioni di distribuzione delle app di IBM Leggi un case study sulla modernizzazione

Risorse Che cos'è l'Application Performance Management (APM)?

I software APM aiutano un'organizzazione a garantire che le applicazioni critiche soddisfino le aspettative stabilite in termini di prestazioni, disponibilità ed esperienza del cliente o dell'utente.

IBM utilizza RUM e DNS per fornire un GSLB di qualità

Scopra come disporre di un "bilanciatore di carico per bilanciatori di carico" mantiene il tuo traffico distribuito in modo efficiente e assicura le prestazioni che i tuoi clienti si aspettano.

Che cos'è l'ottimizzazione della rete?

Per ottimizzazione della rete si intende l'insieme di strategie, strumenti, tecniche e best practice impiegato per monitorare, gestire e migliorare le prestazioni e l'affidabilità di una rete.

Che cos'è la sicurezza informatica?

Per sicurezza informatica si intende qualsiasi tecnologia, misura o pratica volta a prevenire attacchi informatici su sistemi, applicazioni, dispositivi di elaborazione, dati sensibili e asset finanziari di individui e organizzazioni, o diretta a mitigarne l'impatto.

Cos'è l'osservabilità?

L'osservabilità è la capacità di comprendere lo stato interno o la condizione di un sistema complesso basandosi unicamente sulla conoscenza dei suoi output esterni.

Cos'è l'hosting di server?

Il server hosting è un servizio IT generalmente offerto da un provider di servizi cloud, e che fornisce l'accesso remoto a server virtuali o fisici off-premise e alle risorse associate dietro pagamento di un abbonamento mensile o una tariffazione a consumo.

Fasi successive

IBM NS1 Connect fornisce connessioni veloci e sicure agli utenti in qualsiasi parte del mondo con DNS premium e gestione del traffico avanzata e personalizzabile. L'architettura API-first sempre attiva di NS1 Connect consente ai team IT di monitorare in modo più efficiente le reti, implementare modifiche e condurre la manutenzione ordinaria.

Esplora NS1 Connect Prenota una demo live