Per comprendere il
potenziale del cloud è sufficiente pensare alle varie declinazioni che di questo si sono sviluppate nel corso degli anni, dallo scenario del
private passando per il
pubblico e l'
ibrido. L'ultimo trend che riguarda la tecnologia sulla nuvola è il “native”.
Per
Cloud Native si intende una serie di strumenti che permettono di creare
sistemi resilienti e
monitorabili. Nella pratica, il Cloud Native è un'architettura che
mette insieme varie componenti del cloud per trarre da questo un beneficio maggiore.
Per questo, le architetture Cloud Native sono costituite da elementi quali i microservizi, la cointanerizzazione, il DevOps, l’automazione e l’orchestrazione.
Il
Cloud Native è un approccio moderno alla creazione e all'esecuzione di applicazioni software che sfrutta la
flessibilità, la
scalabilità e la
resilienza del cloud computing.
Questa particolare metodologia, che si appresta a divenire un must per lo sviluppo di progetti nel corso del 2022 (come in parte è già), parte dalle sperimentazioni effettuate da società comunemente definite “cloud native”, come quelle per lo streaming multimediale o la prenotazione di appartamenti e case vacanza. Da allora, il Cloud Native è stato adottato da altre aziende alla ricerca di un'
agilità digitale simile e di un
vantaggio competitivo dirompente.
Ci sono diversi livelli da considerare per il cloud native. Il primo è la
definizione e
sviluppo dell'applicazione.
All’interno dello stack nativo del cloud ci si concentra sugli strumenti utilizzati dagli sviluppatori per creare applicazioni, come database, sistemi di messaggistica, container e pipeline di integrazione e distribuzione continua (CI/CD).
Poi il livello di
fornitura o di
provisioning, che include tutto ciò che è necessario per creare e proteggere l'ambiente in cui verrà eseguita un'applicazione, idealmente in modo ripetibile.
Il livello di
esecuzione o runtime riguarda tutto ciò che è associato all'esecuzione di un'applicazione nativa del cloud, nonché l'archiviazione e il networking. Il livello di
orchestrazione e gestione riunisce invece gli strumenti necessari per distribuire, gestire e ridimensionare le applicazioni containerizzate, tra cui l'orchestrazione e la pianificazione, oltre a rilevamento dei servizi, proxy, gateway API e mesh. 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 anche di riunire il proprio stack in una piattaforma di sviluppo interna o di acquistare un servizio PaaS da un fornitore, per facilitare l'adozione da parte degli sviluppatori.
Su cosa si basa
Lo sviluppo di applicazioni cloud-native richiede un'architettura molto diversa rispetto alle tradizionali applicazioni aziendali, che in genere vengono eseguite in un data center locale.
Le app locali scritte per essere eseguite sui server aziendali tendono a essere formulate nei linguaggi tradizionali, come C/C++, C# e Java. È più probabile che
le app native del cloud vengano scritte in un
linguaggio incentrato sul Web, come HTML, CSS, Java, JavaScript, .NET, Go , Node.js , PHP, Python e Ruby.
Le app cloud-native sono progettate per essere altamente
disponibili, resilienti e
aggiornabili regolarmente, mentre le applicazioni locali vengono in genere aggiornate una o due volte l'anno, utilizzando una metodologia a cascata.
L'aggiornamento di progetti Cloud Native permette di
aumentare la produttività dei team, così che possano fornire nuove funzionalità ai clienti, in maniera più frequente.
Inoltre, il Cloud Native in genere sfrutta l'
elasticità del cloud ottimizzando il
consumo in base alla domanda, mentre un'applicazione locale richiederebbe una sorta di provisioning fisico di un'infrastruttura aggiuntiva per una scalabilità efficace.
Ciò ha anche
implicazioni sui costi, in quanto il cloud
consente di pagare per ciò che si usa, evitando di spendere risorse aggiuntive.
Infine, un'app cloud-native non ha problemi a lavorare in uno
spazio virtualizzato e a condividere risorse con altre applicazioni utilizzando un
modello multitenant.
Questo porta un chiaro aumento di
efficienza ai team di sviluppo.
Sfida da vincere
Trasformare applicazioni cloud in un formato “native”, orientarsi verso un modello di sicurezza incentrato sul cloud, cambiare la forma mentis e la cultura dei reparti aziendali che si occupano di sviluppo sono tutte sfide chiave che le organizzazioni che cercano di diventare Cloud Native devono affrontare.
Il modello è un
nuovo principio organizzativo, che richiede un significativo spostamento dalle tradizionali distribuzioni a cascata a
principi di sviluppo più agili, che integrino collaborazione con DevOps, spinta ai microservizi, elasticità e monitoraggio delle performance, per sfruttare al meglio ciò che la tecnologia sulla nuvola rende oggi possibile.
Scopri le soluzioni cloud firmate Aruba Enterprise