L’evoluzione verso le soluzioni cloud costituisce una delle più grandi rivoluzioni in ambito IT e sta cambiando completamente il modo di progettare e valutare le infrastrutture in ambito aziendale.

Non è certo una novità che le architetture Infrastructure as a Service (Iaas) per un amministratore di sistema permettano di sfruttare il modello a servizio per consolidare i server, aumentare la disponibilità delle applicazioni aziendali e in molti casi anche diminuire i costi.

Nel passaggio dalla virtualizzazione al cloud, VMware è stata senza dubbio uno dei player di riferimento, grazie anche al vantaggio accumulato in anni in cui era davvero l’unica azienda che investiva nello sviluppo di prodotti virtuali. Oggi – qualsiasi sia il vendor del mio hypervisor – di fatto la macchina virtuale costituisce l’unità minima computazionale di un sistema informatico.

Qualcosa però sta cambiando profondamente nelle architetture Iaas, parliamo di due importanti innovazioni: lo sviluppo di applicazioni costruite nativamente per una architettura cloud e i container che semplificano radicalmente l’implementazione e lo sviluppo di applicazioni più tradizionali. VMware naturalmente si sta muovendo il più rapidamente possibile per mantenere il suo vantaggio anche in questo settore. Vediamo come analizzando le soluzioni presentate nell’ultimo VMworld (Europe e Usa).

Anatomia di una applicazione cloud-native

Secondo Kit Colbert - VP & CTO di VMware, e Team Leader del progetto Cloud Native Application - con il termine cloud-native si intendono applicazioni di ultima generazione costruite su infrastrutture dinamiche ed elastiche. Il software defined datacenter, unito ad elementi infrastrutturali nei pacchetti vSphere e NSX costituisce l'ambiente ideale dove far girare applicazioni tradizionali e cloud-native.

Un applicazione tradizionale multitier può essere sviluppata e messa in servizio all'interno di cloud pubblici e privati mantenendo un ambito applicativo atomico, implementando micro-segmentazione e eliminando, finalmente, i vincoli infrastrutturali. Nella produzione delle grandi applicazioni distribuite l'approccio SOA (Service Oriented Architecture) è sempre stato il metodo collaudato dai team di lavoro più grandi, che oltre a realizzare l'obiettivo progettuale, avevano margini di manovra per miglioramenti nel tempo.

Nel 2015 però i fabbisogni dei clienti sono spesso distanti da quelli delle architetture tradizionali: velocità di realizzazione, scalabilità, stabilità e interoperabilità con i diversi device mobili costituiscono il "minimo sindacale" per un'applicazione di nuova generazione.

Di fatto tra gli svantaggi dello sviluppo SOA, oltre alle tempistiche di realizzazione, troviamo una mancanza di adattabilità alle mutazioni infrastrutturali come la scalabilità dei sistemi e l'incremento dei dispositivi che oggi fanno parte degli Internet of things. Nell’evoluzione di caratteristiche e metodi di sviluppo, per abbracciare queste nuove esigenze, il container, cioè l'elemento che racchiude la logica di business - sviluppata secondo il principio dei microservice - costituisce l'elemento architetturale principale di una applicazione cloud-native.

01 container microservice

Qui nasce la vera rivoluzione del software. Sviluppando secondo la logica dei microservice è possibile alleggerire il carico dello sviluppatore pur mantenendo caratteristiche funzionali di base come:

  • Interazione con altri container e/o con sistemi esterni,
  • Conservazione del solo insieme di dati significativi,
  • Esecuzione di una o più operazioni complesse in modalità sincrona o asincrona.

Inoltre ogni container all’interno dell’applicazione può assumere uno o più dei seguenti ruoli come

  • Esporre API per future integrazioni,
  • Contenere e gestire basi di dati,
  • Eseguire processi,
  • Comportarsi da client verso applicazioni terze,
  • Comunicare con dispositivi mobili, browser, applicazioni desktop.

Lo stack secondo VMware

