Heroes Happen Here: Microsoft 2008 Launch Event

Il 28-29 febbraio, come anticipato in precedenza, sono stato all’evento Microsoft per il lancio dei nuovi prodotti della famiglia “2008”. Le presentazioni nell’arco delle due giornate si sono svolte seguendo due percorsi: uno per i professionisti IT, incentrato su Windows Server 2008 e gli aspetti più tecnici di SQL Server 2008 e IIS 7.0, e uno per gli sviluppatori, in cui è stato approfondito Visual Studio 2008 e SQL Server dal punto di vista dello sviluppo appunto.

L’unico intervento in comune è stato il classico keynote in stile M$:

*yadda yadda* Noi siamo fighi *yadda yadda* $Numeri_random *yadda yadda* tette con maglietta rossa *yadda yadda*

Ovviamente ho seguito il percorso IT nelle due giornate, di cui riporto un po’ tutte le info che son riuscito a carpire (molta gente conosce già tutte ste cose da un tot, viste le varie beta e RCx che sono uscite, ma credo che possano tornare utili a chi ancora non conosce bene questi nuovi prodotti, come il sottoscritto fino all’altro ieri.)

WINDOWS SERVER 2008

Come da buona tradizione, anche a questo giro mamma M$ ha deciso di rilasciare x versioni del suo sistema operativo server (Enterprise, Data Center Edition, Standard, ecc.) introducendo nuove funzionalità e cose a caso di cui parlerò meglio avanti, ma due sono le “grandi” novità:

  • Virtualizzazione (tramite HyperV)
  • Core Server Mode

Il concetto base della virtualizzazione è abbastanza semplice: se un server fisico lavora a pieno regime solo per il 30% delle sue possibilità tanto vale metterci su altri x server virtualizzati in modo da sfruttare tutto l’hardware e convertire x server fisici in 1 solo server fisico, con sopra x server virtualizzati. Tutto ciò, se i server non crashano ( :P ), si traduce in un risparmio di energia, costi di manutenzione e costi hardware, e oltretutto porta i tempi di disaster recovery a livelli di minuti/1 ora. Infatti un server virtuale non è altro che un’accoppiata di hard disk virtuale + file di configurazione: se crasha un componente del server fisico (1 ventola, l’alimentazione, la cpu, ecc) basta staccare i dischi, recuperare i file dei server virtualizzati e spostarli su un’altra macchina.

 

Ma vediamo meglio le caratteristiche di HyperV, il nuovo sistema di virtualizzazione server M$:

  • Supporterà ambienti virtualizzati 32/64bit
  • Gestirà al massimo sistemi virtualizzati con 4 processori
  • Supporterà al massimo 64GB di ram
  • Darà la possibilità di creare un VHD fisso (standard, dimensione fissata), dinamico (dimensione variabile, cresce mano a mano che vengono aggiunti dati al VHD) o differenziale (deriva la configurazione da un altro VHD)
  • Possibilità di gestione tramite PowerShell

Anche se M$ sostiene che questo sistema è nettamente più veloce di altri concorrenti, vedi VMware, sono ancora abbastanza scettico e lo rimarrò fino a quando non vedrò i risultati (anche perchè la spiegazione del “Il nostro sistema è più veloce”, basata sul fatto che loro utilizzano un layer leggero e una partizione padre che comunica poi con le partizione figlie, mi è sembrata personalmente un po’ una vaccata).

 

Legato al discorso virtualizzazione è saltata fuori anche la questione licenze. Ovviamente ogni server virtuale dovrà avere la sua licenza, e ogni versione di Windows Server 2008 avrà il suo pacchetto di licenze virtuali aggiuntive: la standard Edition includerà 1 sola licenza virtuale, l’Enterprise Edition ben 5, e la Data Center Edition avrà a disposizione un numero illimitato di licenze virtuali.

*Pausa caffè*

Per quanto riguarda Core Server…beh che dire…M$ ci ha messo 20 anni per capire che un server non ha bisogno di interfaccia grafica…o quasi..

