In Windows Server 2012 (scarica la versione di valutazione gratuita) Microsoft ha potenziato e reso più flessibili le tecnologie a disposizione di sviluppatori web per gestire e distribuire sul Web servizi, applicazioni o siti. Il sistema conserva l’apertura verso software open source e linguaggi non Microsoft delle principali versioni, è stato reso più flessibile nella gestione di servizi che fanno uso di tecnologie di cloud computing e ne è stata migliorata sicurezza e scalabilità, in modo da risultare efficiente anche in situazioni ad alto carico di lavoro.
Windows Server 2012, inoltre, è il sistema operativo più completo per abilitare scenari di Cloud Ibrido. In congiunzione con i servizi di Windows Azure (prova la trial gratuita), è semplice distribuire applicazioni, servizi o siti sfruttando, in base alle necessità, risorse presenti nel datacenter dell'azienda o risorse presenti nella Cloud creata con Windows Azure.
Internet Information Services 8
Windows Server 2012 viene distribuito con la versione 8 di Internet Information Services. Il web server è in grado di ospitare applicazioni scritte sia in ASP.NET 3.5, sia in ASP.NET 4.5, ma anche, attraverso un modulo integrato, in PHP ospitate su database MySQL. È stato migliorato il supporto a WebSocket, sono state potenziate le opzioni di sicurezza e molto è stato fatto per supportare scenari ad alto carico. Eseguire applicazioni web scritte in ASP.NET 4.5 su Windows Server 2012 migliora le presentazioni di avvio e ad una migliore ottimizzazione della memoria.
ASP.NET 4.5 e ASP.NET 3.5
Windows Server 2012 è distribuito con la versione 4.5 della piattaforma .NET. IIS 8 è in grado di ospitare, sulla stessa macchina e in contemporanea, sia applicazioni scritte per la versione 3.5 del linguaggio ASP.NET, sia applicazioni scritte per la versione 4.5. Per abilitare questa funzione basterà aggiungere ad IIS i servizi dedicati alle due versioni del linguaggio e, in fase di configurazione del sito, definire l'application pool da utilizzare. IIS 8.0 include anche nuovi strumenti di configurazione per siti sviluppati in ASP.NET 4.5. È così possibile, ad esempio, abilitare o disabilitare la compilazione JIT (just in time) del codice o il prefetch delle applicazioni web, due strumenti che velocizzano l’avvio e l’esecuzione di siti scritti con la nuova tecnologia Microsoft.
Websocket
Le moderne applicazioni Web, ma anche giochi online o applicazioni di comunicazione basate sul Web, fanno un uso estensivo della tecnologia WebSocket che permette a browser e server di comunicare in modo efficiente e sicuro attraverso un canale diretto e full-duplex, superando i limiti del protocollo del protocollo HTTP. IIS 8 su Windows Server 2012 supporta la tecnologia WebSocket per le applicazioni scritte con linguaggio ASP.NET 4.5. La tecnologia può essere abilitata come servizio durante la configurazione di IIS.
Prestazioni
Alcune delle principali novità di IIS 8 riguardano le prestazioni e la capacità del web server di mantenere la qualità del servizio anche se sottoposto a pesanti carichi di lavoro. Abbiamo già parlato delle migliori prestazioni delle applicazioni scritte in ASP.NET 4.5, ma IIS ha anche altre funzionalità più specificamente indirizzate alle operazioni del server.
IIS 8 su Windows Server 2012 supporta la tecnologia NUMA (Non-Uniform-Memory-Access) che permette, se l'hardware lo supporta, di associare porzioni di memoria ad uno specifico core di CPU (l’accoppiata rappresenta un “nodo NUMA”) ed evitare il collo di bottiglia rappresentato dal tempo di accesso alla memoria stessa. In IIS 8 è possibile associare ad uno specifico nodo NUMA uno o più processi di lavoro. Poiché il miglioramento di prestazioni dovuto all'uso di questa tecnologia dipende dal tipo di hardware utilizzato, IIS 8 offre diverse opzioni che permettono di stabilire il giusto tipo di configurazione: è possibile lasciare al sistema la decisione oppure definire il metodo da usare per associare il processo di lavoro al nodo.
Nella figura in basso vediamo come sia possibile impostare, su hardware NUMA, l’avvio automatico di processi di lavoro impostando l’opzione Maximum Worker Processes a 0.
Sempre in tema di prestazioni, IIS 8 introduce anche una nuova modalità di gestione del throttling della CPU, ossia un nuovo metodo per stabilire il limite di utilizzo delle risorse di un processore. In questa versione del web server è possibile così stabilire la percentuale massima di utilizzo della CPU da parte dell'application pool e definire l'azione da intraprendere quando il limite viene raggiunto. Nella figura in basso vediamo come limitare un application pool ad utilizzare, al massimo, il 30% delle risorse della CPU e ad attivare la funzione di throttling quando questo limite viene superato.
Sicurezza
IIS 8 migliora la sicurezza dei servizi Web e FTP attraverso l'uso di due diverse funzionalità. La prima, chiamata Dynamic IP Address Restrictions (in figura), permette di impedire le connessioni ad un server in base al numero di richieste contemporanee oppure in base al numero di richieste in uno specifico lasso di tempo eseguite da un indirizzo IP. La seconda, chiamata FTP Logon Attempt Restrictions, consente invece di difendersi da attacchi cosiddetti brute-force bloccando l'accesso al servizio Ftp per quell'indirizzo IP che ha superato uno specifico numero di tentativi di accesso falliti nel tempo specificato dall'amministratore del server.
Siti HTTPS
Una delle limitazioni delle versioni precedenti di IIS consisteva nella difficoltà di configurare, su un unico indirizzo IP, più siti web con il supporto alle connessioni HTTP crittografate (HTTPS). In ISS 8 la soluzione al problema è stata trovata utilizzando la funzionalità Server Name Indication che permette di specificare, nella configurazione di un sito protetto da connessioni HTTPS, anche il nome host in modo da associare in modo preciso uno specifico certificato di crittografia ad uno specifico sito, anche se eseguito sullo stesso indirizzo IP di un altro.
Windows Server 2012 e Windows Azure: il Cloud Ibrido.
Come già avuto modo di sottolineare nelle lezioni precedenti, Windows Server 2012 è un sistema operativo pensato per supportare le tecnologie a disposizione di IT Manager e sviluppatori Web negli anni a venire. È, in altre parole, un sistema “a prova di futuro”. Molto profondo è dunque in questa versione il supporto ad ambienti ibridi di cloud computing, ossia ambienti che prevedono l'uso contemporaneo di infrastrutture private e pubbliche di cloud computing per la gestione e la distribuzione di servizi o applicazioni. Grazie a queste tecnologie è possibile, ad esempio, collegare in modo sicuro un'applicazione di commercio elettronico eseguita su Windows Azure con il CRM aziendale conservato all'interno del datacenter privato, oppure estendere parte dei livelli di un'applicazione eseguita nel datacenter privato nel Public Cloud per sfruttarne le caratteristiche di elasticità, self-serving o altro.
Grazie alla stretta integrazione fra Windows Azure e Windows Server, Microsoft riesce a garantire ambienti di Cloud ibrido coerenti. Windows Azure Active Directory permette di integrare nella Cloud l'Active Directory locale, sfruttando così le configurazioni già realizzate all'interno della propria infrastruttura; le macchine virtuali create all'interno del datacenter aziendale possono essere migrate facilmente e rese disponibili all'interno della Cloud di Windows Azure con un semplice upload; grazie a System Center 2012 (prova la trial gratuita), che sarà reso compatibile con Windows Server 2012 attraverso uno specifico Service Pack, è possibile, da un unico software, gestire e monitorare server e applicazioni sia all'interno di un Public Cloud, sia all'interno di un Private Cloud.
L'integrazione fra l'infrastruttura in una Cloud pubblica e l'infrastruttura privata è garantita da un intero set di tecnologie di networking. Windows Server 2012 supporta la tecnologia Windows Azure Service Bus, che garantisce lo scambio di informazioni a livello applicativo fra servizi nel Public Cloud e servizi ospitati all'interno dell'azienda attraverso un gran varietà di protocolli (tra cui REST); la tecnologia Windows Azure Connect, con cui si creano reti virtuali protette e connessioni dirette fra macchine fisiche o virtuali, conservati nel datacenter o nel Cloud Pubblico; la tecnologia SQL Data Sync, che consente la migrazione e la sincronizzazione di database SQL conservati sui propri server con i database di Windows Azure.
Alcune di queste tecnologie sono state introdotte con la cosiddetta Spring 2012 Release di Windows Azure. Tra queste fondamentale è la tecnologia di Virtual Network con cui si possono connettere intere subnet create su Windows Azure, cui sono collegate più macchine virtuali, alla rete del proprio datacenter. In questo modo, attraverso un protocollo sicuro, una subnet di macchine virtuali nella Cloud pubblica diventa parte della rete presente nel Cloud Privato abilitando complessi scenari di strutturazione delle proprie risorse IT.
Tecnologie Windows Azure in Windows Server
I provider di servizi di hosting potranno inoltre sfruttare alcune funzionalità di Windows Azure direttamente all'interno della propria infrastruttura costruita con Windows Server 2012 per offrire servizi self-service ai clienti che desiderano aprire spazi web. Questa caratteristica, attualmente in technical preview, sarà disponibile grazie ad un aggiornamento.
Due le funzionalità di Windows Azure aggiunte a Windows Server: Web Sites (in italiano Siti Web) è una funzionalità che consente di distribuire in modo self-service e automatizzato siti web progettati con una grande varietà di tecnologie (ASP.Net, PHP, Node.js) oppure basati su un'applicazione (WordPress, Joomla, DotNetNuke, Umbraco, Drupal). Virtual Machine (Macchine virtuali) consente invece ai provider di fornire ai propri clienti, grazie a Windows Server 2012 e System Center 2012, macchine virtuali, sempre in modalità self service e automatizzata. I servizi saranno gestiti, anche su Windows Server come su Windows Azure, dal Service Management Portal mentre un set di API (le Service Management API) consentiranno ai provider di integrare le funzionalità del portale con i propri servizi.