Softwaremanagement im Enterprise

Zenturio für PC-Legionen

9. März 2005, 0:16 Uhr | Horst Droege/wg Horst Droege ist Produktmanager bei Matrix42.

Kein Unternehmen kann es sich heutzutage leisten, PCs und Software ohne automatisierte Prozesse zu verwalten. Obwohl die Grundanforderungen ähnlich sind, lassen sich die Werkzeuge und Prozesse nicht einfach von einem kleinen Unternehmen auf einen Großkonzern übertragen. Dieser Artikel geht auf die speziellen Probleme und Anforderungen an das Softwaremanagement in sehr großen Umgebungen ein.

Warum unterscheidet sich das Softwaremanagement in einem kleineren Unternehmen so stark von dem
eines Konzerns? Zum einen sind die reinen Client-Mengen zu betrachten: Eine Lösung, die bei einem
Unternehmen mit 500 PCs sehr gut funktioniert, kann bei einem Konzern mit 50.000 PCs untragbar
sein. Natürlich könnte man auch mit 100 Installationen der 500-Client-Lösung die Endgeräte in einem
Konzern verwalten. Doch der Administrations- und Konfigurationsaufwand wäre enorm. Auch zentrale
Standards und konzernweite Auswertungen wären nur sehr schwer möglich.

Bestimmte Eigenschaften von Client-Verwaltungslösungen sind in großen Umgebungen potenziell
hinderlich. Hierzu zählt erstens die direkte Client-Kommunikation: Um einen zentralen Engpass und
Ausfallpunkt zu vermeiden, sollte die zentrale Managementinstanz nicht direkt mit den PCs
kommunizieren (zum Beispiel Aufträge direkt übermitteln). Die PCs sollten ihrerseits nicht direkten
Kontakt zur Datenbank oder dem zentralen Server benötigen (so für Statusrückmeldungen). Ist die
Kommunikation über Standort- oder Depotserver entkoppelt, können die Endgeräte auch beim Ausfall
des zentralen Servers alle schon anstehenden Aufgaben ohne Beeinträchtigung abarbeiten.

Eine zweite Hürde stellt die PC-bezogene Verwaltung dar: Standards lassen sich nicht langfristig
ohne Rollen- oder Policy-basierenden Verwaltungsansatz durchsetzen. Reine Softwaregruppen zu PCs
zuzuordnen (und umgekehrt), ist für große Umgebungen kaum langfristig durchführbar. Denn dies
schadet der Reproduzierbarkeit und Übersichtlichkeit.

Ein drittes Hindernis sind fehlende Automationsmöglichkeiten: Großunternehmen stellen zunehmend
auf Workflow- und prozessgesteuerte Verteilung um. Das Softwaremanagement muss in der Lage sein,
als reine Verteilungs-Engine zu fungieren. Ist dies nicht der Fall, werden immer manuelle Arbeiten
die automatisierte Prozesskette unterbrechen.

Viertens ist die genaue Steuerung von Software-Rollouts sehr wichtig. Die IT-Abteilung muss
Zeit, Last und räumliche Aufteilung berücksichtigen können, um auch große Massen-Rollouts ohne
nennenswerte Beeinträchtigung der gesamten Netzwerkinfrastruktur durchzuführen.

Fünftens zählt das Monitoring: Fehlt der Überblick über alle aktuell laufenden Aktivitäten, kann
die IT-Abteilung nur stark verzögert reagieren. Mindestens genauso wichtig ist es, schnell einen
PC- oder softwarebezogenen Status zu erhalten.

Sechstens ist teils die erforderliche Infrastruktur zu komplex: Benötigt das System an jedem
Standort eine eigene Datenbank oder werden nicht gängige Datenbanken vorausgesetzt, kann der
Verwaltungsaufwand massiv ansteigen.

Ein letzter Problempunkt sind Insellösungen: Arbeiten die Werkzeuge für
Betriebssysteminstallation, Softwareverteilung, Disaster Recovery und Inventarisierung Hand in Hand
oder nutzt jede eine eigene Datenbank mit entsprechenden Redundanzen und Aufwänden? Kommen mehrere
Tools zur Steuerung zum Einsatz, sind Inkonsistenzen und potenzielle Fehlerquellen bei der
Datenübergabe die Folgen. Auch die Effizienz bei der Bedienung nimmt ab.

Softwareverteilung versus Framework

Noch wichtiger ist es, die Eigenschaften zu benennen, die eine Enterprise-geeignete Lösung
besitzen sollte. Unabdingbar: Sie sollte auch größte Client-Mengen in einer überschaubaren
Infrastruktur abbilden und zentrale Steuerungs- und Monitoring-Funktionen bieten. Hierzu sind
mehrere Ansätze möglich. Zum einen kann ein Unternehmen ein übergreifendes Steuerungs- und
Monitoring-System über eine dezentrale Softwareverteilung stülpen. Diese Variante ist bei größeren
Unternehmen relativ häufig anzutreffen und generell mit sehr viel Eigenentwicklung verbunden. Der
Vorteil: Die entstandene Lösung passt sehr genau auf die Belange des Konzerns. Nachteile: Jeder
Entwicklungssprung bedingt in der Regel einen hohen eigenen Entwicklungsaufwand. Zudem sind Pflege
und Wartung teuer, da nur ein Abnehmer existiert. Häufig ist eine hohe Abhängigkeit von einigen
wenigen Personen im Unternehmen die Folge.

