Applicazioni tradizionali e moderne? Il concetto di adaptive application secondo Kara Sprague, Executive VP and General Manager, BIG-IP di F5.
Applicazioni tradizionali o applicazioni adattative? Da alcuni mesi abbiamo introdotto un nuovo concetto, quello delle adaptive application. Ovvero applicazioni che si comportano più come organismi viventi che come codice in bit. Queste applicazioni sono dotate di tecnologie per la sicurezza e la delivery delle app in grado di proteggerle e presidiare tutti i punti di vulnerabilità. Ed espandere e contrarre le risorse in base alle esigenze di performance, rilevare i problemi e occuparsene in modo proattivo.
Dare vita a questa visione significa però affrontare molte sfide che riguardano sia le applicazioni moderne, progettate come servizi distribuiti in cloud o container-native e che interagiscono tramite API, sia quelle tradizionali, che possiedono ancora un’architettura monolitica, client-server o a tre livelli.
adaptive application F5
Le applicazioni tradizionali sono ancora l’architettura applicativa di riferimento della maggior parte delle organizzazioni
Come conferma una nostra ricerca, il 97% delle organizzazioni aziendali gestisce applicazioni tradizionali. Il 76% ha affiancato a esse anche applicazioni moderne. Ciò significa che il 21% delle organizzazioni continua ad affidarsi esclusivamente alle applicazioni tradizionali. Sviluppate nel corso degli ultimi decenni per soddisfare le principali esigenze del business, le applicazioni tradizionali sono tipicamente in grado di abilitare tutti i processi mission-critical all’interno delle organizzazioni. Come, ad esempio, i sistemi di elaborazione dei mutui, i motori di elaborazione dei pagamenti, le cartelle cliniche elettroniche degli ospedali, le piattaforme Software-as-a-Service (SaaS) di prima generazione, i sistemi di gestione dell’inventario o le reti mobile 3G e 4G dei service provider. Oltre al ruolo mission-critical che svolgono e ai rischi che ne derivano in termini di interruzioni di business se smettono di funzionare, le applicazioni tradizionali sono anche generalmente difficili e costose da modificare e refrattarie al cambiamento.
La realtà è che, oggi, molti front-end applicativi responsabili della gestione dell’interazione con il cliente finale, sono comunemente progettati utilizzando architetture moderne. Quando però devono attingere ai dati, molo spesso interagiscono con back-end monolitici erogati su architetture tradizionali. La maggior parte delle esperienze digitali di oggi derivano, quindi, da un mix di vecchie applicazioni, che servono come sistemi di archiviazione e gestione dei dati, e applicazioni moderne, che forniscono sistemi di engagement.
adaptive application F5
Questa logica applicativa, tradizionale e moderna insieme, è sempre più distribuita tra il data center on-premises, il cloud pubblico e l’edge. E tutti questi sistemi contribuiscono a fornire la visione d’insieme sul dispositivo o sul browser dell’utente finale, dando vita a un’unica esperienza digitale. Tra le maggiori opportunità che le applicazioni adattive potranno riservarci vi è proprio la possibilità di adattare le applicazioni tradizionali e semplificare la loro sicurezza e delivery per le implementazioni ibride e multi-cloud.
Perché le applicazioni tradizionali sono più fragili
Una delle fragilità più evidenti che presenta una app tradizionale è legata al suo sviluppo che può essere avvenuto utilizzando linguaggi di programmazione che non sono più così noti come in passato, come ad esempio Fortran o COBOL. Anche quando utilizza un linguaggio più contemporaneo, le competenze e le persone che hanno scritto quella particolare applicazione potrebbero essere andate in pensione o avere cambiato lavoro, rendendo difficile trovare ancora esperti in quell’ambito capaci di metterci mano.
adaptive application F5
Un ulteriore fattore di fragilità è legato ai cambiamenti nel tempo dei modelli di traffico delle app. Le richieste che arrivano all’applicazione, la frequenza, i protocolli e la natura stessa del pacchetto stanno cambiando. E anche tutti gli elementi dell’infrastruttura che circondano l’applicazione, come lo switching e il routing di rete, la tecnologia di calcolo o l’hypervisor, si modificano negli anni.
Ad accrescere tale fragilità contribuiscono anche le vulnerabilità e i rischi per la sicurezza; negli ultimi due anni abbiamo assistito a un aumento del 300% degli attacchi rivolto contro le applicazioni, e le applicazioni più vecchie, con punti di ingresso e vulnerabilità ben noti, possono rappresentare dei facili bersagli per gli hacker di oggi, sempre più preparati.
Qualsiasi problema di fragilità potrebbe far sì che l’applicazione non funzioni in modo ottimale o smetta di funzionare del tutto, dimostrandosi fragile. Se l’applicazione sta ancora facendo qualcosa di critico per il business, non può essere semplicemente abbandonata, e in molti casi cercare di curarla è come effettuare un’operazione “a cuore aperto” o, semplicemente, non conviene.
adaptive application F5
Servizi costruiti intorno all’applicazione tradizionale per ottimizzare le prestazioni
Per proteggere una vecchia applicazione e ottimizzarne il più possibile le performance è necessario dotarla di una “corazza” flessibile, ovvero di un’architettura che sfrutti tecnologie di sicurezza e delivery delle app in grado di risolvere i problemi nell’applicazione stessa. Tale corazza dovrebbe includere una sicurezza delle app ai massimi livelli, con supporto di policy e di servizi che siano coerenti in tutti gli ambienti: quest’ultimo aspetto è fondamentale quando le aziende spostano le applicazioni tradizionali in un cloud pubblico, o in ambienti multi-cloud o hybrid-cloud.
Circondare le app tradizionali con una tale tecnologia di sicurezza e delivery consente di offrire un livello di protezione estremamente prezioso proprio perché altamente flessibile. Una flessibilità che comprende la semplicità di programmazione e configurazione e permette di gestire il traffico e le policy per impedire che certi flussi di traffico arrivino all’applicazione stessa. Può anche eseguire funzioni aggiuntive, dal bilanciamento del carico alla traduzione del protocollo (per esempio da HTTP/2 a HTTP/1.1) e integrare funzionalità di sicurezza come il firewalling delle applicazioni, la protezione dai DDoS e la mitigazione dei bot.
adaptive application F5
Per raggiungere la massima efficienza operativa, le organizzazioni dovrebbero pensare alle tecnologie per la sicurezza e la delivery delle app come ad una suite capace di guidare la coerenza tra on-premises e cloud pubblico. Adottare tale approccio “best-of-suite” sarà ancora più importante per le prestazioni delle app, soprattutto in presenza di una sempre maggiore quantità di traffico criptato. Infatti, se si separano le funzionalità di sicurezza o delivery di un certo numero di dispositivi virtuali o fisici lungo il percorso dei dati dell’applicazione, lungo tale percorso ogni dispositivo si troverà a dover decifrare il traffico, applicare qualche funzione ad esso e poi criptarlo nuovamente, un processo decisamente poco efficiente.
Standardizzare e consolidare le funzioni di sicurezza e delivery delle app è in realtà l’unica soluzione possibile non solo dal punto di vista economico ma anche prestazionale.
adaptive application F5
Quando si tratta di eseguire le applicazioni tradizionali nel modo più efficace ed efficiente, un elemento che si sta rivelando sempre più imprescindibile è l’automazione.
Automatizzare la sicurezza delle applicazioni e le funzioni di delivery che circondano le applicazioni tradizionali è di fatto un ottimo modo per ridurre il costo operativo e può essere fatto semplicemente attraverso API dichiarative che possiedono soluzioni per la gestione centralizzata del versioning e del deploying delle app, come il nostro BIG-IQ.
In sintesi, per proteggere la fragilità delle applicazioni tradizionali è fondamentale non lasciare che le tecnologie per la sicurezza e la delivery di tali app diventino tanto fragili quanto l’applicazione tradizionale stessa. Ritengo che, ancora per molti anni, le app tradizionali continueranno a giocare un ruolo critico nel portafoglio di applicazioni della maggior parte delle organizzazioni. Le giuste tecnologie di sicurezza e delivery delle app verranno loro incontro per garantire che queste applicazioni continuino a funzionare, migliorandone anche l’efficienza operativa. Penso a tecnologie in grado di funzionare in modo coerente tra ambienti on-premises e cloud pubblici ed essere altamente programmabili e configurabili per fornire la massima flessibilità possibile. Per riuscire nel loro scopo dovranno includere sempre più capacità di sicurezza avanzate e proteggere le applicazioni mission-critical anche dagli attacchi più sofisticati.