Development
Now Reading
Windows 10 ora ha il suo super package manager
0

Windows 10 ora ha il suo super package manager

Windows 10 è appena stato rilasciato e si può iniziare a scoprire tutte le funzionalità che il nuovo sistema si porta dietro, alcune molto note, altre molte meno. E’ il caso di PackageManagement,  un nome poco fantasioso che nasconde però il debutto sulle versioni client di Windows di un package manager che a molti ricorderà il famoso apt-get disponibile su molte distribuzioni Linux. In realtà sarebbe meglio definirlo un super package manager perché unifica le funzionalità di tutti i diversi sistemi di installazione e gestione applicazioni disponibili su Windows e sviluppati nel corso degli anni, oltre che rappresentare un sistema di inventoring e discovery. Basato su Powershell ed il nuovo Windows Management Framework 5.0, PackageManager è in realtà il perfezionamento di diverse funzionalità e tecnologie sviluppate nel corso degli anni.

In realtà sarebbe meglio definirlo un super package manager perché unifica le funzionalità di tutti i diversi sistemi di installazione e gestione applicazioni disponibili su Windows e sviluppati nel corso degli anni, oltre che rappresentare un sistema di inventoring e discovery.

Super package manager

Il nome in codice di questa tecnologia è significativo perché era OneGet, che potremmo tradurre come Get unico o univoco, e questo tradisce l’obiettivo della nuova funzionalità: unificare i dati di provenienti da tutti i sistemi di gestione del software inclusi in Windows. Un compito non semplice se si considera che le diverse tecnologie introdotte negli anni: MSI, MSU, APPX (le nuove applicazioni Windows 8+) e le fonti come il Pannello di Controllo e così via.

L'architettura interna di PackageManager

L’architettura interna di PackageManager

La particolarità di Package Manager è la sua capacità di riunire quelli che vengono chiamati provider che non sono altro che interfacce verso diverse tecnologie di discovery, inventory e installazione. Viene così fornito un singolo set di API, esposte da Powershell, attraverso cui è possibile gestire fonti locali e remote, ognuna delle quali viene collegata al sistema dal suo apposito provider. Sebbene Windows10 venga installato con provider di default per le tecnologie più comuni, è probabile che presto vengano sviluppate da terze parti interfacce che integrano tecnologie diverse, arricchendo di funzionalità e possibilità il nuovo sistema di gestione.

Quale problema risolve PackageManager

Nella sua presentazione Microsoft ha indicato come target per la nuova tecnologia gli ITPro e i DevOp. In sostanza con PackageManager gli amministratori dei sistemi client possono creare sofisticate procedure di deploy e configurazione attraverso la realizzazione di script Powershell e la possibilità di verificare i software installati su Windows, la versione installata, la presenza di eventuali nuove versioni e la possibilità di installare / disinstallare software. Diventa quindi possibile inviare comandi come

Find-Package google-chrome-x64 | Install-Package -Verbose -Force

che installa Chrome a 64bit ma anche controllare quali pacchetti o software (grazie all’integrazione con il provider Programs) siano già installati.

Funzionalità principali

Come mostrato nell’immagine, i comandi che si possono utilizzare con il PackageManager non sono tantissimi: si tratta delle funzioni principali di gestione.

L'elenco dei cmdlet disponibili

L’elenco dei cmdlet disponibili

I cmdlet sono abbastanza auto-esplicativi.  Con il secondo comando evidenziato nell’immagine che compare di seguito, viene effettuata la ricerca di tutte le versioni disponibili per il pacchetto PSReadline utilizzando però solamente il provider PSModule.

La ricerca di un pacchetto e delle sue versioni attraverso PackageManager

La ricerca di un pacchetto e delle sue versioni attraverso PackageManager

Le potenzialità di PackageManager sono evidenti se si pensa che ogni provider può operare su repository indipendenti e che in teoria si può cercare un pacchetto usando tutti i provider. La capacità di sviluppare provider personalizzati apre infatti molteplici scenari, soprattutto in ambito aziendale.

Nel terzo esempio, si procede all’installazione di un pacchetto specificandone la versione e senza necessità di specificare il provider:

L'installazione di uno dei pacchetti

L’installazione di uno dei pacchetti

Nell’ultimo esempio, invece, vengono elencati i pacchetti installati:

Inventory dei pacchetti installati

Inventory dei pacchetti installati

La particolarità di questo comando è che viene utilizzato il provider speciale Programs che è connesso al Pannello di Controllo e corrisponde alla visualizzazione Aggiungi/Rimuovi programmi di Windows. Il parametro -IncludeWindowsInstaller serve a generare un elenco completo di pacchetti confrontando Windows Installer con la sezione Aggiungi/Rimuovi programmi di Windows nella quale vengono elencati solo i programmi che decidono di registrarsi in quella sezione. E’ necessario ricordare, infatti, che la registrazione di un programma nella sezione Aggiungi/Rimuovi programma del Pannello di Controllo è “volontaria”, cioè l’installer del software può decidere di farla o meno.

Conclusioni

Il nuovo PackageManager è una novità molto attesa nel mondo della gestione dei client Windows. Le tecnologie di automazione lato server sono da anni uno dei cavalli di battaglia della piattaforma Windows perché Microsoft ha iniziato questo percorso molti anni fa, combinando tecnologie come Powershell, la gestione dei server attraverso il Server Manager fino ad arrivare alla gestione delle singole applicazioni o ruoli attraverso apposite funzionalità come la Web Platform o le estensioni di System Center VMM.

Dal lato dei client, le novità hanno impiegato più tempo ad arrivare anche se le basi – anche in questo caso – sono state gettate molti anni fa e la testimonianza di questo è la compatibilità di questa tecnologia (e di tutto Windows Management Framework) con Windows 2008 R2.

Se ve lo state chiedendo, il motivo per cui Redmond sta investendo molto in queste tecnologie è semplice: diventata service provider con Azure, Microsoft ha bisogno di una piattaforma completa che consenta a lei ed a chi sceglie Windows di gestire decine, centinaia, potenzialmente migliaia o più macchine in maniera semplice ed efficace attraverso l’automazione. Per Microsoft sarebbe semplice buttare giù qualche nuova tecnologia e lasciare ai partner e/o clienti l’onere di modificare il proprio modo di lavorare per incorporarla, come viene fatto da molte altre aziende.

Invece anche con PackageManager Microsoft ha dimostrato di volersi fare carico di tutto l’ecosistema Windows fornendo non solo la compatibilità con le tecnologie precedenti ma innovando il sistema con il supporto di provider multipli e personalizzati.

What's your reaction?
Love It
100%
Interested
0%
Meh...
0%
What?
0%
Hate it
0%
Sad
0%
Laugh
0%
Sleep
0%
Wow !
0%
About The Author
The Server-Side Technology Staff
You must unlearn what you have learned.

Leave a Response