Was ist Software Deployment?

,
software deployment

Software Deployment (dt. Softwareverteilung) bezeichnet eine meist halbautomatisch oder automatisch ablaufende Installation oder Aktualisierung von Betriebssystemen und Anwendungssoftware auf PCs (Personal Computern) und Servern. Insbesondere in größeren Organisationen und Unternehmen setzt man auf eine professionelle und zentralisierte Softwareverteilung, oft mittels eigener Softwarelösungen über so genannte Deployment-Skripte. Für die Installation ist meist keine weitere Interaktion mit dem Nutzer erforderlich. In kleineren Unternehmen gibt es auch die Möglichkeit, dass ein geschulter Mitarbeiter (in der Regel ein IT-Administrator) die Installationen durchführt.

Welchen Sinn macht Software Deployment?

In Organisationen und Unternehmern fehlt bei nicht geschulten Mitarbeitern oft das nötige Know-how oder die Berechtigung zur Installation und Aktualisierung von Betriebssystemen wie Microsoft Windows oder Linux und Softwareanwendungen. Für ein effizientes IT-Management lässt man diese Prozesse daher automatisch ablaufen. In Unternehmen mit vielen Mitarbeitern existieren viele Endgeräte, die mit ähnlicher Software ausgerüstet werden müssen. Auch Sicherheitsupdates sollten möglichst in kurzer Zeit auf zahlreichen Endgeräten installiert werden. Um die Arbeitsabläufe zu standardisieren sowie Zeit und Kosten zu sparen ist es daher sinnvoll, Software Deployment als zentralen Dienst im Unternehmen einzusetzen.

Woher weiß der Rechner, wann Software aktualisiert oder installiert werden muss?

grossraumbueroVoraussetzung für Software Deployment sind Setups, die auch ohne Benutzereingabe funktionieren (Unattended Installation). Damit das Betriebssystem erkennen kann, ob neue Software zur Installation verfügbar ist, laufen auf den PCs so genannte Dienste (kleine Software-Programme), die regelmäßig Anfragen an den zentralen Server stellen. Falls neue Software auf dem Rechner zu installieren ist, erledigt das der jeweilige Dienst automatisch. Dabei übernimmt der Dienst auch häufig die Aktualisierung von Patches, d.h. die Auslieferung einer Nachbesserung für Software.

Störungen und Ausfälle durch Software Deployment

Wenn bei der automatischen Aktualisierung von Betriebssystemen und Anwendungssoftware (z.B. Antivirensoftware, E-Mail-Programme) Fehler passieren oder Schadsoftware eingeschleust wird, kann dies zu unvorhergesehenen Störungen und Ausfällen führen und in größeren Unternehmen erhebliche Beeinträchtigungen des Arbeitsablaufs nach sich ziehen. Wichtig ist daher eine gründliche Planung und Dokumentation der Softwareverteilungsprozesse. Achten Sie auf die Einhaltung von Standards und etablierten Systemen.

Die einzelnen Schritte der Softwareverteilung

Die folgenden Teilschritte folgen aufeinander:

Die zu installierende Software wird je nach Art und Konfiguration der verwalteten Endgeräte zusammengestellt (Orchestrierung)
Download der zu installierenden Software
– Zusammenstellen der zu installierenden Software und dazugehörigen Anweisungen und Konfigurationen in Pakten (Paketieren)
Testen der Installation der Pakete vor der Auslieferung (Testphase)
Verteilung der Softwarepakete auf die Endgeräte
Installation der Softwarepakete auf den Endgeräten.

Mehr zum Thema:
Was ist Continuous Deployment?

Jeder einzelne Teilschritt beinhaltet eine Fehleranalyse. Falls Fehler auftreten, wird die Softwareverteilung beendet.

Übrigens: Wussten Sie, daß es Software-Deployment-Software auch als Opensource-Variante gibt? Im Blog von Biteno.com haben wir anhand von OPSI die Installation einer solchen Software ausführlich beschrieben.

Push- oder Pull-Verfahren bei der automatisierten Verteilung – was ist besser?

Ist es besser, wenn Softwareverteilungs-Server aktiv für die Softwareinstallation auf Endgeräten sorgen (Push-Verfahren) oder sollten sich Endgeräte aktiv um das Herunterladen von Software von einem Softwareverteilungs-Server kümmern (Pull-Verfahren)? Die automatisierte Software-Verteilung erfolgt durch Push- oder Pull-Verfahren:

portscan– Das Push-Verfahren verteilt die zu installierende Software aktiv an die Endgeräte. Hier hat der Administrator die volle Kontrolle darüber, was wann auf welchem Endgerät installiert wird. Für dieses Verfahren müssen die Endgeräte jedoch immer erreichbar sein und der Softwareverteilungs-Server muss Informationen über alle Endgeräte vorhalten.

– Das Pull-Verfahren wird dagegen durch die Endgeräte gestartet. Über eine auf dem Endgerät installierte Client-Anwendung wird die Software vom Softwareverteilungs-Server heruntergeladen und auf dem Endgerät installiert. Die Endgeräte müssen dabei nicht immer erreichbar sein. Andererseits hat der Administrator beim Pull-Verfahren keine Kontrolle darüber, was wann auf einem bestimmten Endgerät installiert wird. Dies kann zu Performance-Problemen führen, wenn alle Endgeräte gleichzeitig Software beim Server anfordern.

Verwaltung und automatische Installation von Patches und Updates

Software Deployment geht meist mit dem Patch Management einher. Damit ist die Verwaltung und automatische Installation von Software Patches (dt. Flicken) und Updates gemeint. Bei den Patches handelt es sich meist um Updates für das Betriebssystem. Patches gibt es jedoch auch für Anwendungsprogramme. Das Patch Management leistet bei den folgenden Fragen Hilfestellung: Welche Patches sind bereits auf dem PC installiert? Welche Patches sollen aktuell installiert werden? Darüber hinaus unterstützt das Patch Management den Administrator bei der Installation von Patches. Das Patch Management unterstützt auch häufig den Windows Update Server.

Für die Betriebssysteme von Microsoft erscheinen jeden Monat mehrere neue Patches. In größeren Unternehmen entscheiden Sicherheitsbeauftragte darüber, welche Patches installiert werden und welche nicht. Dabei wird unter anderem berücksichtigt, ob es durch den Patch Probleme mit bereits installierter Software geben könnte und ob die Installation des Patches für bestimmte PCs ausgeschlossen ist. Die Bewertung von Patches ist daher ein wichtiger Schritt, um potentielle Schäden durch Installationen abzuwenden. Der Bewertung von Patches folgen noch drei weitere Schritte: Test des Verhaltens und der Funktion von Patches auf einem Test-PC, Freigabe der Patches für die Verteilung sowie anschließender Rollout der Patches.

Mehr zum Thema:
Was ist ein Bytecode?

Microsoft bezeichnet seine Patches oft mit „Aktualisierung“ oder „Service Pack“. Diese Patches sind erforderlich, um Fehler der Software zu korrigieren oder Sicherheitslücken zu schließen.