Applicazioni cloud native

Share post

Cosa sono le applicazioni cloud native?

Tempo di lettura: 3 min
Il cloud native è un approccio alla costruzione e all’esecuzione di applicazioni che sfrutta i vantaggi del modello di delivery del cloud computing. Il cloud native riguarda il modo in cui le applicazioni vengono create e distribuite, non dove. Mentre oggi il cloud pubblico ha un impatto sul modo di pensare gli investimenti in infrastrutture praticamente per ogni settore, un modello di distribuzione simile al cloud non è esclusivo degli ambienti pubblici.

È appropriato sia per il cloud pubblico che per quello privato. La cosa più importante è la capacità di offrire una potenza di calcolo quasi illimitata, on-demand, insieme ai moderni servizi di dati e applicazioni per gli sviluppatori. Quando le aziende costruiscono e gestiscono applicazioni in modo cloud native, portano nuove idee sul mercato più velocemente e rispondono prima alle richieste dei clienti.

Le organizzazioni richiedono una piattaforma per la costruzione e la gestione di applicazioni e servizi cloud native che automatizzi e integri i concetti di:

  • DevOps
  • continuous delivery
  • microservizi
  • container

DevOps

DevOps è la collaborazione tra gli sviluppatori di software e l’IT operation; l’obiettivo è di fornire costantemente software di alta qualità che risolva le sfide dei clienti. Ha il potenziale per creare una cultura e un ambiente in cui la costruzione, il test e il rilascio del software avvengono rapidamente, frequentemente e in modo più coerente.

Continuous delivery

La continuous delivery, abilitata dalle pratiche di sviluppo dei prodotti Agile, consiste nel deploy costante di piccole parti di software in produzione, attraverso l’automazione. La continuous delivery rende l’atto del rilascio noioso e affidabile, in modo che le organizzazioni possano consegnare frequentemente, con meno rischi, e ottenere un feedback più veloce dagli utenti finali.

Microservices

Microservices è un approccio architetturale allo sviluppo di un’applicazione come una raccolta di piccoli servizi; ogni servizio implementa le capacità aziendali, viene eseguito nel proprio processo e comunica tramite API HTTP o messaggistica. Ogni microservizio può essere implementato, aggiornato, ridimensionato e riavviato indipendentemente da altri servizi dell’applicazione. Tipicamente è parte di un sistema automatizzato, consentendo frequenti aggiornamenti delle applicazioni in tempo reale senza impatto sui clienti finali.

Container

I container offrono sia efficienza che velocità rispetto alle macchine virtuali standard (VM). Utilizzando la virtualizzazione a livello di sistema operativo (OS), una singola istanza del sistema operativo viene dinamicamente suddivisa tra uno o più container isolati; ciascuno di essi con un unico file system scrivibile e una quota di risorse. Il basso overhead di creazione e distruzione dei container, combinato con l’alta densità di packaging in una singola VM, rende i container un veicolo di calcolo ideale per l’implementazione di microservizi individuali.