Windows 10 as a Service - Gestione degli aggiornamenti Quality Updates

Questo articolo è parte di una serie che vuole parlare dei concetti di Windows come Servizio

Come già descritto in Windows 10 vengono forniti due tipologie di aggiornamenti:

  • Quality Updates
  • Features Updates

In questo post parliamo dei Quality Updates (le patch mensili) mentre nel prossimo tratteremo i Features Updates (le build di sistema operativo).

I Quality Updates sono aggiornamenti di sicurezza e di bug fixing che vengono proposti tipicamente ogni secondo martedì del mese come avviene per le patch degli altri sistemi operativi Microsoft. E' però possibile (come già avviene per Windows 7 e 8.1) che possano essere rilasciati degli aggiornamenti "straordinari" nel caso sia ritenuto necessario per motivi di sicurezza o di stabilità della piattaforma.

I Quality Updates vengono rilasciati in pacchetti cumulativi: il quality update per la build 1607 di Aprile 2017 comprende tutte le fix di Aprile più tutte quelle uscite a partire da luglio 2016 (data di rilascio della build 1607).

Questa metodologia porta dei vantaggi e dei punti di attenzione, vediamoli insieme.

Vantaggi

  • Uniformità della piattaforma. Spesso le aziende non installano tutte le patch rilasciate creando degli "arlecchini" di sistema operativo che portano ad anomalie non riproducibili a priori. Qualsiasi azienda che testa un prodotto prima del rilascio prende il sistema operativo che supporta, lo aggiorna all'ultimo grado di patch ed effettua i test. L'esistenza di un solo pacchetto cumulativo porta a semplificazione e uniformità e di conseguenza a qualità/stabilità della piattaforma.
  • Velocità di messa in opera. Mettiamo che io debba fornire ad un utente un device Windows 7 e che questi mi arrivi con la RTM del sistema operativo a bordo o che io abbia una build di sistema operativo che comprende solo alcune patch. Per farlo arrivare "al livello di patch desiderato" dovrò applicargli una moltitudine di patch che comporteranno diversi reboot e conseguente investimento di tempo. Un device Windows 10 a qualsiasi grado di patch si trovi, basta che applichi l'ultimo quality update approvato dall'IT ed effettui un singolo reboot e sarà pronto. Facile no?

Punti di attenzione

  • Essendo cumulativi e quindi sempre più grandi, bisogna avere dei sistemi di distribuzione dei quality updates che supportino delle ottimizzazioni in grado di evitare problematiche di consumo eccessivo di rete
  • Sempre essendo cumulativi, se una patch provoca un problema alla mia postazione di lavoro, non potrò installare quality updates fino a che non avrò risolto la problematica

Vediamo di espandere queste tematiche:

 

Ottimizzazione della distribuzione

Per evitare problemi di banda è necessario dotarsi di un sistema di distribuzione che ottimizzi il carico sulla rete.

Io vi parlerò di quelli proposti da Microsoft ma ce ne sono diversi anche di terze parti (ho però solo alcune informazioni relative alle loro ottimizzazioni apportate da tool non Microsoft quindi, per evitare inevitabili inesattezze, vi invito ad informarvi puntualmente su cosa prodotto di terze parti possa offrire). Articolo

 

Express Updates

I Quality Updates hanno al loro interno la capacità di individuare i "pezzi" mancanti ad un device. Questa tecnologia è chiamata Express Update e permette di applicare solo il delta dell'aggiornamento a me necessario.

Ipotizziamo che io abbia un device che utilizza Anniverary Update (1607) con il quality update di Aprile 2017, all'uscita del quality update di Maggio 2017 (che comprende tutte le patch sin dal Luglio del 2016) potrò usare la tecnologia di express update per applicare al mio device solo i pochi bit che distinguono il quality update di Maggio da quello di Aprile già in mio possesso.

 

Express Updates

La tecnologia di Express Updates è supportata da tutti prodotti Microsoft sotto elencati: Windows Updates, WSUS, SCCM (dalla versione 1702 in avanti).

 

