19

Nov

Quanto mi fa risparmiare il SOA?

Ciao a tutti

 

in quanti si saranno posti questa domanda in azienda da circa 10 anni a questa parte?? Sicuramente in molti.

Vediamo un esempio di come il SOA può con le giuste tecnologie portare grande valore al nostro IT service ad un basso costo.

 

Immaginiamo di partire da una situazione frequente: siamo una compagnia assicuratrice con 500 dipendenti, abbiamo un applicazione “core” per la gestione delle polizze che funge anche da CRM per la gestione del cliente, interamente scritta da noi, fortunatamente a servizi. i vari account manager utilizzano l’applicazione tramite un front-end windows di tipo smart-client connesso ad un pool di web service esposti da un pool di server connessi a loro volta ad un database.

Vediamo un grafo che è più semplice Sorriso

 

image

 

Analizziamo la soluzione da un punto di vista strategico: la soluzione offre il risultato ottenuto, il software funziona correttamente, abbiamo 500 licenze di windows7 oltre le 10 licenze di windows server enterprise per gli application server più 2 licenze di windows+SQL Server enteprise per il database + failover.

 

Vediamo una soluzione alternativa:

 

image

 

Abbiamo i nostri dipendenti, i nostri 500 windows7 e 2 licenze di windows server + biztalk (per il sistema biztalk) e 2 licenze di windows server + sql server (per il database).

E riusciamo ad avere lo stesso risultato applicativo della soluzione precedente? Si. Sui sistemi dei dipendenti è installato il client windows, portatili inclusi. Questi client richiamano il sistema biztalk in cui è stata creata una soluzione ESB/SOA per gestire in modo centralizzato il catalogo di servizi presenti in azienda, infine il database è rimasto invariato.

Como posso con 1 singolo sistema (coppia in load-balancing) biztalk fare quello che facevo prima con 10 server? da costo 5 volte superiore? Semplice, i servizi WCF o WebService sono installati sulle workstation/desktop dei dipendenti e biztalk fa solo da accentratore con gestione centralizzata del catalogo, delle versioni dei servizi, della sicurezza, del monitoring e del tracing.

Perchè utilizzare dei sistemi desktop al posto di server? Perchè per definizione il server inteso come tale ha un costo elevato (d’acquisto e di gestione) perchè robusto e potente, ma in ottica fortemente distribuita come la soluzione proposta, questo problema è frammentato nel più alto numero di macchine a disposizione, i desktop sono 10 volte di più, dove quindi la rottura di uno di questi ha impatti ben inferiori (e gestiti da biztalk in modo trasparente) che nella soluzione precedente.

 

In conclusione: volendo possiamo rilasciare i nostri WebService o WCF sui nostri stessi sistemi desktop in modo da sfruttarli appieno (oggi anche i desktop più economici hanno 2 cpu) e da abbattere i costi d’acquisto/mantenimento di un alto numero di server, oltre che delle licenze avendo in fine anche prestazioni probabilmente più alte di quelle precedentemente offerte per dell’alta decentralizzazione e dell’alta scalabilità della soluzione. Non dimentichiamoci che questa proposta porta con se anche il beneficio dell’aumento trasparente delle prestazioni totali dato l’aumento del numero di desktop disponibili.

Unici colli di bottiglia possono essere i sistemi biztalk e sql server, che essendo soluzioni fortemente scalabili di suo, possono facilmente essere potenziati.

A presto

Antonio

by Antonio Esposito on 11/19/2010