eglipeter
Goto Top

Windows SCCM vs Puppet + Chocolatey

Hallo zusammen,
ich möchte gerne für ca. 10 Windows Clients zentral die installierte Software (und Konfiguration) verwalten. User-Verwaltung ist nicht so sehr interessant. Zwei Szenarien kann ich mir im Moment vorstellen:
  • Windows SCCM + Domäne, wobei ich hier gerne wissen würde, ob sich das für 10 Clients lohnt.
  • Puppet mit (lokalem) Chocolatey: Wie groß ist hier der Aufwand verglichen zu SCCM? Der Vorteil wäre, dass später eventuell auch Linux mit dabei sein könnte. Eventuelle Konfigurationen würde ich in der lokalen Gurppenrichtlinie über Puppet setzen lassen.

Sehr viel mehr Clients erwarten wir in nächster Zeit eher nicht. Mobile-Device-Management läuft über eine andere Plattform, Windows Intune möchte ich als "Cloud"-Lösung nicht. Was sind die Anforderungen? Zentral sollten Softwareupdates für die Programme eingespielt werden können und Software installiert deinstalliert werden können. Darüberhinaus sollten wichtige Einstellungen für Programme (z.B. Firefox und Thunderbird: Addons, about:config-Werte) definiert werden können. Ein exotischerer Wunsch wäre, USB-Sticks zentral autorisieren zu können, aber das sollte kein zwingendes Kriterium sein.

Für diese Größe an IT-Landschaft: Welche Lösung ist da "wartungsärmer" ? Oder gibt es gar noch ganz andere Empfehlungen?

Viele Grüße

Peter

PS: Preislich bin ich mir über die Unterschiede bewusst.

Content-ID: 323140

Url: https://administrator.de/contentid/323140

Ausgedruckt am: 24.11.2024 um 21:11 Uhr

nEmEsIs
nEmEsIs 07.12.2016 aktualisiert um 21:37:20 Uhr
Goto Top
Hi

Kann nur vom SCCM sprechen da ich in unserer Firma die Umgebung betreue.
Der einarbeitungsaufwand für 10 Clients ist zu extrem.
Alleine die Infrastruktur bereitzustellen.

Ab 100 Clients mit vielen Anwendungen lohnt es sich schon eher aber ist eine Kosten Nutzen Frage.
Alternativen
Z.B Opsi, WSUS Package Publischer,PDQ deploy
Opsi und WSUS Package Publisher kostenlos
PDQ deploy gibt es als free und kostenpflichtige Version

Fragt sich wie ihr z.B Betriebsysteme bereitstellen wollt entweder WDS und WSUS Package Publisher oder PDQ deploy
Opsi hat das an board

Auch die Frage wie komplex eure Softwarepaketierung ist und wieviel ihr in den Paketen anpasst.

Bei WSUS PP und PDQ ist ein WSUS für Windows und Office Updates erforderlich.

Auch über ein AD solltest du nachdenken. (Würdest du für einen SCCM auch brauchen)
Zu deinem Wunsch
Entweder GPO oder ggf. zentrale AV Lösung welche das beherrscht
121747
121747 08.12.2016 aktualisiert um 00:51:39 Uhr
Goto Top
Mit einem SCCM Vergleich kann ich leider nicht dienen.

Wir benutzen Puppet - Foreman - Chocolatey.
Damit kannst du ja vom einfachen Client Konfigurationsmanagement bis zum voll automatisierten VMWare oder Cloud Server Deployment alles machen - und das ohne großen Mehraufwand und ohne Redesign.

Du brauchst dafür einen Master Server, wo Puppet und Foreman läuft (Foreman ist hier quasi eine Weboberfläche mit Monitoring, wo du durchgeführte Konfigurationen beobachten kannst) und einen Windows Server für dein Chocolatey Repository. Für Das Chocolatey Repository kannst du https://chocolatey.org/packages/chocolatey.server benutzen. Das ist letztendlich nur eine ASP.NET Anwendung, die du in dein IIS einbindest. Dort ist ein Package Ordner, wo die paketierte Sofware rein kommt.

Über Puppet selbst kannst du so ziemlich alles ausrollen. Bei Puppet definierst du Module mit sogenannten Ressourcen (Einstellungen), die widerum dann intern auf sogenannte Provider zugreifen. Du kannst also z. B. sagen in dem Modul "installiere firefox" soll das Paket "Firefox" in Version "50.0.2" über den Provider "Chocolatey" mit Reposotiry XY ausgerollt werden. Du kannst hier dann auch einfach die Versionsnummer ändern, dann upgraded er auf die entsprechende Version. Oder du sagst einfach "latest", dann nimmt er immer die Version im Repository mit dem größten Versionsstand. Chocolatey selbst kannst du auch über Puppet ausrollen, dafür gibt es das Modul: https://forge.puppet.com/chocolatey/chocolatey

Für die meisten Sachen gibt es vorgefertigte Ressources. z.B. um auf Dienste oder Benutzergruppen zuzugreifen und diese zu beschreiben. Die Unterscheidung ob Linux oder Windows macht Puppet dann für dich, die Deklaration in dem Modul sieht in dem Fall gleich aus. Gibt es keine Ressources oder Module, kannst du aber auch Powershell als Provider ansprechen. Da sagst du dann in dem Modul "führe Powershell befehl XY über Powershell aus, und das immer wenn - gefolgt von einer Bedingung, die true sein mus). Daher hast du praktisch unbegrenzte Möglichkeiten deine Maschinen zu konfigurieren.

