Use Microsoft Connected Cache to Accelerate OS Downloads

Aperta
#272 12 commenti 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
18/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
powershell

Direzione di ricerca

The request needs a design decision before code: how the module would read DHCP option 235 on the client and rewrite Windows ESD and driver download URLs to a Connected Cache node, with an opt-in switch. The payload names no files or functions, so locate the existing download logic first. Done would mean an optional, documented setting that falls back to the Microsoft CDN when no cache host is set. Agree the approach with maintainers before writing code.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Is your feature request related to a problem? Please describe.
With Microsoft rolling out standalone Connected Cache in preview, it would be helpful to have the ability to utilize network-local Connected Cache Nodes when downloading the Windows ESD image and drivers hosted by Windows Update. This would drastically reduce outbound network usage for large deployment loads (ex. only need to "download" Windows ESD once for 100+ device stagings).

Describe the solution you'd like
Before downloading content from Microsoft's CDN, check for DHCP option code 235 (DOCacheHost) on the client which, if configured for Connected Cache, will contain the local Connected Cache Node's FQDN or IP address (Source). If the value is set, rearrange the content download URL to use the connected cache endpoint:
http://[HostMachine-IP-address]/filestreamingservice/files/<file-hash>/<file-name>?cacheHostOrigin=<original-MS-download-server-FQDN> (Source)
If the file has not yet been cached by the Connected Cache Node, it will fetch the file from Microsoft's CDN, cache it on the node, and serve it to OSDCloud as if you had downloaded directly from the CDN. Future requests for that file would then be served directly from the Connected Cache Node.
Make use of this feature optional to allow administrators to choose not to use this solution (ex. option code 235 is in use elsewhere).

Describe alternatives you've considered
Running a cache solution that sits on the entire network is also an option, though this would present extra setup/maintenance burden to administrators and might not always be allowed in a corporate environment. For example, LANCache or a similar solution can serve this purpose but would require extra configuration, an extra server separate from any existing Connected Cache node, and redirection of all DNS on the network in order to function effectively.

Additional context
I work as an administrator for a medium/large Microsoft shop, and we are currently testing Connected Cache for use across our global footprint. Being able to cache Windows install files for OSDCloud would markedly reduce bandwidth load (especially in some global offices with less-than-stellar internet service) and improve download speeds.

Lingua principale
PowerShell
Stelle
251
Fork
102
Merge medio
2m
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OSDeploy/OSD

Tutte le issue di OSDeploy/OSD

Issue simili

Altre issue su DevOps

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.