Uno studio di CA Technologies rileva i vantaggi della virtualizzazione dei servizi per le aziende

La virtualizzazione dei servizi consente di testare le applicazioni lungo tutto il ciclo di sviluppo simulando la complessità degli ambienti reali senza investire in costose infrastrutture hardware, eliminare ostacoli e limitazione prima della messa in produzione, migliorando in questo modo la qualità del codice e delle applicazioni prodotte

Se da un lato le aziende sono chiamate a sviluppare applicazioni e servizi sempre più innovativi, dall’altro i team di sviluppo, testing e collaudo devono affrontare sfide sempre più pressanti e complesse, come la possibilità di sperimentare il funzionamento del software in condizioni molto prossime a quelle reali, per riuscire a creare un quadro attendibile del comportamento delle applicazioni una volta che entreranno in  produzione. Un obiettivo molto difficile da perseguire a causa dei limiti posti dalle infrastrutture disponibili per le prove, senza contare il fatto che molto spesso parte dello sviluppo viene fatto in outsourcing, oppure intervengono terze parti.

TI PIACE QUESTO ARTICOLO?

Iscriviti alla nostra newsletter per essere sempre aggiornato.

La virtualizzazione dei servizi, una tecnica fondamentalmente nuova nell’ambito dello sviluppo che si integra con tecnologie e metodologie preesistenti, si sta affermando come possibile ed efficace soluzione a queste sfide, poiché consente agli sviluppatori di eliminare ostacoli e limitazioni nell’intero ciclo di vita di sviluppo, soprattutto nella fase di  testing.

CA Technologies ha incaricato la società di ricerche Coleman Parkes di effettuare uno studio di valutazione sui vantaggi della virtualizzazione dei servizi per il business. L’indagine è stata condotta intervistando cento responsabili dello sviluppo all’interno di grandi organizzazioni con oltre un miliardo di Euro di fatturato nel 2012.

Le sfide dello sviluppo

Lo studio evidenzia innanzitutto la tendenza da parte delle aziende a internalizzare  le attività di sviluppo e testing delle applicazioni per motivi di privacy (per il 75% del campione) e per rispondere più velocemente allo sviluppo di nuovi servizi richiesti dai clienti, come per esempio, applicazioni per il mobile. Il software viene cioè sempre più prodotto e testato in house, solo per il 25% dei rispondenti queste attività avvengono in outsourcing,  con conseguenze sul carico di lavoro e sulla pressione cui vengono sottoposti i team di sviluppo.

Leggi anche:  Cisco completa l’acquisizione di Splunk

Se in media un team di sviluppo rilascia 6,5 release all’anno, quasi la metà degli intervistati (45%) prevede di effettuare un numero di rilasci ancora più elevato nel 2012 e, addirittura, un terzo del campione pensa di realizzare non meno di 10 release l’anno. Inoltre, per la maggioranza dei responsabili di sviluppo interpellati dallo studio (67%), oltre a un numero maggiore di rilasci, crescono in maniera esponenziale le funzionalità per ogni release. Questo significa più righe di codice e, di conseguenza, potenzialmente più ore di testing, collaudo e possibilità di anomalie. Parallelamente diminuisce il tempo a disposizione per sviluppare, testare e mettere in produzione le applicazioni: se in media un progetto dura 5 mesi, nel 28% dei casi questi vengono svolti nell’arco di soli tre mesi.

Queste attività, già di per sé complesse, si scontano con una serie di problematiche legate al ciclo di sviluppo e testing: sistemi non disponibili o inaccessibili per problemi di schedulazione o ritardi nell’implementazione dei progetti; sistemi in cui simulare il comportamento delle applicazioni che non sono all’altezza degli ambienti reali, o troppo complessi (come nel caso di mainframe) e costosi (es servizi erogati in cloud o in altre modalità condivise) da clonare attraverso i tradizionali approcci basati su hardware.

Tutto questo rende ancora più difficile il test di nuove applicazioni e aumenta il rischio che il codice rilasciato contenga errori imprevisti o interazioni non pianificate con altri sistemi (il 64% del campione ammette di non disporre di strumenti per comprendere in modo adeguato possibili anomalie), con il rischio di ritardare la chiusura del progetto e avere costi aggiuntivi significativi. Secondo il campione dello studio questi problemi possono avere pericolose conseguenze sul business: perdita di reputazione sul mercato (per il 94% del campione), perdita di clienti (92%), ritardo nell’erogazione di nuovi servizi ai clienti (74%), ridotte funzionalità con ricadute sulle interfacce utente (70%) e aumento delle chiamate dirette al centro assistenza clienti (24%).

