Magazine

Cloud native, perché non è solo una moda

22/02/2023
Cloud native, perché non è solo una moda
Enterprise
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