Microsoft Connected Cache: punti di distribuzione su Microsoft Intune

Con la sempre più crescente dipendenza delle aziende dalle soluzioni cloud, diventa cruciale gestire in modo efficiente le risorse di rete; la distribuzione di aggiornamenti software può generare un enorme impatto sulla larghezza di banda, specialmente quando centinaia o migliaia di dispositivi tentano di scaricare lo stesso aggiornamento simultaneamente.

Per questo motivo, i dispositivi gestiti da Microsoft Intune dovrebbero essere configurati per sfruttare la funzionalità Delivery Optimization (DO): questa soluzione di caching integrata nel sistema operativo sfrutta la condivisione di contenuti peer-to-peer.

Oltre all’adozione della funzionalità DO, un’ulteriore passo avanti in ottica di condivisione dei contenuti è la funzionalità Microsoft Connected Cache (MCC) che risponde a questa esigenza con un approccio innovativo, aiutando le aziende a ridurre la latenza, migliorare l’efficienza della rete e ottimizzare l’esperienza utente. Secondo un rapporto di Microsoft, le aziende che hanno implementato Microsoft Connected Cache hanno visto una riduzione nell’utilizzo del traffico Internet fino al 90% durante il patching mensile di Windows Update.

In questo articolo, esploreremo cos’è Microsoft Connected Cache, come implementarlo e perché potrebbe essere una scelta strategica per i decision maker.

Panoramica

Microsoft Connected Cache è una soluzione di caching software che eroga contenuti distribuiti da Microsoft, come aggiornamenti di Windows e/o Win32 app di Intune a dispositivi Windows 10/11. La tecnologia alla base di Microsoft Connected Cache è piuttosto semplice: MCC utilizza un server che funge da punto di distribuzione locale per i contenuti richiesti, consentendo ai dispositivi dell’azienda di scaricare contenuti direttamente dal server cache locale anziché dai server Microsoft.

Figura 1 – Microsoft Connected Cache workflow

Quando un dispositivo nella rete aziendale richiede un aggiornamento o un pacchetto software, il contenuto viene prima verificato dal server MCC; se il contenuto è disponibile, viene distribuito direttamente al dispositivo senza ulteriore traffico Internet. Se il contenuto non è disponibile nella cache locale, viene scaricato dal Content Delivery Network (CDN) di Microsoft e memorizzato nella cache per future richieste; questo farà sì che le richieste successive dello stesso contenuto verranno processate direttamente dalla cache, riducendo la latenza e il consumo di larghezza di banda.

Considerando quanto descritto in precedenza, è possibile individuare alcuni vantaggi chiave relativi all’adozione di Microsoft Connected Cache, come:

  • Riduzione nel consumo di banda: grazie al caching locale, Microsoft Connected Cache può ridurre significativamente il traffico Internet, specialmente durante gli aggiornamenti mensili; questo è particolarmente vantaggioso per le aziende con connessioni limitate o con uffici remoti che si affidano a connessioni Internet lente.
  • Miglioramento delle prestazioni: scaricare contenuti dalla cache locale, anziché dal cloud, riduce la latenza e accelera il processo di aggiornamento per gli utenti finali.
  • Semplicità di gestione e scalabilità: integrato con il portale Azure, MCC semplifica il monitoraggio del caching a livello di rete e la scalabilità è garantita dal supporto per ambienti enterprise.
  • Sicurezza e conformità: i contenuti memorizzati nella cache sono accessibili solo ai dispositivi autorizzati, riducendo il rischio di accessi non autorizzati

Requisiti

I requisiti per poter attivare la funzionalità Microsoft Connected Cache sono:

  • Licensing
    • Subscription Azure valida
    • Windows Enterprise E3 o E5 (inclusa in Microsoft 365 F3, E3, o E5)
    • Windows Education A3 o A5 (inclusa in Microsoft 365 A3 o A5)
  • Cache node (Windows)
    • OS Windows 11 o Windows Server 2022 + CU Marzo 2024
    • Supporto Nested Virtualization
  • Cache node (Linux)
    • OS Ubuntu 22.04 o Red Hat Enterprise Linux (RHEL) 8.* – 9.*
    • Il container engine di default (Podman) deve essere sostituito con Moby
  • Network
    • Raggiungibilità dei seguenti endpoint
    • Assenza servizi/applicazioni che utilizzino la porta 80
    • Non è supportato l’utilizzo di più NIC su un singolo host Connected Cache
    • La NIC e il BIOS dovrebbero supportare SR-IOV per prestazioni ottimali

Creazione risorsa Microsoft Connected Cache

Il primo passo per poter attivare la funzionalità MCC è la creazione di una risorsa dedicata sul portale Azure; gli step seguenti descrivono la procedura di creazione:

  • Eseguire l’accesso al portale Azure con credenziali amministrative
  • Accedere alla sezione Resources e cercare la risorsa > Microsoft Connected Cache for Enterprise and Education
Figura 2 – Selezione risorsa Azure Microsoft Connected Cache
  • Selezionare la risorsa
  • Premere sul pulsante Create
Figura 3 – Creazione risorsa Azure
  • Selezionare la subscription, il Resource Group all’interno del quale verrà creata la risorsa, la region ed inserire un nome da assegnare al Microsoft Connected Cache
  • Procedere con la creazione della risorsa

Figura 4 – Configurazione MCC da portale Azure

  • Verificare che il processo di creazione termini correttamente ed accedere alla risorsa appena creata
Figura 5 – Verifica corretta creazione risorsa

Creazione e configurazione Cache node