Core Server è una modalità di installazione di Windows Server 2008 e NON un differente release del sistema operativo: al momento del setup viene chiesto all’utente se installare l’os in modalità standard o Server Core. Quest’ultima non è altro che una versione minimale di Windows Server 2008, senza quasi interfaccia grafica e con alcune funzionalità in meno. Vediamone le caratteristiche:

  • Interfaccia grafica a linea di comando (ad eccezione di task manager, il pannello di controllo della tastiera e dell’orologio)
  • Dimensioni su disco nettamente ridotte: 1.5gb contro 6gb dell’installazione standard
  • Server roles supportati:
    • AD DS
    • AD LDS
    • DHCP Server
    • DNS Server
    • File Services (DFSR e FRS inclusi)
    • Printer Services
    • IIS7 (senza supporto asp .NET)
    • HyperV
    • Streaming Media Services
  • Feature supportate:
    • Wins Server
    • QoS
    • Telnet Client
    • Removable Storage Management (RMS)
    • SNMP
    • Subsystem for Unix Applications (SUA)
    • Multipath I/O
    • Windows Server Backup
  • Non supporta:
    • .NET Framework e tutto ciò che da lui deriva (e Powershell?!?)
    • Installer o software che abbiamo una componente grafica (popup e balle varie)

Come vedete ha tutte le funzioni base per un classico fileserver aziendale, non ha funzionalità mail e gestisce siti web prettamente statici. Supportando però HyperV ci si può virtualizzare sopra x server completi per avere tutte le funzionalità di una full (non si è capito bene se si possono aggiungere funzioni alla core base). Per quanto riguarda l’amministrazione da remoto, si possono utilizzare i seguenti strumenti: Terminal Server, WS-Management e Windows Remote Shell (WRS), MMC da server remoto, WMI e script.

 

Piccola postilla riguardante Windows Server Backup. Il nuovo sistema paraculante di M$ sembra funzionare molto meglio del suo predecessore: si possono fare backup completi del disco che, in caso di disaster recovery, possono essere ricaricati nel giro di pochi minuti sulla macchina nuova. Si stacca il disco di backup dalla macchina crashata, si attacca a quella nuova, si infila il dvd di Windows Server 2008 nel lettore e, al momento dell’installazione, si sceglie l’opzione “Disaster Recovery” e il backup dalla lista che appare et voilà, sistema ripristinato e riconfigurato per la nuova macchina. Sembra veramente interessante, appena farò i miei test vi farò sapere com’è andata.

*Pausa ramen*

Sicurezza, una parola che al giorno d’oggi è più importante che mai, e soprattutto in ambiente Windows dove, da anni, le falle rispetto ai concorrenti sono abbastanza evidenti. Vediamo cosa si sono inventati alla M$ per tappare i buchi creati in passato.

Primo punto fondamentale, su Windows Server 2008 i servizi girano su una sessione differente rispetto all’applicazione utente: se ho un server con su DHCP, DNS, Server Exchange ( :fear: ) e io sistemista avvio blocco note, quest’ultimo verrà eseguito in un “ambito” diverso rispetto ai servizi. In più, a partire da questa versione server, sono stati introdotto dei differenti livelli di sicurezza, chiamati Integrity Level, a cui ogni processo in esecuzione è associato: un processo con Integrity Level basso non può comunicare con processi con Integrity Level alto. Tutto ciò per ridurre le possibilità che un’applicazione, come può essere un trojan, vada ad interagire con servizi e processi di sistema per intaccare le radici del sistema.

Il nostro vecchio amico Windows Firewall è ancora presente, e attivo di default nelle nuove installazioni, per ci sarà da testare e configurare ad hoc il vecchio muro di accendini targato M$.

Nuovo layer di sicurezza intra-dominio è invece costituito dal Network Access Protection (NAP), un servizio che controlla la “salute” di una macchina e può decidere, in base a ben determinate policy impostate dall’amministratore, se permettere o meno l’accesso della macchina alla rete aziendale, se bloccare la connessione internet, ecc. Il Nap Agent, che presumo venga installato automaticamente alla creazione del profilo dell’utente di dominio (non è stato specificata la modalità di installazione), controlla il profilo hw e sw della macchina e manda i dati raccolti ad un Nap Server, il quale analizza i dati e agisce in base alle policy di rete impostate. Se ad esempio abbiamo negato l’accesso, tramite policy, alle macchine non aggiornate negli ultimi 30 giorni e un pubblicitario si collega tramite client patacca alla nostra rete, possiamo dire al Nap Server di reindirizzare quel portatile in una rete di quarantena con connessione a internet per effettuare Windows Update. Una volta aggiornata la macchina il nap agent, che monitora in tempo reale la condizione del client, manderà la nuova configurazione al nap server che ammetterà il portatile patacca alla rete aziendale.