Leggi anche:  Gruppo Olidata: stipulato contratto dal valore di oltre 18MLN con il Gruppo Digital Value

I vantaggi per il business dalla virtualizzazione dei servizi

In questo contesto la virtualizzazione dei servi può apportare vantaggi chiave alle aziende e ai team di sviluppo poiché offre la possibilità di testare le applicazioni su infrastrutture virtuali, senza dover investire in costose attrezzature hardware e simulando ambienti complessi molto simili a quelli reali, per vedere come si comporterebbero le applicazioni prima della loro messa in produzione, riducendo sensibilmente anomalie e, successivamente, rischi di dowtime e interruzioni di servizio.

In particolare è possibile accelerare il time to market perché diminuiscono i tempi di sviluppo delle applicazioni custom che vengono rilasciate sul mercato in tempi più brevi. In alcuni casi grazie alla virtualizzazione dei servizi il ciclo di vita del software si è ridotto del 25%-50% e si sono azzerati o quanto meno ridotti drasticamente i costi legati alle infrastrutture hardware e software utilizzate nei laboratori per i test e le simulazioni. Inoltre, la possibilità di anticipare i cicli di testing, già nella prima fase di verifica del codice, consente di individuare da subito difetti, risolvere in modo più tempestivo eventuali anomalie e migliorare complessivamente la qualità delle applicazioni.

Dall’indagine emerge che la possibilità di rimuovere le limitazioni, oggi presenti lungo il ciclo di sviluppo, in particolare migliorando i processi e le fasi di testing, rendendoli ancora più rapidi, approfonditi e di qualità, può portare a questi benefici significativi:

 – Riduzione dei costi (69%), con la garanzia di una maggiore continuità dei budget di sviluppo, disponibilità di ulteriori risorse finalizzati a nuovi progetti.

– Maggiore qualità (68%) con conseguente riduzione dei costi del testing e della presenza di bachi nelle applicazioni messe in produzione.

Leggi anche:  ICT, R1 Group festeggia 30 anni e apre una nuova sede a Torino

– Cicli di sviluppo più rapidi (63%), con marcate accelerazioni del time to market e una maggiore reattività al mutare dei requisiti aziendali.

La piattaforma CA LISA

Gli strumenti messi a disposizione dalle soluzioni di virtualizzazione dei servi realizzate da CA Technologies aiutano le aziende e gli sviluppatori a ottenere reali benefici proprio in queste aree. La piattaforma CA LISA, per esempio, è in grado di aiutare le aziende a ottimizzare lo sviluppo e il testing di applicativi complessi e compositi grazie a ingredienti come la virtualizzazione dei servizi e il supporto delle cosiddette Dev-Test Clouds – le infrastrutture virtuali finalizzare allo sviluppo e testing – e all’integrazione continua.

In particolare, con CA LISA è possibile:

– Virtualizzare i servizi, eliminando in questo modo la dipendenza e le limitazioni causate dall’indisponibilità dei sistemi e dei servizi necessari per simulare il comportamento dinamico delle applicazioni. I modelli di servizio virtualizzati possono essere disponibili 24×7 per lo sviluppo e il collaudo in modo da accelerare la messa in produzione

– Automatizzare i Test. LISA è una soluzione end-to-end che verifica, in ambienti eterogenei, tecnologie diverse su tutti i livelli applicativi senza scrittura di codice. LISA fornisce l’automazione per tutti i tipi di collaudo: test di unità, funzionali, d’integrazione, di regressione, di carico e di prestazioni.

– Validare in modo continuativo. La piattaforma LISA è in grado di validare i comportamenti attesi tra processi e tra componenti di dettaglio in maniera continuativa o basata sullo scatenarsi di eventi nel ciclo di vita di sviluppo delle applicazioni.

Identificare anomalie. LISA fornisce la trasparenza applicativa per tracciare e identificare velocemente anomalie e difetti delle applicazioni, e generare in maniera completamente automatizzata test di regressione che eliminano il bisogno di interventi manuali nelle parti critiche del ciclo di sviluppo e test del software.