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.
Quando l’uragano Sandy si è allontanato da New York, lasciando una scia di strade, ponti e infrastrutture divelti o danneggiati, l’amministrazione cittadina si è trovata nella necessità di classificare e quantificare molto velocemente i danni, in modo da avviare quanto prima le procedure per le riparazioni.
Come spiega il Chief Technology Officer del Department of Transportation di New York City, Cordel Shachter, la soluzione più immediata era sviluppare un’App che permettesse agli ispettori pubblici dotati di iPad girare per la città fotografando i danni. Da qui la decisione di convertire da un momento all’altro 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.
Una conversione che è stata possibile grazie al fatto che questi tecnici stavano lavorando in ambiente Cloud: lo sviluppo, test e messa in produzione della nuova App è stato molto più veloce rispetto ai classici metodi di App Development, spiega Shachter. «La disponibilità immediata delle immagini dei danni su iPad ha consentito di giustificare lo stanziamento straordinario di risorse. Più in generale, ormai metà degli accessi a internet viene da smartphone e tablet: se si vuole essere raggiungibili dall’intera cittadinanza occorre per forza essere accessibili da Mobile».
Questo caso è lo spunto nell’articolo per parlare della tendenza in forte crescita dell’uso di ambienti di Cloud Computing appunto per lo sviluppo di App in ambito aziendale. Il vantaggio è duplice. Da una parte si alleggeriscono mobile device e server aziendali da dati e processi, e si possono gestire senza forti costi o indisponibilità i picchi di traffico.
Dall’altra si accelera e semplifica la produzione 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.
Tornando alla sicurezza, questo è forse 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, e di conseguenza l’IT aziendale, 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 Cloud service provider di proteggere le proprie infrastrutture e di mantenerle conformi alle leggi. Per questo è necessario un accurato lavoro di valutazione e selezione appunto del fornitore.
Altro elemento cruciale di cui tenere conto, infine, è 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 sistema gestionale o amministrativo), rende consigliabile la gestione “in casa” anche di una App sviluppata in Cloud.