Branch Cache

Tecnologia già disponibile da diversi anni in grado di condividere contenuti tramite tecnologia peer to peer.

Branch Cache

Il principio si basa sul fatto che un server di distribuzione mandi un dato ad un device e questi sia in grado di condividerlo ai rimanenti device della sua sottorete.

Tramite Branch cache è possibile condividere in maniera peer to peer qualsiasi contenuto dall'aggiornamento di sistema al pacchetto di distribuzione software (es. Adobe Reader) ad un contenuto multimediale (es. Web TV).

Il requisito di Branch cache lato client è avere un sistema operativo versione Enterprise (Windows 7, 8.1 o 10).

Per maggiori informazioni si può dare uno sguardo qui.

 

Delivery Optimization

Si tratta di una nuova modalità di condivisione degli aggiornamenti (e solo quelli) Peer to Peer in grado di ottimizzare la banda consumata.

Windows Update delivery optimization si basa su concetti di condivisione peer to peer dei contenuti per cui è possibile che un device recuperi gli aggiornamenti necessari non da internet ma da dei device nella sua rete locale che già hanno gli aggiornamenti richiesti. Come vedremo questa metodologia è supportata (al momento) da Windows Update e da WSUS e si applica a tutte le edizioni di Windows 10.

aggiornamento-da-piu-posizioni

Windows Update/Windows Update for Business

Prima possibilità: faccio scaricare gli aggiornamenti da Internet tramite il servizio di Windows Update. In questo caso non mi devo preoccupare del peso dei Quality Updates in quanto Windows Update lavora per delta sfruttando la capacità di Express Updates (vedi sopra).

Per evitare però un aggiornamento "selvaggio" delle macchine è possibile gestire dei gruppi di distribuzione tramite Windows Update for Business (supportato tramite Group Policy o MDM).

Inoltre, sempre in tema di ottimizzazione della banda, è possibile utilizzare Delivery Optimization.

 

Windows Server Update Server (WSUS) WSUS è un ruolo di Windows Server compreso nella piattaforma il che vuol dire che qualsiasi Windows Server Standard o Datacenter Edition può utilizzarlo senza costi aggiuntivi.

Quello che fa è contattare il servizio di Windows Update scaricando il catalogo degli aggiornamenti di interesse per poi scaricare e rendere disponibile l'aggiornamento vero e proprio, una volta approvato dall'amministratore IT.

Quindi è possibile creare una gerarchia di server WSUS che forniscono il servizio di aggiornamento della piattaforma Windows/Office evitando che i device vadano a generare traffico Internet

Windows Server Update Services

WSUS permette di salvare banda verso internet e dall'altra fornisce il supporto agli Express Updates e a Delivery Optimization e Branch Cache. Se la domanda che vi fate è "ok gli Express Updates ma tra Delivery Optimization e Branch Cache qual è meglio utilizzare?" la risposta è di prediligere Delivery Optimization in quanto è una tecnologia nuova creata specificatamente per gestire al meglio gli aggiornamenti. Comunque sia la "vecchia" Branch Cache funziona che è una meraviglia!

 

System Center Configuration Manager (SCCM)