Ein anderer Weg ist die Nutzung von am Markt verfügbaren Enterprise-Managementsystemen. Hier
existieren drei Arten von Anbietern:

Hersteller umfassender Managementlösungen wie CA, HP und IBM, die alle
IT-Prozesse berücksichtigen;

Spezialanbieter, die speziell den Bereich Softwaremanagement betrachten,
darunter Altiris, Enteo, Landesk, Matrix42 und Symantec;

die Netzwerkbetriebssystem- und Verzeichnisdienst-Hersteller Microsoft und
Novell.

Folgende wichtige Faktoren spielen bei der Entscheidung für eine Client-Managementlösung eine
Rolle:

Anzahl der Clients

Anzahl der Standorte: Sind einige große oder auch sehr viele kleine
Niederlassungen zu berücksichtigen?

Netzwerkanbindung der Standorte

Administrationsmodell: Soll die IT-Abteilung alles zentral oder dezentral
administrieren? Oft sind Teile zentralisiert und einige Aufgaben an Standortadministratoren mit
eingeschränkten Rechten delegiert.

Anzahl der Software-Rollouts pro Monat und Client

Wie häufig tauscht das Unternehmen Clients aus (Regeltausch)? Wie oft sind aus
anderen Gründen komplette Neuinstallationen erforderlich (Migrationen, Defekte,
Organisationsänderungen)?

Standardisierungsgrad: Wie weit kann und darf standardisiert werden?

Eine klare Antwort auf die Frage, welche Lösung die beste ist, gibt es nicht: Zu unterschiedlich
sind die Gegebenheiten und Bedürfnisse der Unternehmen. Das nachfolgend beschriebene Beispiel einer
in ein Workflow-System eingebetteten Speziallösung kommt aber dem Ideal vom vollautomatisierten
Softwaremanagement sehr nahe.

100.000 Clients verwalten

Wie könnten nun ein effizientes Administrationsmodell und die dazu passende Implementierung für
ein Unternehmen mit mehr als 100.000 verwalteten Clients aussehen? Die Administration sehr vieler
Clients bedingt neben der technischen Umsetzung auch eine darauf abgestimmte Organisation.
Maßgebend für eine hohe Effizienz ist der Grad der Automation. Je mehr Aufgaben in der Prozesskette
vollständig automatisch ablaufen, desto geringer fallen die Kosten aus. Voraussetzung für eine hohe
Automation sind Software- und Hardwarestandards sowie Definitionen für Datenhaltung und
-sicherung.

Je enger ein Unternehmen sich an die definierten Standards bindet, desto wahrscheinlicher ist
ein effizientes und kostengünstiges Client-Management. Aber Achtung! Standards und Ausnahmen müssen
dezentral definiert und durchsetzbar sein. Das folgende beispielhafte Administrations- und
Betriebsmodell bildet diese Anforderung ab.

Zwischen einem Unternehmen und seinem Dienstleister existiert an zentraler Stelle ein
abgestimmter "Warenkorb". Er wird bestenfalls direkt im Softwaremanagement oder dem übergreifenden
Configuration-Management hinterlegt und gepflegt. Dieser beschreibt alle möglichen Kombinationen
von Soft- und Hardware (Rollen). Damit nicht zu viele individuelle Rollen entstehen, können sie
Unterrollen besitzen, die die Eigenschaften der Mutterrolle erben. Die daraus entstehende
Baumstruktur erlaubt eine übersichtliche Darstellung und Wartung dieser Rollen auch in sehr großen
Umgebungen.

In der Administrationsebene des Softwaremanagements erfolgt die Zuordnung vorhandener oder neuer
PCs zu den passenden Rollen. Dies geschieht entweder von Hand durch die Administratoren oder direkt
beim Bestellen eines PCs über das interne Order-Management, ein webbasierendes Bestellwesen.
Ausnahmen – also nicht der Rolle zugehörige Software – ordnet der Administrator dem PC zusätzlich
zu. Aus dieser Zuordnung eines PCs zu einer Rolle sowie der zusätzlichen Software entsteht eine
immer wieder reproduzierbare Konfiguration. Ändert sich die Definition der Rolle, bringt das
Managementsystem alle ihr zugeordneten PCs automatisiert auf den neuen Definitionsstand.

Die Aufgabe, den PC nach Rollenvorgaben korrekt zu installieren und an die individuellen
Gegebenheiten des Endbenutzers anzupassen, übernimmt das Softwaremanagement komplett automatisch.
Die für den Dienstleister wichtigen Rückmeldungen zur Abrechnung der erbrachten Leistung meldet die
Lösung auf der Basis der Log- und Inventory-Informationen wieder an eine zentrale Stelle zurück. Da
in einem solchen System sehr viele Dinge parallel erfolgen, ist eine Übersicht über laufende
Rollouts und Statusinformationen zu einzelnen Clients unerlässlich.

