Che cosa significa Application Delivery Controller? Più note con l’acronimo ADC, sono appliance di rete che servono a migliorare le prestazioni, la sicurezza e la resilienza delle applicazioni distribuite attraverso il web.
Perché sono indispensabili al business? La risposta è semplice: perché il mondo della programmazione è profondamente cambiato. Le applicazioni oggi risiedono sul data center, sul cloud e negli ambienti di sviluppo conformati ai nuovi trend del DevOps. Rispetto al passato, non esiste più una casa del software in cui i programmi venivano pensati, testati e rilasciati a una ridotta schiera di OEM e terze parti selezionate.
L’evoluzione associata alle tecnologie mobile, al cloud, alle soluzioni software-defined e alla Internet of Things hanno contribuito a veicolare la produttività individuale e aziendale su un uso costante del Web che ha spinto i programmatori non solo a lavorare a ciclo continuo ma a farlo attraverso ecosistemi di sviluppo sempre più ibridi.
Application delivery controller (ADC) come abilitatore del business
La diversificazione delle esigenze del mercato e una domanda crescente di soluzioni sempre più personalizzate in funzione delle abitudini e dei dispositivi utilizzati (smartphone e tablet in testa) ha abituato le persone e le aziende alle pratiche del Software As a Service e di una app economy che a domanda precisa offre una risposta precisa. Tutto questo ha avuto un forte impatto sullo sviluppo applicativo, portando a un’accelerazione incrementale dei tempi di produzione e di rilascio, con un proliferare di soluzioni, diversificate per target e funzionalità.
Gli sviluppatori si sono specializzati su più linguaggi e su più orizzonti: firmware, software di base, driver e un’infinità di programmi applicativi, da quelli per la produttività individuale ai videogiochi, dai browser al client di posta, dai player audio/video alle applicazioni di messaging e di chat, dai programmi batch od on line a supporto della sicurezza a quelli per il funzionamento automatico o supportato dall’automazione di procedure per il monitoraggio e il controllo di macchinari e/o dispositivi elettronici. Erp, driver, middleware, interpreti, librerie, sistemi di content management, sistemi operativi, antivirus, compilatori, browser… la lista di programmi che ogni azienda deve poter governare impone una nuova organizzazione, capace di inventariare, aggiornare, manutenere, il tutto con una capacità di presidio e un efficienza di rilascio a prova di business.
Non solo: l’interazione tra i programmi ha portato a capitalizzare una parte dello sviluppo in un’ottica di collaborazione interfunzionale a valore aggiunto. Governare la quantità di applicazioni in gioco è una sfida impossibile. Come garantire prestazioni e sicurezza? La risposta più funzionale sono gli Application Delivery Controller.
Come funziona un ADC e quali sono i vantaggi
Ampiamente impiegati come strumento chiave in azienda, gli ADC aiutano le applicazioni ad adattarsi alle reti e ai protocolli utilizzati, assicurando che qualsiasi applicazione (fisica, virtuale, multi-tenant o containerizzata) non solo mantenga prestazioni ottimali ma sia anche sempre disponibile, garantendo la continuità operativa dell’utente o del business. A differenza di un normale bilanciatore di carico, un ADC è caratterizzato da una proattività fondamentale a garantire la qualità del servizio.
Un ADC impiega algoritmi e policy per determinare come viene distribuito il traffico delle applicazioni in entrata. La modalità round robin, che inoltra le richieste dei client ad ogni server a turno, è una forma piuttosto rudimentale di bilanciamento del carico. Questo metodo presuppone che tutti i server siano uguali, senza tenerne in considerazione la salute o la capacità di risposta. Un amministratore può implementare ulteriori policy affinché un ADC verifichi la sussistenza di una serie di criteri prima di determinare a quale server debba essere inviata una richiesta in entrata. In questo modo l’ADC può ispezionare le intestazioni dei pacchetti, rilevando così parole chiave o i tipi di file richiesti, andando a indirizzare la richiesta al server più adeguato e performante, garantendo all’utilizzatore la qualità della software experience e all’azienda la massima continuità operativa per qualsiasi tipo di soluzione software-defined.
Un’unica piattaforma per migliorare la governance applicativa
Ecco 7 motivi per cui un Application Delivery Controller aiuta a fare la differenza:
- Failover: l’impiego di server aggiuntivi nel datacenter o in housing è una tipica strategia di failover. Gli ADC possono contribuire a garantire un’elevata disponibilità delle applicazioni consentendo un failover senza interruzioni. Come? Bilanciando in ottica di ottimizzazione i carichi di lavoro delle applicazioni su un gruppo di server attivi in uno o più siti.
- Monitoraggio: gli ADC sono ampiamente utilizzati anche per le loro capacità di monitoraggio, dal momento che sono in grado di verificare la salute e la funzionalità di un server. In caso di anomalie, l’ADC instraderà il traffico verso un server alternativo, evitando una possibile interruzione.
- Analisi del traffico: un altro plus degli ADC è fornire l’analisi in tempo reale e storica di tutto il traffico degli utenti e della rete, compresi i parametri per i tempi di andata e ritorno, l’utilizzo della banda e la latenza del datacenter e della WAN. Queste informazioni possono supportare il personale dell’help desk, riducendo il tempo necessario a identificare la causa di un problema.
- Crittografia ottimizzata: gli ADC sono in grado di gestire volumi molto elevati di traffico crittografato e non crittografato, gestendo i certificati e decifrando il traffico prima che questo raggiunga il server, assicurando la fluidità dei processi.
- Mobile experience: diversi meccanismi creativi consentono a un ADC di ottimizzare la distribuzione dei contenuti web sulle reti mobile. Disponendo di una certa visibilità dei contenuti distribuiti, infatti, gli ADC possono ottimizzare ulteriormente la distribuzione delle pagine web che contengono immagini di grandi dimensioni convertendo i file GIF nel più efficiente formato PNG. Gli altri componenti di grandi dimensioni di una pagina web includono gli script estesi e i fogli di stile a cascata (CSS), che gli ADC possono comprimere eliminando i caratteri inutili e gli spazi bianchi. Quando sono compressi, i file attraversano la rete ad una velocità molto superiore, per cui i tempi di download sono notevolmente ridotti.
- Autenticazione: gli ADC fungono da porta d’ingresso o gateway naturale per la rete, autenticando ogni utente che tenta di accedere a un’applicazione. Se l’applicazione è basata su SaaS, ad esempio, l’ADC può verificare l’identità di un utente utilizzando un archivio dati di Active Directory in locale che elimina la necessità di memorizzare le credenziali nel cloud. Non solo questo processo è più sicuro, ma migliora anche l’esperienza dell’utente, consentendo l’autenticazione single sign-on per più applicazioni.
- Sicurezza: gli attacchi Distributed Denial-of-Service (DDoS) minano ogni giorno le aziende. Gli hacker, infatti, mirano a sovraccaricare i server e compromettere lo svolgimento delle attività. L’ADC può attuare misure di rate limiting per impedire che le risorse del server interne siano colpite da questi attacchi appositamente progettati. Quando si verifica un aumento insolitamente massiccio delle richieste in entrata, l’ADC può accelerare queste richieste e ridurre al minimo la quantità di larghezza di banda che esse consumano, oppure respingere del tutto la richiesta.