Premessa: non sono aprioristicamente tifoso di nessun sistema operativo o linguaggio. Per me ci sono due tipi di sistemi o linguaggi: quelli adatti ad uno scopo e quelli non adatti.
Microsoft ha annunciato che a metà 2017 potrebbe uscire una versione per Linux del loro SQL Server.
Ricordo ancora quando nel 2001 Steve “Developers! Developers! Developers!” Ballmer aveva detto «Linux is a cancer that attaches itself in an intellectual property sense to everything it touches»
E aveva ragione perché la propagazione del codice aperto è esattamente lo scopo delle licenze GNU e similari.
Il primo DBMS di classe Enterprise ad ampia diffusione a supportare Linux è stato Oracle. Io stesso ne ho installati su CentOS (soluzione non supportata da Oracle, ma chissenefrega di quello che supporta Oracle) oltre 10 anni fa e probabilmente alcuni di quelli sono ancora in produzione.
La scelta di Microsoft è tutto fuorché una sorpresa.
Innanzi tutto è cambiato il management di Redmond; si è rinnovato con persone di una generazione successiva a quelle di Gates, Allen e Ballmer. I fondatori di Microsoft hanno in testa un modello classico del software: se vendi una copia, lo fai in perdita, se ne vendi due o tre vai a pareggio, tutto quello che vendi in più è margine.
Questo è un modello ancora assolutamente valido per le piccole aziende di adesso, ma Microsoft è cresciuta al di là dell’essere un mero produttore di software e probabilmente imboccherà un cammino evolutivo analogo a quello di IBM.
Sono finiti i tempi dei nemici, ovvero della politica aziendale tesa ad identificare qualche altra azienda o gruppo di utenti come un nemico contro cui opporsi e da cui distinguersi, cosa in cui un’azienda che produce telefoni e computer è ancora abilissima.
Microsoft ha sotterrato definitivamente l’ascia di guerra quando ha iniziato pragmaticamente a supportare Linux su Azure. Windows potrebbe essere un sistema operativo da usare su PC e tablet, ma in pochi si fidano a lasciarlo solo esposto a Internet su un server remoto. Ci sono molti server Windows esposti a Internet, ma sono protetti da firewall armati fino ai denti.
I DBMS sono delle brutte bestie, sono avidi di risorse e ne consumerebbero sempre di più. A questo aggiungiamo una categoria di sviluppatori a cui sono ignoti il concetti di indice, di ottimizzazione della query e di progettazione della struttura. Sono quelli che fanno i test con tabelle da 10 record e quando gli si fa notare che su 10 milioni di record la query impiega un weekend rispondono «ma da me funziona!». Sviluppatori così esistono per ogni piattaforma.
Una brutta bestia come un server SQL ha bisogno di un sistema operativo sottostante solido e leggero, che si impicci il meno possibile, tanto con la virtualizzazione oramai i server di database sono VM dedicate che svolgono solamente una funzione.
È proprio la virtualizzazione a non far perdere soldi di licenze a Microsoft nel caso in cui MSSQL venga installato su in Linux.
Il modello attuale di licenza Microsoft per gli ambienti virtualizzati è una sorta di tariffa flat: se viene licenziato con Windows Datacenter ogni socket del server fisico di virtualizzazione si possono installare su quell’hardware un numero illimitato di server virtuali Windows Server Standard.
In questo modo il fatturato per i server virtualizzati è di fatto funzione del numero di socket fisici, non del numero di server virtuali.
Una volta che un cliente ha licenziato i socket con Windows Server Datacenter, Microsoft ha fatto la vendita. Poi quante VM ci siano e che sistemi operativi ci girino sono affari del cliente.
Ecco che un Microsoft SQL server su Linux prende il meglio dei due mondi: un’installazione più robusta e la licenza di SQL Server fatturata comunque al cliente.
Molti erano allettati da Oracle perché lo si può far girare su Linux e non su Windows. Dal prossimo anno MSSQL non ha più la limitazione di girare solo su Windows.
Lascia un commento