Damit dies technisch umsetzbar ist, muss das Softwaremanagementsystem einige Vorraussetzungen in
Bezug auf Zentralisierbarkeit, Skalierbarkeit, Automatismen und Rechtesteuerung erfüllen.

Zentrales Management

Die Infrastruktur muss in der Lage sein, Informationen über eine Vielzahl von Clients zentral
vorzuhalten. Zudem sollte das System die Definitionen für alle Regionen zentral bereitstellen
können. Dafür sorgt in diesem Beispiel die Entkopplung der Reporting- und Definitionsebene von der
Administrationsebene: Die Administrationsebene übernimmt hier die Zuordnung von Clients zu
Produkten und initiiert die Verteilungen. Durch diese Maßnahme haben die zentralen Reporting- und
Definitionsdatenbanken freie Kapazitäten.

Da die Reporting- und Definitionsdatenbank nur wenig belastet ist, kann sie nun sehr viele
Clients aufnehmen. Die Systeme der Administrationsebene sind sehr viel stärker belastet und müssen
somit mehrfach vorhanden sein. Die Menge und Aufteilung der Administrationssysteme hängt von
regionalen und administrativen Gegebenheiten ab. Bei 100.000 Endgeräten sind drei bis vier
verwendete Datenbankserver angemessen. Damit diese Server solch hohe Client-Mengen – 20.000 bis
35.000 pro Datenbank – verkraften, muss die Kommunikation von den Clients entkoppelt und auf
Depotserver verlagert sein: Das System transportiert alle Informationen über anstehende
Softwareinstallationen zu den Depotservern. Dort werten die Clients sie aus. Umgekehrt schreiben
die Clients alle ihre Informationen (Log, Inventory) auf den Depotserver, der sie dann zum
Datenbankserver überträgt. Somit nimmt die Anzahl der Kommunikationspartner für einen
Administrationsserver stark ab. Anstatt mit 30.000 Clients muss er nur noch mit 100 Depots
kommunizieren. Das erlaubt eine nahezu unbeschränkte Skalierung.

Automatismen

Damit die Softwareverteilung und Betriebssysteminstallation reibungslos funktioniert, sind
minimale Fehlerquoten und spezielle Automatismen gefordert. Hier nur zwei Beispiele:

Durch die räumliche Trennung von Administration und Client ist es sehr
wichtig, dass das System selbstständig die Hardwaretreiber für die initiierte
Betriebssysteminstallation erkennt und installiert.

Daten und Konfigurations-Recovery: Nach dem Austausch oder Defekt eines PCs
sollte das System die Arbeitsumgebung des Endanwenders automatisch vollständig wiederherstellen.
Dazu gehören neben dem Betriebssystem und den Anwendungen auch die persönlichen Daten und
Konfigurationen.

Nicht jeder, der Software an einige Clients verteilen darf, soll auch befugt sein, die
Definitionen im "Warenkorb" zu ändern. Eine im Softwaremanagementsystem hinterlegte Rechtesteuerung
ermöglicht es, zentral definierte Rollen vor Änderungen in der Administrationsebene zu schützen.
Somit ist immer gewährleistet, dass die Managementlösung die zentralen Vorgaben für Betriebssystem-
und Softwareinstallationen sowie deren Zusammenstellung einhält, aber Ausnahmen oder Ergänzungen
trotzdem zulässig sind.

Die Steuerung und das Monitoring von Rollouts ist in großen Umgebungen immer eine besondere
Herausforderung. Gilt es beispielsweise, eine Standardsoftware durch eine neuere Version zu
ersetzen, sind fünf Aspekte zu beachten:

Datenmenge des Pakets,

Verteilung der betroffenen PCs: Netzanbindung, Depotserver etc.,

Vereinbarte Wartungsfenster und Servicezeiten,

Option der nächtlichen Verteilung per Wake on LAN,

Ziel einer Stichzeitumstellung des Datenbank- oder Host-Systems.

Im besten Fall steuert das Softwaremanagementsystem die Rollouts nach den Vorgaben selbstständig
und regelt sich entsprechend der Last selbst. Auch das Monitoring und die damit verbundene
Fehlerbearbeitung ist teilweise automatisierbar. Neben der stets verfügbaren Übersicht über den
Erfolg aller laufenden Verteilungen sollte ein System beim Überschreiten von Fehlerschwellwerten
selbsttätig reagieren und den Rollout abbrechen können.

Eine weitere Möglichkeit zur optimierten Rollout-Steuerung in großen Unternehmen sind
Simulationen, die das Softwaremanagementsystem bereitstellt. Beispielsweise lässt sich anhand von
Inventarinformationen ermitteln, ob ein Rollout überhaupt in jedem Fall erfolgreich sein kann.
Mangelnder Festplattenplatz, unverträgliche Software oder falsche Betriebssystemversionen auf den
Ziel-PCs lassen sich so feststellen und gegebenenfalls beheben. Ein derartig konzipiertes
Softwaremanagementsystem gewährleistet in der Regel einen vollständig zentralisierten
Softwareverteilungs- und Bereitstellungsprozess.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+