Per avere successo in un mondo digital che corre velocemente, le aziende devono approcciare modelli di business sempre più
software-driven, cambiando così il modo in cui progettano, creano e utilizzano le applicazioni per uno sviluppo sempre più rapido ed efficiente. Il cloud native può rispondere a tale esigenza.
Il cloud native rappresenta un modo diverso di produrre e fruire le app, basato su tecniche note al cloud computing. Le applicazioni native del cloud sono una
raccolta di servizi che potremmo definire
“piccoli” e
indipendenti, pensati per offrire più valore rispetto alle app tradizionali, anche grazie alla capacità di incorporare rapidamente i feedback degli utenti per un
miglioramento continuo. In breve, lo sviluppo di app native per il cloud è un modo per velocizzare il modo in cui si creano nuove applicazioni, si ottimizzano le esistenti e si collegano tra loro con un grosso impatto sul
time to market. L’obiettivo, infatti, è offrire le app, di cui gli utenti necessitano, ad un ritmo più veloce, fortemente dipendente dalla “nuova vita digitale”. Infine, se un'app è "cloud native" vuol dire che è specificamente progettata per
fornire uno sviluppo coerente e
un'esperienza di gestione automatizzata tra cloud privati, pubblici e ibridi.
I vantaggi
L'approccio cloud native alla creazione e all'esecuzione di applicazioni è stato sperimentato da un gruppo di aziende che hanno fatto del cloud la loro fortuna. Parliamo dei giganti dello streaming come Netflix e Spotify, oppure di Uber o della piattaforma di prenotazione di alloggi Airbnb che di fatto hanno rappresentato il punto di svolta. A partire da questi l'approccio cloud native è stato adottato da altre aziende alla ricerca di un'
agilità digitale simile e di un certo
vantaggio competitivo. Tuttavia la
Cloud Native Computing Foundation (CNCF) definisce il cloud native in modo un po' più restrittivo, concentrandosi sulla
containerizzazione delle applicazioni, ovvero il modo in cui queste vengono suddivise in
microservizi e impacchettate in contenitori da distribuire e orchestrare su una varietà di server: "le tecnologie cloud native consentono alle organizzazioni di creare ed eseguire applicazioni scalabili in ambienti moderni e dinamici come cloud pubblici, privati e ibridi ".
Lo sviluppo di
app native del cloud in genere include:
- l'unione di microservizi;
- piattaforme cloud;
- l’utilizzo di container per snellire lo sviluppo applicativo e orchestrare i carichi di lavoro in modo scalabile;
- la piattaforma Kubernetes;
- API dichiarative e tecnologia di distribuzione continua;
- tecniche di DevOps e Agile per un approccio collaborativo.
Le organizzazioni adottano il cloud computing per
aumentare la scalabilità e la
disponibilità delle app. Questi vantaggi si ottengono attraverso il
provisioning self-service e su richiesta delle risorse, nonché automatizzando il ciclo di vita dell'applicazione dallo sviluppo alla produzione. Ma per sfruttare appieno questi vantaggi, è necessaria una nuova forma di sviluppo delle applicazioni. Lo sviluppo cloud native è proprio questo: un
approccio alla creazione e all'aggiornamento rapido delle app, migliorando al contempo la
qualità e
riducendo i rischi. Più specificamente, è un modo per
creare ed eseguire app reattive, scalabili e
tolleranti ai guasti ovunque, in cloud pubblici, privati o ibridi.
Nella pratica, il
cloud native si riferisce meno a dove risiede un'applicazione e più a come viene creata e distribuita. Un'applicazione nativa del cloud è costituita da componenti noti come microservizi, progettati per integrarsi in qualsiasi ambiente cloud. Questi
microservizi fungono da
elementi costitutivi e sono spesso
impacchettati in contenitori. I microservizi lavorano insieme per far funzionare un'applicazione, ma ognuno può essere ridimensionato in modo indipendente, continuamente migliorato e iterato rapidamente, attraverso processi di automazione e orchestrazione. La flessibilità di ogni microservizio si aggiunge all'agilità e al miglioramento continuo delle applicazioni native del cloud.
I quattro livelli di riferimento del cloud native
Esistono
quattro livelli di riferimento del cloud native che è importante conoscere. Il primo si riferisce alla definizione dell'applicazione e al livello di sviluppo. Il
livello superiore dello stack cloud native si concentra sugli strumenti utilizzati dagli sviluppatori per creare applicazioni, come database, sistemi di messaggistica, immagini di container e pipeline di integrazione e distribuzione continua (CI/CD). Poi il
livello di approvvigionamento, che include tutto ciò che è necessario per creare e proteggere l'ambiente in cui verrà eseguita un'applicazione, idealmente in modo ripetibile.
Nel
mondo nativo del cloud, questo in genere comporta il trattamento dell'infrastruttura come codice, l'archiviazione delle immagini in un repository, l'automazione delle build e la gestione delle esigenze di sicurezza delle applicazioni con la scansione delle vulnerabilità, la gestione delle chiavi e delle policy e gli strumenti di autenticazione. Il
livello di runtime riguarda tutto ciò che è associato all'esecuzione di un'applicazione nativa del cloud, nonché l'archiviazione e il networking. Infine, il
livello di orchestrazione e
gestione, che riunisce gli strumenti necessari per distribuire, gestire e ridimensionare le applicazioni containerizzate. Al di fuori di questi livelli è importante implementare
pratiche di osservabilità, in modo che tutti questi servizi siano monitorati in modo efficace. Alcune organizzazioni scelgono di riunire il proprio stack in una piattaforma di sviluppo interna self-service o di acquistare una piattaforma in PaaS per facilitare l'adozione per gli sviluppatori.
Scopri l’offerta Aruba Enterprise per il cloud native