La soluzione non sembra malvagia, bisogna vedere:

  • Quante risorse occupi il nap-agent, sia a livello di memoria che a livello di cpu
  • Come si installi questo famigerato nap-agent (l’esempio sopra, riportato dalla conferenza, non presume che la macchina abbia un profilo di dominio, infatti è una cosa che mi lascia qualche dubbio)
  • Quanto sia “flessibile” questo sistema e se non richieda troppe risorse per funzionare correttamente (Durante l’intervento avevano fatto anche un esempio con 1 o più server che controllavano gli aggiornamenti antivirus e a cui il Nap Server si appoggiava)

Event Viewer

, uno delle applicazioni più usate dai sistemisti, torna rifatto completamente da zero. La M$ ha scoperto che l’xml è una cosa figa (come vedremo più avanti) e ha decisodi trasformare il vecchio e obsoleto registro eventi di Windows in uno strumento finalmente utilizzabile. Essendo scritto interamente in XML si posso infatti creare filtri e viste, che non sono altro che semplici query xml, per visualizzare solo alcuni porzioni del log, per esempio gli errori di un certo tipo, o eventi generati da una specifica applicazione, o aventi un EventID particolare, e così via. Permane il sistema a trigger, non più un’entità distaccata dal log ma ora integrato in esso, secondo cui al generarsi di una particolare condizione possiamo far si che venga avviato un particolare script/eseguibile o che venga mandata una mail di alert ad un determinato indirizzo email. Vi è poi il nuovo sistema di subscription: ci si può “iscrivere” al log eventi di un’altra macchina, in modo che nel pannello di consultazione eventi appaiano in maniera trasparente anche i log remoti della macchina che ci interessa. Questa funzione era già presente sui sistemi Windows Server 2003, ma richiedeva un passaggio manuale ogni volta che si desiderava consultare i log remoti (Gestione Computer->Connetti ad un altro computer..); ora basta dare le credenziali di accesso la prima volta e poi il log sarà integrato automaticamente nel nostro Event Viewer. Infine sono state aumentate le categorie di auditing degli eventi, o, per meglio dire, sono state esplose in sottocategorie per poter finalmente creare delle policy di auditing un po’ più accurate e mirate ad un particolare ambito.

 

Ultima innovazione è un nuovo sistema di permessi sui file chiamato Rights Mnagaments Services (RMS), che, se devo dirla tutta, mi ha lasciato un attimo perplesso. L’RMS non è altro che un livello aggiuntivo di permessi sui file che può venire attivato al momento della creazione di un file; il concetto alla base di questo sistema è prevenire che un utente con determinati privilegi su cartelle/documenti possa passare i suddetti file via chiavetta USB/mail/ ad utenti che normalmente non potrebbero accedere a quei file (utenti esterni alla rete o con livelli di accesso troppo bassi). Ad esempio, se l’utente A vuole che il suo documento venga letto soltanto dall’utente B può inserire i privilegi RMS al momento della creazione del file, dando a tutti gli utenti un bel deny in lettura e all’utente B il solo permesso in lettura (o anche scrittura se vuole che possa modificarlo). Può anche essere specificata una data di scadenza dopo la quale, a prescindere dai permessi sul file, il documento non può più essere letto, ed inoltre possono essere creati dei template di permessi in modo da non dover rispecificare ogni volta le condizioni di accesso al file. Non credo ci sia bisogno di dirlo ma io lo dico lo stesso, questo sistema si basa su Active Directory il che, teoricamente, fa pensare che questo tipo di permessi vincoli comunque i documenti alla rete in cui vengono create (presumo che il file sia illeggibile al di fuori del dominio su cui sono stati definiti i permessi poichè verrà aggiunto un header particolare al file che contiene le informazioni sui permessi). Purtroppo non sono riuscito a carpire ulteriori informazioni in merito, i tizi M$ son fuggiti via prima che li placcassi.

Prima di passare a parlare di sql e IIS 7.0 vi segnalo un’ultima piccola nota di integrazione tra macchina remota e macchina locale, ovvero le Remote Apps. Cosa sono le Remote Apps? Come suggerisce il nome sono delle applicazioni lanciate su una macchina remota, che però, a differenza del passato, vengono visualizzate sul desktop della macchina locale. Io sistemista mi collego in terminal dalla macchina A alla macchina B e lancio outlook sulla macchina B? Mi si apre Outlook sulla macchina A con le mail e la configurazione della macchina B, mentre in passato si sarebbe aperto nel terminal della macchina B. Anche qua avrei alcune domande del tipo “Ma vengono salvate delle variabili/dati temporanee in locale?” “Se si, non è un buco di sicurezza grande quanto l’Alabama?” ma come detto in precedenza farò qualche bel testuccio con le poderose versioni di prova in mio possesso, poi vi farò sapere.