Il gruppo di lavoro capitanato dallo stesso Kit Colbert, ha come scopo la costruzione dell'embrione di un nuovo framework per ospitare applicazioni sviluppate nei container, appunto definite cloud-native application. Dall'inizio del 2015 il blog ufficiale di VMware vede apparire numerosi annunci e technical preview di Photon, Lightwave, e altri componenti che ruotano ad un nuovo ecosistema. Sono questi i nuovi elementi che costituiscono la proposizione Platform-As-A-Service e generano un ambiente “confortevole” dove poter sviluppare applicazioni vecchia e nuova generazione.

Analogamente alla macchina virtuale, il container conserva alcune caratteristiche comuni tra cui le principali:

  • Racchiudere tutto l'ambiente di esecuzione comprese le librerie necessarie al suo funzionamento ,
  • Isolare allo stesso modo interconnettere i diversi container mediante segmenti di rete creati ad-hoc,
  • Muovere, replicare e distribuire il workload.

Ma la nuova linea di confine tracciata tra il mondo degli sviluppatori e quello dei sistemisti diventa appunto il container engine Photon, cioè la macchina virtuale che - nell'architettura VMware - ospita una versione di Linux minimale in grado di gestire il cliclo di vita dei container stesso. Come ogni rivoluzione che si rispetti la vera forza viene dal basso, così Photon - la cui iso è scarcabile presso il sito https://vmware.github.io/photon/ - è un sistema aperto ai contributi della community.

Questo atteggiamento delle grandi aziende attualmente rappresenta il loro cavallo di battaglia: se in passato la chiusura del codice costituiva sicurezza e controllo, oggi finalmente si pensa di orientare I propri sviluppi alle reali esigenze del pubblico.

Parlando di container engine, Docker è sicuramente un punto di riferimento, quantomeno poichè è arrivato prima sul mercato. Anche Docker è aperto alla community e non è un caso che il suo modello sia disponibile sin da subito in VMware Photon: seguendo le guide, disponibili anch’esse sul sito di riferimento alla sezione “Getting Started”, è possibile ottenere un ambiente di sviluppo e di produzione in soli cinque minuti.

02 photon b

Come è proprio del modello basato sui container la produzione e il deploymento diventano così più semplici e l'infrastruttura diventa più leggera, efficiente e portabile, dato che si può realizzare mediante l'impiego della propria workstation, senza compromessi e ottenendo il medesimo risultato di un sistema in produzione. 

03 clico vita container

La rivoluzione, secondo il paradigma del container, si completa con un significativo miglioramento del ciclo di vita del software. Sia esso sviluppato nella logica microservice sia esso di tipo tradizionale, lo sviluppatore può occuparsi anche della sua messa in produzione. E come ogni rivoluzione che si rispetti si finisce anche con una liberazione: finalmente il sistemista non è più ostaggio dei team di sviluppo durante la messa in opera delle applicazioni.      

Immaginiamo un mondo in cui lo sviluppo inizi da un catalogo di applicazioni esistenti, che continui modificando per adattarlo alle proprie esigenze e che finisca con la sua messa in produzione in condivisione con tutti ma senza l'aiuto di nessuno... Questo vuol dire sviluppare con i container. Nel prossimo appuntamento (numero di Gennaio di GURU advisor) approfondiremo lo sviluppo con Docker e Photon.

Riferimenti:

http://blogs.vmware.com/cloudnative/

https://vmware.github.io/photon/

https://www.docker.com/

 

L'autore

Lino Telera

Appassionato di informatica fin dalla tenera età di 11 anni, sviluppatore e system integrator dal 2001, sysadmin e system designer dal 2008. Pioniere della programmazione Ajax già nel 2007 è un utente Linux da più di 13 anni. Specializzato in software defined datacenter, network e desktop svolge attività di consulente su prodotti cloud presso un service provider italiano. E' stato presidente del Linux Users Group Cremona dal 2005 al 2007 ed è membro del board di VMware Users Group Italia dal 2015.
Blogger su www.linoproject.net, vExpert 2015, certificato VCP4, VCP5, VCP-Cloud, VCP5-DT.

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1