IT Pro

Il Software Defined si impone

Metabolizzato il Cloud Computing da alcuni mesi il mondo dell'IT sembra essere percorso da un desiderio impellente di software. Come se l'hardware non esistesse o avesse perso di importanza e il primo, il software, potesse vivere di vita propria senza il secondo.

Quello di "software defined" è un trend che sta coinvolgendo in modo trasversale tutti i settori, e ora si parla anche di sicurezza definita a software o di UC definita a software. Non esiste virtualmente settore dell'IT in cui non ci si possa aspettare che architetture e prodotti non vengano presentati sotto questo nuovo paradigma dell'IT. Il dubbio, per essere conservativi, che viene è che in molti casi si tratti di un modo di cavalcare un'onda che si preannuncia già impetuosa, come è avvenuto nel caso del Cloud Computing, dove nel giro di un anno o poco più tutti hanno scoperto che i propri prodotti erano "Cloud". 

OpenFlow si propone di definire le modalità di interazione tra strato di controllo e apparati di rete

Il fatto è che quanto scoprono improvvisamente alcuni fornitori è per certi versi vero. In un mondo in cui si è proceduto ad una forte standardizzazione delle interfacce, dei protocolli di comunicazione, dei server (non per niente riferiti come industry standard), sulla modalità di scambio dei dati sul piano geografico, nel modo di far parlare server e storage di prodotti diversi, in effetti il software la fa da padrone. 

Peraltro la distribuzione di applicazioni e di sistemi di elaborazione e la possibilità di selezionare le risorse (ad esempio la tipologia di storage o di server) in base alle esigenze applicative è un processo che era già in atto da tempo. Va anche considerato che le architetture SOA, e cioè quelle orientate al servizio, in nuce già costituivano un sistema virtuale in cui gli elementi base erano rappresentati sotto forma di moduli standard, intercambiabili, componibili, eccetera.

Un inizio con il modlelo OSI

Se poi si vuole andare ancora più indietro nel tempo, il modello OSI (Open System Interconnection) è stato il primo tentativo (inizialmente avversato dai produttori per ovvi motivi di cassetta e imposto dagli enti governativi) di definire su scala mondiale un modo di relazionare le risorse ICT definito a software in cui, mediante API, ogni layer del modello generale richiedeva i servizi (in termine di tipologia di apparati fisici o moduli software) al livello sottostante in funzione delle esigenze delle applicazioni. Pur ristretto al mondo delle reti costituiva già (anche se allora non lo si sapeva) un approccio del tipo "Software Defined".

In sostanza, quello in via di diffusione è un concetto che è potenzialmente sotto gli occhi di tutti da decenni e che è andato evolvendo nel tempo adattandosi alle esigenze economiche ed elaborative del mondo produttivo e dei servizi.
La sua incarnazione massima è ora il Software Defined Data Center (che racchiude server, storage, rete, sicurezza, management), ma questo solo perché la velocità delle moderne reti di comunicazione, fisse e mobili, ha permesso di tornare a focalizzare su di esso tutta una serie di funzioni (di sicurezza, di elaborazione, di distribuzione delle applicazioni, di virtualizzazione), che erano stati in precedenza distribuiti in un'ottica client-server.

SDDC  definisce un livello virtuale che rende astratti i dispositivi di un Data Center

La neocentralizzazione si è combinata con il cloud e con un approccio all'erogazione di servizi IT basato su data center distribuiti che, dal punto di vista del singolo fornitore di servizi, costituivano dei pezzi virtuali di un unico grande data center ai fini della gestione dell'intero sistema, in modo da poter ottimizzare l'attribuzione e la fruizione delle risorse.

Partiamo dalla rete

Se per cominciare da qualche parte (in successivi articoli analizzeremo altri aspetti del software defined) si esamina lo strato di rete emerge che l’obiettivo principale del Software Defined Networking (SDN) è quello di riorganizzare su piani diversi l’architettura di una infrastruttura di trasporto. Ciò può essere fatto mediante opportuni livelli di astrazione che in pratica seguono la strada già adottata nel campo dei server, dove si possono realizzare software molto complessi senza curarsi delle caratteristiche delle macchine, perlomeno una volta data per scontata la loro adeguatezza in termini di capacità elaborativa e di memoria.

Come sempre, dato un accordo di massima tra gli operatori di mercato, il diavolo si nasconde nei dettagli ed esistono punti di vista diversi sotto il profilo terminologico. Per alcuni il punto centrale è nella separazione tra piano di controllo e apparati di rete mentre altri puntano sulla trasformazione in accordo al concetto di openess delle interfacce di controllo sugli apparati quali i router. 

SDN si basa sul concetto di layer di controllo e  di commutazione separati ed interagenti

In effetti lo scenario appare ben più complesso anche se entrambi i punti di vista ne possono far a ragione parte e il concetto di separazione tra piani è già noto e attuato da anni. Un consistente passo avanti è quello che si è posto come obiettivo la definizione del protocollo OpenFlow, che dal campo accademico, una volta che è stato adottato dalla Open Networking Foundation (ONF) ha finito con il costituire un solido riferimento nel lavoro di standardizzazione.

Come tutti gli standard nella loro fase iniziale i problemi non sono mancati e alla sua definizione iniziale sono seguite attività di messa a punto favorite anche dal crescente interesse e coinvolgimento da parte dei software defined produttori. 

Quale sia il punto di arrivo di una tale evoluzione è difficile da dire al momento, ma è prevedibile che sul carro del "software defined" in breve saltino anche i pochi che ancora non l'hanno fatto, fosse solo per opportunità di marketing. Una cosa è però certa. Un software è bello (soprattutto se funziona) ma su qualche macchina fisica posizionata da qualche parte nel mondo, deve pur basarsi per software defined data enter potersi trasformare in qualcosa di realmente utile.