Ultimo (veramente lo giuro) componente nuovo del sistema è il TS Gateway, un coso che sembra fighissimo ma che in realtà, come abbiam convenuto io e un mio collega, non è altro che un router software con capacità vpn. Instrada pacchetti sulla rete e permette la creazione di tunnel virtuali, stando in ascolto sulla porta 443 (http) poichè è di solito aperta di default sui firewall aziendali e così non ci sono “noiosi problemi di configurazione” (State zitti!State zitti ho detto!).

SQL SERVER 2008

Per quanto riguarda il DB Sql di mamma M$ non ho così tanto da dire, poichè la parte IT era più incentrata su Windows Server 2008, su Sql non han detto molto e…beh insomma era di una noia mortale :P

In breve le novità introdotte dalla versione 2008:

  • Possibilità di creare svariate policy su ogni singola istanza, che vengono controllate in uno dei seguenti modi:
    • On Demand: su richiesta dell’amministratore
    • Scheduled: ogni tot ore/minuti/condizione
    • Real time: in tempo reale
    • Logged: controllate e semplicemente tracciate in un log
  • Possibilità di creare azioni specifiche per ogni singola policy (non la rispetta -> cosa faccio)
  • Possibilità di esportare DB in formato XML
  • Possibilità di concedere delle quote di utilizzo ci cpu/memoria a diversi utenti/istanze di SQL Server
  • Gestione multiserver: un server centrale che contiene la configurazione da cui uno o più server attingono per la replicazione
  • Possibilità di creare backup compressi (tempi di backup nettamente ridotti a scapito di uno stress leggermente maggiore della cpu)

E anche in questo caso la domandina scappa sempre: “La gestione quote supporterà i sistemi multiprocessore o maxerà sempre al 50% come faceva in passato?” Mistero.

 

Nuove misure di sicurezza sono state introdotte anche qui, infatti è stata introdotta una cifratura nativa del DB tramite una chiave DEK (Database Encryption Key), trasparente alle applicazioni e che non necessita di modifiche al database (come avveniva in passato). La pecca di questo sistema è che, in fase di esportazione, bisogna prima esportare un certificato, poi creare con quel certificato la chiave di decriptazione ed infine importarla nel nuovo database.

IIS 7.0

Il nuovo webserver di casa M$ presenta un bel po’ di innovazioni (ed era anche l’ora) rispetto al suo predecessore…innovazioni che se devo dirla tutta mi paiono leggermente ispirate ad Apache, ma non sta a me giudicare :P

Prima di tutto, come dicevo in precedenza, a Redmond si sono accorti che l’XML è una cosa utile: la configurazione di IIS 7.0 è infatti interamente contenuta in un file XML chiamato applicationHost.cfg e contenuto nella cartella system32\inetsrv\config. All’interno del suddetto file è contenuta tutta la configurazione del webserver, dei pool di applicazioni su cui si appoggiano i siti web e le configurazioni di ogni singolo spazio web appunto. Ovviamente è tutto modificabile direttamente via XML tramite editor, oppure tramite il classico IIS Manager (nuova interfaccia grafica), comandi Powershell e l’applicazione Appcmd (da tenere d’occhio in quanto sembra molto carina).

In quest’ottica Apache-like ogni sito web può definire una propria configurazione, contenuta nel file web.cfg situato nella root di ogni sito: questo file può contenere regole precise per il singolo sito, come una default page personalizzata, un redirect ad una certa pagina, ecc. Ciò però è possibile solo e soltanto se sono stati attribuiti i corretti permessi al sito in questione: nel file applicationHost.cfg infatti si possono stabilire permessi globali e locali per le azioni che è possibile modificare tramite il file wb.cfg. Per esempio possiamo indicare che non è permesso modifcare l’indirizzo della default home come regola generale (DenyAll), e poi specificare che invece il sito pippo.it ha il permesso di cambiarla. Nella root del sito pippo.it basta inserire un file web.cfg contenente le istruzioni per cambiare l’indirizzo della default home e,digitando pippo.it nel browser verrà visualizzata come home del sito la pagina balliamo.htm invece di default.htm. Nel caso si faccia la stessa cosa su un altro spazio web, che rientra nella lista di siti a cui abbiamo dato il DenyAll generale, verrà visualizzato un messaggio di errore. Il messaggio di errore tra l’altro mi ha fatto un po’ ridere in quanto ti sputa fuori come output una scheda dettagliatissima del filesystem del disco relativo al path del sito (“Oh va che la pagina che sta in C:\nomedir\nomesito\vacometidodeidaipergliattacchicosìagratis\default ha causato un errore!”), cosa che personalmente magari avrei evitato.