Für das alles kann ich dir das Buch "Learning Puppet for Windows Server" empfehlen. Dort steht ja eigentlich alles drin, was du tun willst. Die Installation bezieht sich allerdings noch auf Puppet 3.x und Ubuntu 14.04 LTS. Das musst du dann natürlich auf die neuste Version von Puppet übertragen. Der hintere Teil ist aber viel interessanter, denn der zeigt wie Chocolatey mit Puppet zusammen spielt (hier Vorsicht, denn in dem Buch wird ein deprecated Chocolatey Modul genutzt!, das oben gennante ist das aktuelle).

Ansonsten ist das alles sehr wartungsarm. Das aufwändigste sind halt die Deklarationen in den Modulen - man muss halt einmal das Konzept verstanden haben - dann ist alles sehr einfach. Die Infrastruktur selbst ist schnell zu installieren. Mit dem Buch dauert das vielleicht einen Tag. Wenn du nicht immer sofort die neusten Puppet Funktionen brauchst die gerade frisch aus dem Compiler kommen (wovon ich ausgehe), reicht es bei der Installation von Ubuntu (o.ä) einfach die Sicherheitsupdates automatisch einspielen zu lassen - dann hast du zumindest aus Systemtechnik Sicht so gut wie gar keine Wartung und kannst dich auf deine fachlichen Sachen fokussieren. Der Einarbeitstungsaufwand kann allerdings so 1-2 Wochen betragen, bis man erste Ergebnisse sieht.
eglipeter
eglipeter 08.12.2016 aktualisiert um 20:23:47 Uhr
Goto Top
Vielen Dank für die Antworten mal bis hierher. Der Reihe nach:

  • An Opsi hat mich bisher die Paketierung abgeschreckt. Gerade für Software, die kein MSI bereitstellt, schien mir das sehr kompliziert.
  • Zu Puppet: Ist Foreman notwendig? Das ist doch nur eine GUI oder?
  • Wsus Package Publisher klingt sehr interessant. Das schaue ich mir heute Abend mal an. Gleiches gilt für PDQ Deploy. Hier wäre bloß die Frage, ob sich darüber auch die Anwendungen konfigurieren lassen. Eine Frage zu PDQ Deploy: Müssen da die Clients zum Zeitpunkt des Updates einer Anwendung alle online sein oder wird das durchgeführt, sobald der Client online ist?

Weitere Ideen und auch Einschätzungen nehme ich gerne entgegen. SCCM scheint wohl definitiv auszuscheiden, oder?
nEmEsIs
nEmEsIs 08.12.2016 um 22:33:13 Uhr
Goto Top
Hi

Also paketieren wirst du bei all den von mir genannten müssen. Die Frage ist nur wie aufwendig.
Mit nem /s ne exe durchjagen und gut ist oder z.b Firefox voll durchkonfigurieren ist ein unterschied.
Auch der uninstall ist so eine Sache.
Muss alles wieder sauber weg oder können Reste überbleiben.
Auch willst du das du überwachen kannst ob eine Anwendung sauber und nach Vorgaben installiert wurde oder einfach drauf und wenn mal bei einem Anwender was nicht geklappt hat weil er der Meinung war ach ich schalt jetzt aus.
PDQ ist in der freien Version nicht in der Lage das zu machen wenn der Client online ist.
WPP integriert sich in den WSUS und du hast die Installation z.b beim herunterfahren was je nach Größe des installers dauern kann.

Vll. solltest du anderes an die sachen rangehen und zwar deine Anforderungen zu Papier bringen welche sein müssen und welche nice to have sind.
Dann gegen die oben genannten Produkte vergleichen (sprich Anforderung schneiden)
Dann hast du es mit der Entscheidung leichter.

mit freundlichen Grüßen Nemesis
eglipeter
eglipeter 09.12.2016 aktualisiert um 08:26:31 Uhr
Goto Top
Must haves
-Zentrale Installation von Softwarepaketen (individuelle Ensembles je nach Client)
-Zentrale Erfassung neben der Paketverwaltung installierter Software
-Deinstallation der zentral verteilten und der manuell installierten Anwendungen + Monitoring der installierten Versionen
-Eispielen von Software-Updates
-Konfiguration derinstallierten Software (unabhängig von Installationsprozess): Durch Konfigurationsfiles und Registry-Einträge
-Unterstützung von Clients, die zum Zeitpunkt der Installation offline sind


"Dazwischen"
-Vorpaketierte Software

Nice to have
-Unterstützung von Linux-Clients (Debian mit Installation aus Default-Quellen)
-Einfaches Aufsetzen neuer PCs
-Installation von Firefox-Addons aus dem Mozillarepository
-GUI um Clients zu managen und überwachen

Viele Grüße
Peter
121747
121747 09.12.2016 um 12:48:59 Uhr
Goto Top
Zitat von @eglipeter:
  • Zu Puppet: Ist Foreman notwendig? Das ist doch nur eine GUI oder?

Foreman ist wie Puppet Enterprise die Komponente die man für voll automatisiertes Server Deployment braucht z. B. für die Anbindung an VMWare, Azure oder Amazon AWS. Das ist eine eigener Infrastruktur Part, der Puppet nutzt. Das brauchst du nicht, heißt aber auch, dass du dann alles immer im Terminal überprüfen musst. Mit Foreman oder Puppet Enterprise hast du halt direkt ein hübsches Monitoring mit dabei, da die Agents ständig prüfen, ob sie noch in dem Zustand sind wie sie sein sollten (Desired State Configuration) und falls nicht, dieses Zustand selber wieder herstellen. Änderungen kannst du dann im Monitoring direkt sehen. Das ist halt der Unterschied von Puppet mit DSC im Gegensatz zu anderen Lösungen, wo du einfach nur etwas auf die Clients pusht.