Il cloud e lo sviluppo delle nuove app

I vantaggi della nuvola per chi sviluppa app. Una tendenza in crescita esponenziale

Fonte:wired.it – Martino de Mori – 1/10/2014

Spesso senza rendercene conto, siamo sempre più circondati da applicazioni che si basano su piattaforme cloud. E lo saremo sempre di più: l’era dell’Internet of Things è partita e il mercato raggiungerà i 300 miliardi di dollari da qui al 2020. Questo significa che tutte le app legate a questo trend saranno in cloud, ma anche quelle di altri ambiti, come il data management, la sicurezza e il mobile (ovviamente). Andiamo a esplorare questo mondo.

Come funziona
Il principio del cloud è l’utilizzo di enormi data center (di proprietà di colossi dell’it) che virtualizzano le macchine e sostituiscono computer e server personali o aziendali. In questi data center vengono elaborati i calcoli relativi alle app di molti sviluppatori,con una serie di vantaggi che ora andiamo a vedere.

Tendenza in crescita
Su quasi 20 milioni di sviluppatori in tutto il mondo, circa un quarto lavora su piattaforme cloud. La tendenza è in continua crescita, perché il cloud semplifica e accelera il processo di realizzazione di una app.

Le tecnologie
Ogni app ha un destinatario finale. Esistono dunque tre dimensioni diverse da tenere presente per sviluppare sulla nuvola, ognuna legata a tematiche tecniche diverse a seconda del target:
infrastructure as a service (IaaS), indirizzata prevalentemente aisistemisti e agli esperti di infrastrutture informatiche
platform as a service (PaaS), per sviluppatori ed esperti di soluzioni
software as a service (SaaS), per gli utenti finali.

Un ambiente unico
Pensiamo alle app tradizionali. Chi le sviluppa segue un processo che si articola lungo un percorso preciso: si lavora nell’ambiente di sviluppo, poi si passa alla fase di test, poi alla pre-produzione e infine alla produzione finale. Sono ambienti diversi, che presuppongono il contatto con esperti informatici per il disegno di una piattaforma complessa e su misura degli utenti. Per una piattaforma che sia scalabile, affidabile e disponibile 24 ore su 24, servono investimenti e competenze. Con il cloud invece non esiste più distinzione fra ambiente di sviluppo, test, pre-produzione e produzione: tutto avviene in un unico ambiente.

Economico e veloce
Per i motivi appena spiegati, sviluppare applicazioni in cloud è anche un processo veloce ed economico: si riducono quasi a zero i costi per l’acquisto, l’installazione, la configurazione e l’integrazione di hardware e software necessari per iniziare lo sviluppo di un’applicazione tradizionale. Inoltre alcuni servizi, come ad esempio il platform as a service, aprono mondi interessanti per gli sviluppatori, soprattutto a livello aziendale.

Lavoro in remoto
Un’altra ricaduta del sistema di sviluppo in cloud è la possibilità di sviluppare in locale e lavorare senza connessione. Puoi sempre effettuare verifiche sul pc per capire se la app è correttamente sviluppata e intervenire se ci sono problemi sulla infrastruttura di front end web.
In genere, per fare i test reali si fa il deployment sulle infrastrutture remote che si stanno utilizzando, a cui si accede con un account (chiaramente, installando la piattaforma cloud è necessario registrarsi).

Pubblicazione
Anche questa fase è più semplice, perché non ci sono più quei passaggi tecnici che richiedono tempo e competenze; o meglio, ora quei passaggi avvengono nel cloud. Finiti i test, fai il deployment finale della tua app e la rendi visibile agli utenti.

Scalabilità
L’elasticità del cloud permette di modificare la piattaforma a seconda delle richieste degli utenti, rendendola di fatto scalabile all’infinito. È come avere tutto l’hardware che vuoi, quando vuoi.
http://www.wired.it/mobile/app/2014/10/01/cloud-sviluppo-delle-nuove-app/