Altre innovazioni rispetto a IIS 6.0 è la possibilità di caricare solo determinati moduli, onde evitare di aver occupati x MB di ram con delle dll .net quando si ha un semplicissimo sito statico in html ad esempio. Altra cosa veramente utile è la presenza di un monitor che permette di osservare a runtime qualsiasi operazione stia facendo IIS in quel momento; dopo aver configurato cosa voler monitorare (quando una pagina crasha con un certo errore, se ci impiega troppo tempo, se risponde con un determinato header http, ecc) basta avviare il monitor via IIS Managaer o Appcmd e il gioco è fatto. Anche in questo caso bisogna vedere quante risorse questo strumento comporti, soprattutto in caso di decine/centinaia di pageview al minuto. Parallelamente è stato anche riscritto il motore di logging degli spazi web, ora molto più dettagliato e configurabile a piacimento.

Infine, come per Sql Server, anche qui c’è la possibilità di impostare un fileserver come contenitore per una configurazione condivisa di IIS, in modo tale che, nel momento in cui sia necessario aggiungere un nuovo web server alla rete, il processo di replicazione venga eseguito nel giro di minuti.

CONSIDERAZIONI FINALI

Alla fine dei due giorni di presentazioni nè son venuto fuori abbastanza soddisfatto ad essere sincero. Alcuni dubbi su alcune cose ma l’impressione generale è stata buona, almeno porca miseria a sto giro si son accorti che c’era qualcosa da cambiare e l’han cambiato apparentemente in meglio, seguendo le orme dei concorrenti (vedi Apache). Ora via di test con Windows Server 2008 e magari anche con sql va, mentre per quanto riguarda Visual Studio 2008 mi spiace ma non è il mio campo, al massimo sentirò cosa mi dirà il nostro programmatore nel caso :P

Stay tuned and sorry for the papiro

Microsoft Windows Server 2008, Sql Server 2008 and Visual Studio 2008 launch event

Giusto per rimanere in tema col precedente post ( :P ) vi segnalo l’evento lancio di Windows Server 2008, SQL Server 2008 e Visual Studio 2008, che si terrà il 28-29 febbraio negli East End Studios di via mecenate 90 a Milano.

Sito dell’evento: Microsoft Newline 2008 Launch Event

Vi saranno due percorsi: uno per professionisti IT incentrato su Windows Server 2008 e SQL Server 2008 e uno per gli sviluppatori incentrato principalmente su Visual Studio 2008.

Se può interessare, a tutti i partecipanti verrà fatto omaggio di una copia dei 3 software sopra citati (ovviamente utilizzabile solo per test e per uso personale, non sono dotati di licenze valide ma non sono nemmeno trial con scadenza).

Io quasi sicuramente sarò lì con dei colleghi :)

Sono venuto a conoscenza dell’evento tramite una cartolina mandatami dalla Microsoft, con una grafica realizzata sulla falsa riga del telefilm Heroes …non ho parole

Welcome to Windows Vista…

Oggi ero al lavoro e ci arriva un bel portatile Dell XPS M1530 da configurare: 4gb di RAM, core duo a 1.66Mhz, ecc. Una bella macchina insomma. Chiedo al capoccia cosa c’è da farci su e mi dice “Solo installare Office” e io “Perfect”.

Sapevo benissimo che la macchina montava Windows Vista ma questa ha battuto nettamente tutte: accendo, faccio la configurazione di base (nome utente, localizzazione, ecc) e poi dopo qualche minuto la procedura di configurazione giunge al termine.

“Configurazione completata, Benvenuto in Windows Vista“.

Schermata blu.

L’XPS si riavvia.

Where do you want to go today?

The image and logo displayed above are copyright of Microsoft Corporation