Un'applicazione performante è sicuramente una delle chiavi del successo per il proprio business, rispondere alle esigenze dei clienti in tempi brevi è un elemento fondamentale per la fidelizzazione.

Tuttavia il mercato delle applicazioni si evolve rapidamente. Anche se si ha a disposizione codice scritto nel migliore dei modi ed un team che si occupa della sua manutenzione, presto o tardi i creatori di una determinata App dovranno chiedersi: come tenersi al passo con i tempi e con le ultime tecnologie? Come si può realizzare un sistema che garantisca sempre prestazioni ottimali considerando l'invecchiamento del sistema? Come progettare un meccanismo di backup efficace? Come valutare se il sistema di identificazione dei bug utilizzato è efficace?

Per ovviare a questi problemi di sviluppo e mantenimento del software sono nati i container; tale sistema è ormai diffusissimo, grazie anche all'applicazione del cloud computing in sempre in più settori, è sta avendo un successo sempre più ampio. I container implementando la logica dei microservices essendo composti da una serie di blocchi autosufficienti e isolati che risultano molto più semplici da esaminare e da ottimizzare; inoltre le dipendenze software sono sempre ben definite e con questa struttura è molto semplice testare l'applicazione ed identificare i problemi.

Senza contare che essendo eseguiti all'interno di sandbox risultano molto più sicuri sia in caso di attacchi esterni che in caso di crash dell'applicazione stessa. Inoltre l'App dentro un container può girare sulla stessa macchina assieme ad altre App senza incidere sulle performance in modo netto. Queste feature hanno decretato il successo di alternativa come Docker o Apache Mesos.

Con il sistema dei container le applicazioni diventano portabili e facili da avviare su macchine anche molto diverse, senza perdere mesi per adattare il codice. Tutte le distribuzioni Linux supportano la tecnologia dei container e anche gli altri OS possono ospitare vari sistemi di container senza problemi, ad esempio facendo girare un'applicazione creata inizialmente per ambienti Linux anche su Windows.

Sharma accenna anche al prossimo step evolutivo dei container, ovvero un sistema chiamato Function as a Service (FaaS), anche detto "serverless" architecture. Con questa tecnica di sviluppo è possibile scrivere e far funzionare delle "application functionalitie" senza la necessità di dover gestire direttamente le risorse del sistema in uso. In questo contesto si verranno a creare dei short-lived container che termineranno i loro task molto più rapidamente di come fanno adesso i normali container, senza però impattare in modo massiccio sulle performance.

Via Garima V Sharma

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *