Cloud computing: creazione di soluzioni cloud di nuova generazione

Gli sforzi impiegati nella creazione di sofisticate soluzioni cloud per soddisfare esigenze specifiche rischiano di essere vanificati da flussi di lavoro inflessibili.

Niten Malik

Oggigiorno nessuna azienda può permettersi di spendere milioni di dollari o dedicare decenni alla creazione e alla manutenzione di sistemi complessi, specialmente gli enti governativi con ristrettezze di budget. I processi aziendali governativi sono complessi e spesso eccezionali. Devono solitamente soddisfare più obiettivi concorrenti, quali il bilanciamento tra la sicurezza nazionale, le limitazioni della privacy o di budget, i cambiamenti nella legislazione e i livelli del servizio clienti.

I sistemi sviluppati per soddisfare tali requisiti sono spesso difficili da gestire e costosi da modificare. Anche i miglioramenti ai processi aziendali adottati per mantenersi aggiornati con le innovazioni tecnologiche sono costosi. Ciò è particolarmente vero quando la piattaforma di sviluppo di base è obsoleta o richiede una profonda personalizzazione. La strategia predominante per lo sviluppo di sistemi governativi complessi è stata la realizzazione di codice personalizzato o la modifica degli strumenti BPM (Business Process Management) tradizionali, compresi i sistemi ERP (Enterprise Resource Planning).

Tuttavia, l'allineamento di processi aziendali governativi a flussi di lavoro integrati definiti in modo rigido si è rivelato costoso e dispendioso in termini di tempo. Spesso è particolarmente problematico adattare flussi di processi sviluppati per funzioni aziendali commerciali alle funzioni esclusive degli enti governativi. Questa mancanza di flessibilità rende difficile modificare in modo conveniente i processi non allineati alle esigenze aziendali esclusive degli enti governativi. Ciò comporta frustrazione e impedisce l'innovazione. Le opportunità di riprogettazione o ottimizzazione dei processi sono inesistenti o limitate nel migliore dei casi.

Le regole aziendali governative sviluppate per soddisfare specifiche esigenze legislative o del cittadino pongono problematiche singolari. Richiedono un'infrastruttura di condivisione dei dati e di collaborazione affidabile ed efficiente che possa estendersi alle organizzazioni private e ai reparti governativi federali, statali e locali. In un ambiente così diversificato, i vantaggi in termini di costi degli strumenti di gestione dei flussi di lavoro si riducono rapidamente, specialmente quando è necessario personalizzare processi proprietari.

Per compensare la mancanza di flessibilità dei processi e per allineare meglio le funzionalità di sistema alle esigenze governative, gli enti spesso utilizzano codice personalizzato. Tuttavia, questa si rivela una scelta costosa da sviluppare e gestire. Un gruppo stabile di programmatori che lavorano su sistemi complessi creano milioni di righe di codice, costoso e dispendioso in termini di tempo da aggiornare quando si presenta la necessità di modifiche. L'applicazione di una metodologia, una documentazione inadeguata e la dipendenza dai soli programmatori che conoscono il proprio codice aumenta il livello di difficoltà. Le pianificazioni dei rilasci del software, i test di regressione e i processi di gestione delle modifiche inoltre rallentano il ritmo dell'innovazione. Alla fine, l'architettura tecnologica risultante sarà elusiva nel migliore dei casi.

Superare gli schemi standard

Il più grande problema che interessa la maggior parte dei programmi governativi è la riduzione dei costi dei sistemi complessi, pur rendendoli più reattivi ai cambiamenti aziendali. Una strategia di sviluppo della soluzione efficiente dovrebbe includere l'utilizzo di codice personalizzato in associazione a flussi di lavoro integrati. Ciò limita lo sviluppo personalizzato alle funzioni più esclusive del sistema.

Le piattaforme di sviluppo di ultima generazione devono consentire la codifica di requisiti aziendali esclusivi in un linguaggio di programmazione di largo uso. Tali piattaforme dovrebbero offrire una serie di funzionalità avanzate, complete, integrate e configurabili. La creazione di codice personalizzato senza la necessità di creare da zero una funzionalità riduce i costi di sviluppo del 50-70% rispetto allo sviluppo personalizzato tradizionale.

Per raccogliere e gestire dati in modo affidabile, i sistemi governativi devono essere intuitivi e facili da utilizzare per tutti gli utenti. Devono richiedere un minor numero di passaggi per immettere e richiamare informazioni, visualizzare lo stato aggiornato e collaborare con i cittadini e i responsabili del programma.

Le informazioni rilevanti devono essere aggiornate e accessibili in una vasta gamma di dispositivi, dagli smartphone agli iPad. I sistemi devono essere progettati per consentire agli utenti di spostarsi in modo affidabile ed efficiente attraverso il processo. Un esempio è l'impiego di avvisi automatizzati per il supporto delle decisioni o delle operazioni e la fornitura di una visualizzazione e di un'analisi avanzata dei dati.

I dati devono essere inoltre visualizzati a diversi gruppi di utenti in un modo coerente con la modalità di fruizione delle informazioni. Ad esempio, uno studente potrebbe desiderare di visualizzare lo stato della propria richiesta di sussidio sul proprio smartphone, mentre un funzionario doganale potrebbe avere la necessità di visualizzare lo stato più aggiornato dei non immigrati all'interno della propria postazione doganale del software preposto.

Un motore di regole deve consentire modifiche rapide e convenienti alle regole aziendali, consentendo in tal modo un processo di governance delle modifiche abbreviato e processi aziendali versatili e reattivi. I dati del programma aumenteranno e il mantenimento del relativo obiettivo principale dipenderà da una condivisione e un'analisi tempestiva dei dati con altri enti. La tecnologia dovrebbe consentire l'implementazione di sistemi e processi facilmente configurabili che promuovano una cultura dell'innovazione e dell'informazione all'interno dell'organizzazione. Pertanto, la maggior parte dei sistemi governativi richiedono una piattaforma di scambio e analisi dei dati solida e intuitiva.

L'affidabilità e la reattività di qualsiasi processo aziendale dipende dalla collaborazione in tempo o quasi in tempo reale tra il governo e i cittadini. Essenzialmente, questi sistemi sono una piattaforma di comunicazione per consentire operazioni aziendali collaborative che promuovano il cambiamento dell'organizzazione e operazioni efficienti.

Miglioramento dell'affidabilità e della resilienza

L'ultima generazione di soluzioni governative probabilmente funzioneranno nel cloud per ottimizzare i costi e migliorare l'affidabilità degli obiettivi. Differenti esigenze aziendali significano che una singola strategia cloud non sarà valida per tutti i programmi. Alcune applicazioni non saranno distribuibili in un cloud pubblico o governativo, mentre altre potrebbero sfruttare solo determinate funzionalità del cloud.

La piattaforma di sviluppo deve essere sufficientemente versatile da fornire più modelli di sviluppo e di erogazione dei servizi compatibili con il cloud che tengano conto dei requisiti di sicurezza e operativi specifici di ciascun programma. Dovrebbero inoltre facilitare la condivisione delle risorse IT e la creazione di soluzioni multi-tenant. Devono inoltre offrire la flessibilità necessaria per distribuire soluzioni tra più infrastrutture di hosting e cloud (cloud privato, cloud della community governativa e così via) man mano che si evolvono i requisiti e la tecnologia.

Vantaggio sui costi

Il caso aziendale di sviluppo della soluzione deve basarsi sui risparmi sui costi e sul miglioramento degli obiettivi. Dynamics CRM e SharePoint consentono di creare più applicazioni aziendali nello stesso framework. È possibile distribuire applicazioni più rapidamente poiché consentono uno sviluppo iterativo e incrementale. Le applicazioni personalizzate non sono estensibili o scalabili nel tempo. In qualità di piattaforma di sviluppo delle applicazioni, Dynamics CRM offre un framework affidabile per l'estensione e la scalabilità delle applicazioni.

Non è possibile evitare completamente la necessità di codice personalizzato per determinate esigenze aziendali specifiche. Gli strumenti di gestione dei flussi di lavoro tradizionali, quali i sistemi ERP spesso si definiscono personalizzabili in base a esigenze aziendali specifiche. Tale personalizzazione solitamente richiede sviluppatori altamente specializzati in linguaggi proprietari o non comuni. Negli ultimi dieci anni, l'implementazione di funzioni governative complesse mediante la personalizzazione dei flussi di lavoro tradizionali si è rivelato costoso e dispendioso in termini di tempo.

Le funzioni configurabili di Dynamics CRM sono progettate per essere ampliate con la logica aziendale specifica dell'ente, quali regole di convalida o flussi di lavoro specifici. È possibile creare codice personalizzato di questi specifici elementi in Microsoft .NET Framework. È possibile inoltre ottenerli da una libreria di controlli .NET Framework preconfigurati, nel qual caso una chiamata di funzione al componente ridurrà ulteriormente la necessità di creare codice da zero.

Le piattaforme di sviluppo Dynamics CRM e SharePoint offrono componenti architetturali, quali la sicurezza, l'accesso ai dati, il flusso di lavoro e la logica di presentazione completamente integrati. Ciò consente di evitare i costi di creazione da zero.

La frequenza con cui il framework di sviluppo stesso viene aggiornato determinerà quali nuove funzionalità le applicazioni saranno in grado di offrire. Microsoft effettua significativi investimenti in modo coerente nella ricerca e nello sviluppo per mantenere la posizione di Dynamics CRM e SharePoint come framework di sviluppo di soluzioni leader nel settore.

Innovazione continua

Esistono pochi aspetti in grado di rallentare il ritmo dell'innovazione di quanto non lo sia l'attesa per il successivo ciclo di rilascio del software (solitamente dai tre ai sei mesi). L'innovazione deve essere iterativa e continua in un'organizzazione incentrata sull'utente. Le modifiche all'interfaccia o gli aggiornamenti della logica aziendale devono essere implementati in poche ore o giorni, piuttosto che in settimane o mesi.

Dynamics CRM promuove una cultura dell'innovazione e della versatilità e consente alla forza lavoro di ottimizzare i processi e di collaborare in un team. Ciò può avere conseguenze positive sul morale dei dipendenti, oltre a migliorare il livello del servizio clienti e dell'affidabilità degli obiettivi.

Microsoft fornisce lo stesso framework e lo stesso SDK per i servizi Web utilizzato internamente dai propri sviluppatori. Ciò significa che Dynamics CRM è infinitamente modificabile ed estensibile praticamente a qualsiasi livello e il cliente non è limitato dall'idea di CRM che ha Microsoft.

La BI (Business Intelligence) di Microsoft si basa sulla premessa fondamentale che le funzionalità analitiche potenti devono funzionare con strumenti di collaborazione universali e semplici per poter condividere la BI interna ed esterna. Di conseguenza, facilita un utilizzo più ampio dell'analisi dei dati tra i programmi per il supporto nei processi decisionali.

Le funzionalità di analisi self-service e la capacità di analizzare milioni di righe di dati con strumenti comuni, quali Excel stanno cambiando le regole del gioco. SharePoint e Dynamics CRM si basano su Microsoft SQL Server. Power View in SQL Server 2012 consente agli utenti di creare e condividere dashboard di analisi in tempo reale con funzionalità dettagliate per la visualizzazione dei modelli e delle tendenze dei dati.

Gestione di notevoli quantità di dati

La società di ricerca IDC stima che la quantità di dati disponibili più che raddoppia ogni due anni. Sarà necessario gestire una notevole quantità di dati per poter rendere i programmi più resilienti. Ciò consente processi decisionali di maggiore qualità basati su una maggiore conoscenza dei dati e sugli interventi proattivi in caso di rischi e opportunità. Per sfruttare al massimo il valore dei dati, le organizzazioni necessitano di una singola piattaforma di gestione dei dati coerente in grado di integrare l'estensione e la diversità delle informazioni.

L'assimilazione dei dati da origini esterne e la correlazione di essi con database interni offre una BI attuabile. Gli enti e i programmi governativi necessitano di visibilità sistematica nei fattori esterni che interessano il proprio obiettivo. Le minacce all'obiettivo di un programma non sono statiche. La funzionalità di analisi predittiva consente di cercare sistematicamente le tendenze e le anomalie nei dati interni ed esterni. Vengono utilizzati algoritmi per associare i punti tra eventi apparentemente isolati e individuare problemi emergenti. L'assegnazione delle priorità e l'intervento in caso di indicatori di rischio tempestivo rende l'obiettivo del programma più resiliente.

La possibilità di trovare informazioni contestuali o di delineare la rilevanza dei dati sociali o relativi agli eventi nell'ambito dell'obiettivo dell'ente dipende dall'analisi di elevati volumi di dati strutturati, semistrutturati e non strutturati. Deve essere possibile selezionare i dati da più formati e numerose origini, compresi documenti, siti Web, social network, canali mobili, immagini, video, reti di file interne, sensori, datacenter, altri enti e database relazionali. Il volume dei dati può facilmente raggiungere il livello di petabyte (un milione di miliardi di byte).

È costoso creare e gestire un infrastruttura locale per l'analisi di notevoli quantità di dati. Una notevole quantità di dati gestita come servizio in Windows Azure è un modo economico per implementare una piattaforma Hadoop. Hadoop è una piattaforma Open Source per l'analisi di carichi di lavoro con notevoli quantità di dati in un ambiente distribuito. È disponibile sia in Windows Server che come servizio in Windows Azure. Altri strumenti della piattaforma Windows Azure, quali Bing Mappe, SQL Server e SharePoint, sono inoltre strumenti potenti di aggregazione e analisi dei dati.

SQL Server offre potenti funzionalità per il trasferimento di dati tra SQL Server e Hadoop tramite SQL Server Connector for Apache Hadoop. Ciò facilita lo spostamento dei dati da Hadoop in un database relazionale per la fruizione da parte di applicazioni line-of-business basate su Dynamics CRM e SharePoint. Gli utenti aziendali possono utilizzare gli strumenti di analisi con cui hanno maggiore dimestichezza. Non necessitano di competenze specialistiche per analizzare elevate quantità di dati in Hadoop. L'accessibilità da parte degli utenti aziendali è fondamentalmente importante per i processi decisionali.

Una soluzione che consenta la collaborazione in tempo reale tra i funzionari e i clienti di un'organizzazione avrà come risultato un programma reattivo che consentirà una relazione proficua e di notevole impatto con i clienti. Uno scambio affidabile e solido delle informazioni con altri reparti ed enti, associato a un'analisi attuabile che ricava informazioni dai dati contestuali, aumenterà l'affidabilità degli obiettivi.

Il mese prossimo, presenterò un articolo su come una piattaforma di sviluppo stabile basata su Dynamics CRM e SharePoint offra flessibilità e scalabilità in aree specifiche, quali la mobilità, la sicurezza e l'interoperabilità.

Niten Malik

Niten Malik è impegnato nella creazione di soluzioni SaaS (Software as a Service). Nel corso degli anni, ha sviluppato le competenze nello sviluppo di casi aziendali e modelli operativi per soluzioni basate su cloud e multi-tenant. Di recente, ha condotto lo sviluppo della strategia e delle funzionalità di cloud computing per il gruppo operativo di Accenture Public Service. Malik ha conseguito un MBA dalla Kellogg School of Business presso la Northwestern University.

Contenuto correlato