Ultimata la creazione della risorsa Microsoft Connected Cache, è ora necessario procedere con la creazione di un Cache node:

  • Eseguire l’accesso al portale Azure con un account amministrativo
  • Accedere alla sezione Microsoft Connected Cache for Enterprise and Education e selezionare la risorsa precedentemente creata
  • Espandere la sezione Cache Node Management e selezionare l’opzione Cache Nodes
  • Premere sul pulsante Create Cache Node
Figura 6 – Creazione Cache Node
  • Inserire il nome che si vuole assegnare al nodo e selezionare l’OS sul quale verrà installata la funzionalità
Figura 7 – Configurazione Cache Node
  • Premere sul pulsante Create
  • Il processo risulterà completato quando il nodo risulterà in stato Not Configured
Figura 8 – Verifica corretta creazione Cache Node
  • Selezionare la risorsa appena creata e procedere con le configurazioni richieste
    • Impostare la cache che verrà riservata ai contenuti (considerare 8 GB aggiuntivi necessari per l’installazione della funzionalità)
    • Impostare la configurazione proxy nel caso in cui la connessione Internet avvenga attraverso un proxy
Figura 9 – Configurazione Cache Node
  • Premere sul pulsante Save e procedere con la configurazione accedendo al tab Provisioning
  • Effettuare il download del Provisioning Package attraverso l’apposito pulsante
  • Selezionare la tipologia di account che verrà utilizzata: GMSA o Local Account (in questo ambiente, è stata selezionata l’opzione Local Account)
  • Copiare il comando che dovrà essere eseguito sul Connected Cache server presente all’interno della sezione Cache node provisioning
Figura 10 – Predisposizione Provisioning Package
  • Accedere al server predisposto per ospitare la funzionalità Microsoft Connected Cache
  • Aprire un command prompt in contesto amministrativo e procedere con l’installazione della componente WSL (Windows Subsystem for Linux) attraverso il comando
    wsl.exe --install --no-distribution
  • Assicurarsi che l’account locale che si vuole utilizzare abbia diritti di Log on as a batch job
Figura 11 – Verifica permessi account
  • Copiare il pacchetto di provisioning precedentemente scaricato ed estrarre il contenuto all’interno di una folder specifica
  • Avviare Powershell in contesto amministrativo, posizionarsi sulla folder dove è stato estratto il pacchetto di provisioning ed eseguire i seguenti comandi
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
$User = "%LocalMachineName%\%Username%" (es: $User = "AVG-MCC\Localadmin")
$myLocalAccountCredential = Get-Credential (nella finestra di richiesta credenziali, inserire utente e password dell'account locale)
  • Eseguire la cmdlet copiata in precedenza dal portale Azure
    Es: ./provisionmcconwsl.ps1 -installationFolder c:\mccwsl01 -customerid <customerid> -cachenodeid <cachenodeID> -customerkey <customerkey> -registrationkey <registrationkey> -cacheDrives "/var/mcc,50" -mccRunTimeAccount $User -mccLocalAccountCredential $myLocalAccountCredential
Figura 12 – Esecuzione Provisioning Package
  • Verificare dal portale Azure che lo stato del cache node risulti in stato Healthy
Figura 13 – Verifica stato Cache Node
  • Verificare il corretto funzionamento del container attraverso il seguente comando
wget http://localhost/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com

Figura 14 – Test di download del contenuto da Cache Node
  • Verificare il corretto download del contenuto dal nodo MCC accendendo al seguente URL http://[HostMachine-IP-address]/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com (sostituire HostMachine-IP-address con l’indirizzo IP del server MCC)
  • In caso di corretto funzionamento, verrà eseguito il download di un file png

Lato Microsoft Connected Cache, è possibile verificare le rispettive metriche sul download dei contenuti attraverso il portale Azure:

Figura 15 – Verifica metriche download da portale Azure

Creazione Configuration Policy per definizione Cache Node

L’ultimo step necessario per una corretta adozione di MCC è quello di impostare il Cache node nella configurazione della funzionalità Delivery Optmization; riportiamo qui sotto gli step necessari per effettuare questo tipo di configurazione attraverso un’apposita Configuration policy su Intune:

  • Accedere alla console Microsoft Intune admin center con credenziali amministrative
  • Accedere alla sezione Devices > Windows > Configuration
  • Creare una nuova policy attraverso l’apposito pulsante Create > New Policy
  • Selezionare dal menu a tendina Platform l’opzione Windows 10 and later
  • Selezionare dal menu a tendina Profile type l’opzione Settings Catalog
  • Procedere con la creazione della nuova policy attraverso il pulsante Create
  • Inserire un nome ed una eventuale descrizione e procedere con il pulsante Next
  • Premere sul pulsante Add Settings e selezionare l’opzione Delivery Optimization
  • Selezionare il setting DO Cache Host ed inserire il nome o l’indirizzo IP del cache host nell’apposita sezione
Figura 16 – Settings Catalog per configurazione Cache Node
  • Procedere con la selezione dei restanti settings per la configurazione della funzionalità Delivery Optimization in base alle necessità
  • Premere sul pulsante Next
  • Assegnare un eventuale Scope Tag e premere sul pulsante Next
  • Procedere con l’assegnazione della policy ad uno specifico gruppo Entra ID contenente i device che dovranno ricevere il contenuto dal MCC
  • Completare la procedura di creazione della policy attraverso il pulsante Create

Riferimenti

Si riportano alcuni utili riferimenti alle documentazioni ufficiali:

Conclusioni

Microsoft Connected Cache offre una soluzione efficace per le aziende che cercano di ottimizzare il loro utilizzo della rete; riducendo il consumo di banda e accelerando la distribuzione dei contenuti, MCC consente di migliorare la user experience degli utenti finali ed evitare blocchi derivanti dalla saturazione della rete.