Le architetture a Microservizi nella Cloudizzazione delle infrastrutture

Breve introduzione alla cloudizzazione delle applicazioni a microservizi con alcune considerazioni su pro e contro

Introduzione

Sempre più società di tutte le dimensioni chiedono architetture a microservizi che
devono essere resilienti e scalabili.
In questo contesto il cloud computing sta offrendo una soluzione a queste esigenze che comporta una serie di vantaggi in tal senso.

Innanzitutto il cloud computing è un concetto già esistente dagli anni ’60, ma che è diventato popolare solamente nelle ultime due decadi. Si intende il fornire risorse di elaborazione, come server, storage, database, ma anche software, “on-demand” attraverso il web, piuttosto averle su un server locale.
Il cloud computing è in rapida crescita e ormai i maggiori player tecnologici offrono piattaforme distribuite in cloud (Google, Amazon, Microsoft..) che hanno la caratteristica di essere flessibili in base alle esigenze di risorse e al budget a
disposizione.


Vantaggi

Basare le proprie architetture a microservizi sul cloud ha diversi vantaggi, vediamoli brevemente qui di seguito.

Ottimizzazione dei costi: Il mantenimento di infrastrutture in-house ha un costo rilevante, non tanto per il costo dell’hardware, ma per tutto il contorno necessario, come il setup, il personale IT per la manutenzione, l’energia…

Facendo il passaggio al Cloud, il costo dell’infrastruttura e della sua manutenzione, nonché degli eventuali upgrade tecnologici è in carico dal fornitore del servizio.

In molti casi, il risparmio sui costi operativi può arrivare anche al 35% rispetto ad una soluzione in-house

Resilienza: Anche per quanto riguarda la resilienza e gli eventuali disaster recovery, la cloudizzazione offre un notevole vantaggio, in quanto i service provider hanno già una notevole esperienza a riguardo e se ne fanno carico, spesso dislocando le infrastrutture di backup in località sparse per il mondo.

Scalabilità: Questo è sicuramente uno dei punti di forza di questa soluzione, in quanto, in caso sia necessario aumentare le risorse fisiche (CPU, RAM..), basta variare il piano scelto col fornitore del servizio, il quale ha ampia disponibilità di risorse.

Sicurezza: La sicurezza è una tematica centrale, soprattutto per quanto riguarda Privacy e GDPR, quali argomenti ad alta sensibilità. Spesso le aziende non riescono a farsi carico delle attività necessarie per mantenere un alto standard di sicurezza. Anche in questo caso l’host del cloud si fa carico di implementare le misure necessarie
e di monitorare eventuali data breach.

Potenziali Svantaggi

Chiaramente esistono anche dei punti di attenzione, e occorre prendere in considerazione con attenzione i passaggi critici del modello cloudizzato.
Vediamo ora quindi brevemente anche quali possono essere i svantaggi nell’utilizzo di
questa soluzione.

Costi: No, non è un errore: sono presenti anche nei potenziali svantaggi. Infatti non sempre è conveniente cloudizzare la propria infrastruttura ad occhi chiusi, va fatta un’accurata analisi e va valutato se e quali parti migrare nel cloud e quali mantenere in-house. Un aspetto molto importante della gestione è il monitoraggio del consumo delle risorse utilizzate. Non basta infatti richiedere al provider una quantità di risorse che, inizialmente, si ritiene sufficiente e poi smettere di preoccuparsene: è essenziale effettuare periodicamente un’analisi delle risorse effettivamente utilizzate dai microservizi. Questo permette innanzitutto di individuare eventuali utilizzi anomali delle risorse, che possono essere sistemati intervenendo lato software. Inoltre consente di valutare se è possibile ridurre le risorse richieste per diminuire i costi del piano concordato col provider.

Dipendenza dalla connessione: L’infrastruttura cloudizzata è dislocata, come si diceva in precedenza, in posti diversi della terra, pertanto è necessario che la connessione ad internet stabile e costante.

Solitamente gli internet provider assicurano il 99.99% di disponibilità della connessione, ma c’è sempre da considerare una piccola percentuale di possibilità dovuta ad eventi imprevedibili.

Controllo limitato: Punto di attenzione in quanto, visto che l’infrastruttura cloud è gestita dal provider e il business potrebbe essere preoccupato di non avere abbastanza controllo sul servizio.

Qui interviene l’EULA (End-User License Agreement) che spiega quali limiti può mettere il provider all’uso del sevizio e cosa si può e cosa non si può fare col servizio stesso.