SCCM è un prodotto Microsoft che si occupa di gestione di device sin dal 1994 anno della sua creazione (si chiamava SMS all'epoca).

Negli anni questo prodotto è cresciuto enormemente nelle funzionalità tanto da posizionarsi saldamente tra i leader della categoria. A differenza di WSUS o Windows Update stiamo parlando di un prodotto a pagamento che però si occupa di tutta una serie di servizi tra cui hardware/software/asset inventory, software/update distribution, operating system deployment, reporting, remote management, software metering, endpoint manager, MDM integration e molti altri...

Su SCCM ci sarebbe da scrivere libri (l'ultimo che ho letto sull'argomento era più di 1200 pagine...) ma in questa sede mi preme sottolineare la particolarità di questo tool ovvero la sincronia con le build di Windows 10.

A seguito di un recente annuncio, è stato dichiarato che Windows 10, Office 365 e SCCM riceveranno un aggiornamento di funzionalità 2 volte l'anno, in marzo e in settembre.

Quindi SCCM è un tool maturo, completo e che si evolve continuamente per adeguarsi a supportare le nuove feature di Windows 10 man mano che vengono rilasciate nuove build.

A riprova di ciò, l'ultima evolutiva disponibile di SCCM (al momento in cui scrivo questo articolo) è la 1702 che supporta le caratteristiche della build Creators Update e che implementa il supporto agli Express Update.

Inoltre è già disponibile da anni il supporto a Branch Cache e a Peer Cache mentre Delivery Optimization non è al momento supportato.

 

E se una patch provoca problemi?

Partiamo dall'assunzione che nel mondo client è difficile che una patch di sicurezza o di bug fixing provochino problemi. Se succede, può essere che venga introdotta un'instabilità (es. crash di sistema) oppure problemi ad applicativi.

In entrambi i casi la telemetria di Windows 10 è in grado di comunicare la problematica in maniera anonima e questo fa si che Microsoft effettui una correzione. Se per esempio la patch di Marzo 2017 provoca problemi, è possibile che venga ripubblicata corretta oppure che la patch di Aprile 2017 contenga una patch di Marzo 2017 modificata.

E' anche possibile (e consigliato) utilizzare l'applicazioni Hub di Feedback inclusa in ogni versione di Windows 10.

 

Feedback Hub

 

Se poi si ha a disposizione un contratto di supporto Premier, è consigliato aprire un caso di supporto per avere una risposta celere.

In generale Microsoft non ha volontà di introdurre cambiamenti tali da dare problemi al sistema o applicazioni ed è organizzata per poter risolvere eventuali problematiche.

In due anni (quasi) di vita di Windows 10 non ho mai avuto un cliente che ha avuto una problematica a seguito dell'installazione di un quality update ne letto di problematiche a  livello consumer.

 

E se volessi più controllo?

Di recente è stato annunciato che saranno disponibili delle nuove opzioni di aggiornamento: vengono affiancati ai quality update (bug fixing + security patch) dei nuovi pacchetti cumulativi di solo bug fixing.

Perché tutto ciò? La risposta è che si vuole lasciare più tempo alle aziende per provare gli aggiornamenti non di sicurezza.

Il path di adozione dovrebbe essere (si veda l'immagine sotto):

  • Aprile, esce il quality update di fix di sicurezza e non che viene adottato da tutti i device
  • Aprile, esce anche un quality update che comprende solo delle nuove fix non di sicurezza così che possa essere adottato il prima possibile da un numero "X" di utenti di test così da testare eventuali problematiche.
  • Maggio, esce il quality udpate di fix di sicurezza e non che viene adottato da tutti i device (a patto che il gruppo di test che ha ricevuto il pacco di non-security fix non abbia riscontrato problemi)
  • Maggio, esce un quality update che comprende delle nuove fix non di sicurezza, lo faccio adottare al mio gruppo pilota
  • Giugno, esce il nuovo quality update che comprende fix di sicurezza e non e lo faccio adottare a tutti i device...
  • ....

Quality Updates new option

 

Insomma è un'opzione in più per testare il prima possibile le fix non di sicurezza.

Riassumendo

Le patch di Windows 10 (i quality update) sono mensili, vengono proposti in pacchetti cumulativi il che porta vantaggi e punti di attenzione.

E' secondo me importante avere una strategia di deployment il più efficiente possibile basata su gruppi di adozione delle patch come già dovrebbe essere dai tempi di Windows NT...

Inoltre, per azzerare il problema della dimensione delle patch cumulative, dotarsi di prodotti in grado di sfruttare la tecnologia di Express Update e di salvare banda di rete tramite ottimizzazioni simili a Delivery Optimization o Branch Cache.

 

Nel prossimo post della serie, parleremo di Features Update (le build di sistema operativo)