Applicazioni Cloud Native

Cos’è

Le applicazioni Cloud Native sono progettate specificamente per sfruttare le innovazioni nel Cloud Computing. Queste applicazioni si integrano facilmente con le rispettive architetture cloud sfruttandone le risorse e le capacità in termini di scalabilità. La definizione si riferisce anche ad applicazioni che sfruttano le innovazioni in ambito infrastrutturale, introdotte dal Cloud Computing. Con applicazioni Cloud Native oggi si intendono app che vengono eseguite indifferentemente in data center di un provider cloud o su piattaforme Cloud Native on-premise.

Quali problematiche affronta

I tradizionali ambienti on-premise fornivano risorse di calcolo in modo abbastanza specifico. Ogni data center disponeva di servizi caratterizzati dal forte accoppiamento tra applicazioni e il loro ambiente di esecuzione, spesso dipendendo marcatamente dal provisioning manuale dell’infrastruttura, come macchine virtuali e servizi. Questo, a sua volta, vincolava gli sviluppatori e le loro applicazioni a quel data center specifico. Ma le applicazioni non progettate per il cloud non potevano sfruttarne le capacità di resilienza e scalabilità; si pensi, per esempio, alle app che richiedendo un intervento manuale per avviarsi correttamente: esse non possono essere ridimensionate automaticamente, né possono essere riavviate automaticamente in caso di errore.

In che modo aiuta

Sebbene non esista un modello universale per le applicazioni Cloud Native, è possibile identificare alcuni elementi comuni. Le app Cloud Native sono resilienti, gestibili e supportate dall’offerta di servizi cloud che le accompagna. Quest’ultima consente un elevato grado di osservabilità che permette agli utenti di rilevare e risolvere i problemi prima che questi si intensifichino. In combinazione con una solida automazione, le applicazioni Cloud Native consentono agli ingegneri di apportare modifiche ad alto impatto frequentemente e in modo prevedibile, con il minimo sforzo.