Le applicazioni in cloud sono software a cui gli utenti accedono principalmente attraverso internet, l’app quindi non risiede sul device dell’utente, ma su un server remoto. Questa modalità si presta in modo efficace sia a supportare software che forniscono direttamente un servizio, sia per applicazioni sviluppate a sostegno di altra attività. In questo senso, lo scopo di un’applicazione è abbastanza indifferente nel definire la sua idoneità ad essere gestita tramite cloud, sono invece altri gli aspetti che determinanti per scelta di andare in cloud.
Il software in cloud può rispondere a tutti i tipi di esigenze. Può ad esempio prestarsi per :
Sviluppare un’applicazione in Cloud può essere motivato dalla ricerca di diversi tipi di vantaggi, tra cui:
Un applicativo in cloud può essere molto diverso rispetto ad uno on premise, soprattutto se si vuole sfruttare veramente il potenziale di questa tecnologia. Per realizzare un’applicazione in cloud che ottenga realmente i vantaggi promessi, dunque, sono necessarie diverse competenze aggiuntive rispetto a quelle tradizionalmente presenti nei reparti IT. Competenze che vanno a coprire l’intera catena di valore dei prodotti software, dalle scelte strategiche aziendali al riscontro da parte degli utenti finali. Ecco perché l’ingresso nel mondo cloud non può essere affrontato senza specifiche competenze, che comprendano:
In mancanza di una corretta pianificazione, la migrazione in cloud non solo non porta i vantaggi promessi, ma potrebbe addirittura ridurre le prestazioni dei sistemi IT e accrescere i costi delle infrastrutture informatiche. Osserviamo alcuni aspetti principali.
Nel progettare un’app in cloud non si può prescindere dal considerare il fatto che questa dovrà essere in grado di servire un’utenza potenzialmente molto numerosa e dislocata anche in tutto il mondo. Pertanto, il primo aspetto da definire con cura è quello legato alla scelta e predisposizione dei server su cui farla girare, che dovranno assicurare prestazioni all’altezza e una solida connessione alla rete. Al contempo, è fondamentale definire un range controllato per i costi, in modo da non annullare i benefici economici del passaggio al cloud.
La scalabilità orizzontale, ovvero la possibilità di richiedere maggiori risorse all’infrastruttura cloud quando necessarie per permettere di gestire in modo efficiente i picchi di traffico, richiede un’ottimizzazione oculata di software e risorse. Sono quindi necessarie le competenze per calcolare e prevedere i picchi di richieste di accesso al software, i carichi di lavoro richiesti, la stabilità dei servizi, e, non ultima, la sicurezza dell’intera infrastruttura.
Un altro aspetto da valutare con attenzione è quello della qualità del software. Certo, è un tema fondamentale per qualsiasi prodotto digitale, ma un’applicazione in cloud ha alcune peculiarità:
Per questo la verifica dell’affidabilità del software e delle sue nuove release è fondamentale. Chi si occupa dell’applicazione deve anche predisporre un’adeguata attività di tenuta in opera del servizio, che comprenda una strategia di gestione e testing che verifichi sia l’affidabilità end-to-end del prodotto, sia la funzionalità dei sistemi che sottostanno ad esso, così da garantire pipeline di sviluppo sicure ed evitare interruzioni di servizio.
Pari competenze sono richieste nel mantenere il software sicuro da attacchi informatici con appropriati aggiornamenti e contromisure nel proteggere l’applicazione stessa e soprattutto i dati che conserva. In questo ambito si rivela fondamentale l’approccio “security by design”, ovvero la capacità di progettare software sicuro dalla prima riga di codice, affiancata da un lavoro costante di testing e supervisione (automatizzata e non) dell’intera infrastruttura.
Per tutte le sue applicazioni in cloud, Bottega52 offre il servizio di tenuta in opera completo, con cui provvede alla progettazione dell’infrastruttura, al monitoraggio applicativo e alla gestione completa di tutto quanto necessario alla corretta operatività del servizio in Cloud.
Prodotti digitali completi su un’infrastruttura Cloud totalmente gestita
Utilizzo Efficiente delle Risorse
Definizione delle strategie, supporto nella gestione economica e nella formazione dei team interni
Progettazione dell’architettura, monitoraggio applicativi e gestione completa dell’infrastruttura
Progettare un applicativo in cloud
Nell’ambito della progettazione è necessario conoscere come sviluppare software che sia pensato per la performance e la sicurezza in cloud.
In termini di progettazione, la sicurezza è il focus, in tutte le sue sfaccettature. Imprescindibile è la “security by design”, grazie a cui ogni parte del sistema viene pensata e costruita al fine di essere sicura per se stessa, così che chi utilizza l’applicazione possa farlo con la tranquillità di operare in un ambiente sicuro.
Mantenere un software efficiente in cloud spesso significa anche doverlo riprogettare per permettergli di gestire in modo sicuro ed efficiente un numero di richieste tipicamente molto elevato. Il semplice trasferimento in cloud di software già on premise, nonostante possa mantenerne il funzionamento, difficilmente si rivela un’operazione vincente. Un software che viene semplicemente trasferito da una macchina locale al cloud con pura logica “Lift & Shift” non è in grado di concretizzare tutti i potenziali benefici del cloud stesso. Benché veloce e economicamente meno oneroso, un tale metodo di migrazione (che può essere approfondito nel White paper “Cloud Migration”) comporta infatti alcuni svantaggi, come:
Di conseguenza, spesso si rivela necessaria una riprogettazione più o meno massiccia, che può andare dalla revisione di alcuni suoi aspetti fino alla riprogettazione totale dell’applicativo.
Bottega52 è un partner Cloud-Native dotato delle competenze tecniche e di business indispensabili per gestire tanto lo sviluppo di servizi digitali basati sull’impiego di soluzioni Cloud, quanto la loro migrazione e tenuta in opera.
Come già detto, un’applicazione in cloud sarà subito a disposizione di moltissimi utenti, siano essi clienti, operatori, o altri servizi digitali. Se ben progettate a livello di infrastruttura, la rapidità con cui queste applicazioni vedono crescere la loro customer base si ripercuote in modo direttamente proporzionale sull’andamento degli introiti per l’azienda. Mai come in questo caso, quindi, il successo del prodotto dipende in gran parte dalla solidità dell’idea che le ha generate, da come è stata poi trasformata in un design appetibile, e dalla stabilità e sicurezza del servizio.
Ecco perchè un’adeguata fase di product design e validazione dell’idea è imprescindibile nel realizzare un’applicazione in cloud. È quindi necessario far precedere qualsiasi attività di sviluppo e messa in opera da un’attività di product design che validi l’idea attraverso un confronto diretto con una rappresentanza del mercato. Seguita poi da un’attenta fase di valutazione tecnica che produca un documento di specifiche chiaro e comunicabile al team di sviluppo.
Si tratta di un’attività ancora poco diffusa, vuoi per la scarsa abitudine del mercato in proposito, vuoi perchè viene ancora vista da molti come un costo aggiuntivo e non strettamente indispensabile. In realtà questo costo viene poi largamente ammortizzato in quanto permette di:
Convinta dell’importanza di questa attività, Bottega52 ha deciso di introdurre come parte integrante del suo normale percorso l’Enterprise Digital Product Design – finalizzato allo sviluppo di prodotti software – anche una fase di Product Design completamente gestita. L’azienda ha infatti deciso di investire nello ricerca e nello sviluppo del processo di Product Design, diventando a tutti gli effetti un partner completo per il product design e dello sviluppo di servizi digitali gestiti.
Abbiamo molti altri articoli da leggere, vai a vedere!
Insights52,---------------------------------------.---------. | | | | ,-----------------------------. | . | | | | | | | | | ,-------------------. | | | | | | | | | | | | | | `---- ,---- | | | | | | | | @ | | | | | | | ,---------"---------: | `----' | | | | | | | | `----: ,---------. | `---------. | | | | | | | | | . | | . | | ---------' | | | | | | | | | :----' | | | | | ,--------------: | | | | | | | | | . | `----' | | | ----. | | | | | | | | | | `----"--------- | | `---------' | | | | | `------------------------' `-------------------'