La possibilità di poter fruire di ambienti in Cloud Computing per lo sviluppo e il test delle Mobile App accelera di molto il processo di creazione e messa in produzione di queste applicazioni, e per di più ne riduce il costo e ne migliora la qualità in termini di performance e stabilità. Questo il concetto di fondo di un articolo su CIO Magazine che cita alcune testimonianze interessanti come quella dell’amministrazione di New York City alle prese con i danni del passaggio dell’uragano Sandy.
Come spiega nell’articolo il CTO del Department of Transportation di New York City, Cordel Shachter, c’era necessità immediata di un’App che permettesse agli ispettori pubblici in giro per la città con i loro iPad di fotografare e quantificare i danni a strade, ponti e infrastrutture. Per cui è stato deciso di convertire immediatamente un software per l’autorizzazione dei lavori di scavo su cui stavano lavorando alcuni sviluppatori, in una nuova App appunto per la valutazione dei danni alle infrastrutture cittadine.
Dato che questi tecnici stavano lavorando in ambiente Cloud, la conversione è stata immediata, e la creazione, test e messa in produzione della nuova App molto più veloce” rispetto ai classici metodi di sviluppo, spiega Shachter. Alla commissione che chiedeva la giustificazione dello stanziamento straordinario di risorse è stato possibile mostrare immediatamente le immagini dei danni su iPad: la disponibilità di una Mobile App è stata fondamentale. Più in generale, ormai metà degli accessi a internet viene da smartphone e tablet, sottolinea Shachter, per cui se si vuole essere raggiungibili da un’intera cittadinanza occorre per forza essere accessibili da Mobile.
Il caso di New York naturalmente è solo uno dei tanti che dimostrano la corsa all’uso del Cloud, che permette di alleggerire mobile device e server aziendali da dati e processi, di gestire senza forti costi o indisponibilità i picchi di traffico.
Il caso dell’integrazione delle mappe
Ma soprattutto per accelerare e semplificare la produzione di Mobile App grazie a strumenti di sviluppo “cloud-nativi”, come quelli resi disponibili da Amazon Web Services (AWS), Google, Microsoft e Salesforce.com. I programmatori possono velocemente creare ambienti di sviluppo e test senza dover aspettare il lungo processo di assegnazione e configurazione di server da parte dell’IT aziendale.
Se l’IT aziendale con il Cloud ha il vantaggio di non dover investire in hardware, storage e reti, lo sviluppatore in pratica con pochi comandi può avere a disposizione un server, e lavorare a un’App provando e reiterando molto più velocemente diverse opzioni e funzioni. Esperti e utenti sottolineano poi altri due benefici dal punto di vista di chi crea l’App.
Uno è che spesso le App per il business utilizzano servizi di terze parti, tipico esempio Google Maps, ed è molto più facile integrare tali servizi se si sviluppa in Cloud. In un ambiente interno aziendale la chiamata di servizi di terze parti è quasi sempre più macchinosa e richiede diversi passaggi di validazione per la sicurezza.
Un esempio è proprio il caso di New York citato in apertura. Molte delle informazioni che il Department of Transportation mette a disposizione del pubblico si basano su mappe. Per esempio l’App dei trasporti pubblici fornisce al pubblico informazioni in tempo reale su mezzi di superficie, metro e City Bike. Questa cosa, spiega il CTO Shachter, sui vecchi sistemi mainframe dell’amministrazione cittadina non sarebbe tecnicamente possibile. «Ogni volta che un utente accede all’App ottiene una versione aggiornata al minuto della situazione».
Il secondo beneficio si manifesta dopo il lancio dell’App: i procedimenti di correzione dei bug e di aggiunta di nuove funzioni infatti sono molto più veloci in Cloud.
Due punti critici: sicurezza e interazione con l’esistente
Abbiamo accennato alla sicurezza, ed è forse questo il principale elemento di criticità dello sviluppo in Cloud delle Mobile App, dopo tutti i fattori positivi visti finora, come sostengono gli analisti. Enderle Group, citato dall’articolo di CIO, raccomanda di non dimenticare le possibili complicazioni legate alle compliance, mentre Current Analysis segnala il rischio di rinunciare a un livello di controllo sull’area dello sviluppo e gestione delle applicazioni aziendali.
Ogni volta che si ricorre all’outsourcing per qualche infrastruttura, si rinuncia a controllarla internamente. I vantaggi di costo sono indiscutibili, ma ci sono sempre anche altri elementi da valutare.
Alla fine infatti è il team di sviluppo aziendale, e di conseguenza il CIO e/o il CTO, che si assume la responsabilità della sicurezza dell’App e dei dati da questa utilizzati. E nel caso di sviluppo in Cloud, questa responsabilità richiede di fidarsi della capacità del fornitore di servizi Cloud di proteggere le proprie infrastrutture e di mantenerle conformi alle leggi. Per questo è necessario un accurato lavoro di valutazione e selezione del Cloud provider.
Altro elemento cruciale di cui tenere conto è la gestione delle interazioni tra Mobile App e sistemi residenti sui server aziendali (on-premise), cosa che a volte, se il sistema è obsoleto e mission-critical (per esempio un software finanziario o amministrativo), rende consigliabile la gestione “in casa” anche di una App sviluppata in Cloud.