Best Practice Consulting

Logo der Vation Technology GmbH

SOFTWAREVERTEILUNG

Software intelligent installieren und aktualisieren

Softwareverteilungssysteme sind Client/Server-Anwendungen. Für eine Softwareverteilung wird auf allen PC [1], sowohl Client als auch Server, eines Netzes ein Agent [2] installiert, der vom zugehörigen Depotserver Aufträge zur Softwareinstallation, für eine Neu-Installation oder ein Update, entgegennimmt und an diesen Reportinformation über Erfolg bzw. Mißerfolg dieser Aufträge übergibt. In dezentralen Infrastrukturen werden die Installationsaufträge zweckmäßig von einem zentralen Depotserver [5] aus an Subdepots [4] übermittelt. Letztere können dann in jeder Lokation ein Paket mehrfach zustellen. Durch diese Kaskadierung der Verteilwege werden die Ressourcen der WAN-Verbindungen [6] geschont. Für die Zustellung von Installationspaketen an Subdepots kann wahlweise auch der Weg über Datenträger [3] gewählt werden.




Paketerstellung
Die den Clienten zugestellten Aufträge enthalten die zu installierende Software als sogenanntes Paket. Dabei wird üblicherweise nicht die Original Installationssoftware der zu installierenden Software verteilt. Vielmehr sind die Pakete speziell aufbereitet und auf die Installation durch den Agenten optimiert. Bei der Paketerstellung [7] müssen minimal folgende Funktionen unterstützt werden:

  • SnapShot-Funktion zur Erstellung eines Paketes aus der Differenz vor und nach der Installation an einem Referenzsystem. Das erstellte Paket muß lesbar (als Dokumentation der Veränderungen) und nachbearbeitbar sein.
  • Manuelle Paketerstellung, bei Software deren Installationsumfang bekannt ist.
  • Definition von Konfigurationsvoraussetzungen (Hardwarevoraussetzungen, benötigte Software, Patches, usw.)
  • Definition und Hinterlegung der Maßnahmen für Rollback und Fallback
  • Unterstützung aller Funktionen über die der Agent verfügt
  • Definition von Minor- und Major-Versionen sowie Patches

Manager
Der Managerservice des Depotservers muß die folgenden Funktionalitäten aufweisen:

  • Verwaltung der Softwareverteilungsaufträge
  • Einteilung der Softwareverteilungs-Clients in Gruppen. Clients müssen in mehreren Gruppen enthalten sein können
  • Multi-User-Fähigkeit des Managers
  • Sicherheitsmechanismen (Rechte, Rollen und Benutzergruppen) insbesondere um Anwendungsentwicklung und Administration zu trennen, d.h. der Anwendungsentwicklung darf es zum Beispiel nicht möglich sein, Software auf Produktivsystemen zu installieren
  • Dokumentation aller Aktivitäten (Historie)
  • Reports / Listengenerierung / Datenexport usw.
  • Weitergabe von Informationen (z.B. über Alerts) über den Erfolg, Zeitpunkt und Dauer von Installationen

Agent
Der Agent auf den Zielsystemen muß folgende funktionale Anforderungen erfüllen:

  • Hinzufügen, Kopieren, Verschieben, Löschen von Dateien und Verzeichnissen
  • Modifikation von INI-Dateien, Textdateien und Binär-Dateien
  • Löschen, Hinzufügen und Ändern von Symbolen und Gruppen im Programm-Manager oder Start-Menü
  • Anpassung der PATH- und anderer Umgebungsvariablen
  • Installation von Schriftarten
  • Verändern der Konfigurationsdatenbanken (INI-Datei, Windows NT Registry)
  • Starten und Stoppen von Services und Programmen
  • Windows-Neustart und System-Reset
  • Treiber und Systemsoftware Installation (Druckertreiber, Service Packs, usw.)
  • Schnittstelle zu einer Script-Sprache (z.B. REXX, Perl), ggf. über Kommandoschnittstelle
  • Prüfung der grundsätzlichen Voraussetzungen für die Installation (Versionen der vorhandenen Software, Hardware, usw.)
  • Erkennung von nicht durch die Softwareverteilung installierter Software
  • zeitversetzte Installation
  • Versionsverwaltung von Dateien (insbesondere DLLs) und Feststellen der Applikationen die diese nutzen (im Paket definiert)
  • Lokale Konfiguration, Berücksichtigung spezifischer Systembedingungen (z. B. abweichende Grafikauflösung usw.)
  • Berücksichtigung benutzerspezifischer Parametern (roaming user)

Verfahren
Softwareverteilung kann grundsätzlich auf zwei unterschiedliche Arten erfolgen. Entweder stellt der Depotserver einem aktiven Clienten die Software zu, sogenanntes 'Push', oder der Agent prüft, ob Installationsaufträge vorliegen, vorzugsweise beim Anmeldevorgang oder Computerstart. Liegt ein Installationsauftrag vor, so holt sich der Agent die benötigte Information vom Depotserver, sogenanntes 'Pull'-Verfahren. Kombinationen aus beiden Verfahren sind u. U. dann erforderlich, wenn ein Teil der Geräte nicht ständig erreichbar ist oder Benutzer wechselnde Stationen oder gar Standorte nutzen.


Hinweise zur Produktauswahl
Es sind eine Reihe marktgängiger Systeme verfügbar. Bei der Auswahl der für Sie geeigneten Lösung können wir auf entsprechende Erfahrungen in hochkomplexen Umgebungen zurückgreifen. Das geeignete Produkt wird u. a. bestimmt durch:

  • Verfahren und Aufwand zur Erstinstallation
  • Unterstützte Netzwerkprotokolle und Erreichbarkeit der Stationen
  • Anzahl der Systemderivate (HW/SW) im Unternehmen
  • Roaming User
  • Lizenzverwaltung
  • Zusammenwirken von Softwareverteilung, Inventarverwaltung und Konfigurationsmanagement, u. U. Helpdesk (z. B. bei Patches)
  • Integrationsanforderungen mit Management-Frameworks
  • Organisatorische Verfahren des Unternehmens, von der Paketdefinition bis hin zu Rechtekonzepten und deren Auswirkungen
  • Soll/Ist-Abgleich
  • Alerting und Logging
  • Fehlerbehandlung und -eskalation
Vation Technology GmbH - Max-Planck-Str. 6  -  D-86420 Diedorf - HRB 20056 Augsburg - Tel.: +49-(0) 821-484194 - Fax: +49-(0) 821-484193