Spätestens, wenn IT-Mitarbeiter viel Zeit mit Software-Installationen und damit zusammenhängenden Problemlösungen beschäftigt sind, ist der Zeitpunkt gekommen, sich über eine professionelle und automatisierte Software-Paketierung und -verteilung Gedanken zu machen. Worauf kommt es an und welche Möglichkeiten stehen zur Verfügung?
Schauen wir zuerst auf die Vorteile dieser effizienten Variante: Zeitersparnis, Komfort, Sicherheit und Standardisierung.
Zeitersparnis: Jede Software-Installation wird automatisch ausgeführt, sowohl bei der Neuinstallation als auch bei einem Software-Update oder -Upgrade oder beim Aufsetzen neuer Geräte. Auch bei der Deinstallation ist die Software-Paketierung sehr nützlich, damit die Compliance sichergestellt wird und keine unnötigen Lizenzen bezahlt werden. Die Notwendigkeit, am Endgerät selbst Hand anzulegen, fällt damit weg und der Arbeitsablauf beim Benutzer wird nicht unterbrochen. Dies zieht wirtschaftliche Vorteile mit sich und reduziert Fehlerquellen.
Komfort und Sicherheit: Stehen alle arbeitsrelevanten Applikationen als Paket zur Verfügung, können auch die Administrationsrechte der Benutzer automatisiert entfernt und der Schatten-IT entgegengewirkt werden. Zudem sind dadurch Endgeräte alle gleich aufgesetzt, was im Endeffekt weniger Aufwand für die IT-Abteilung bedeutet.
Standardisierung: Bei jedem Mitarbeiter ist die Corporate Identity, wie etwa die Schriftart in Microsoft Office, bereits vorkonfiguriert. Weiter müssen keine zusätzlichen Konfigurationen, beispielsweise der Pfad zum Server im HR-Tool, von Hand eingetippt werden.
Varianten und Aufgaben unter der Lupe
Onsite, Nearsite, Offsite oder Managed Service. Spätestens seit dem Outsourcing-Hype vor Jahren sind diese Begriffe und Ansätze fester Bestandteil der IT. Und somit auch bei der Software-Paketierung. Welche Variante die beste ist, hängt von vielen Faktoren ab und steht in direktem Zusammenhang mit den vorgelagerten Disziplinen wie Requirement Engineering, Integration und User Acceptance Tests (UAT). Diese spielen bei der erfolgreichen Software-Paketierung eine bedeutende Rolle und werden oft vernachlässigt. Im Grunde genommen ganz einfach nachvollziehbar und auf jedes Projekt zutreffend: Stimmt der Input nicht, so wird der Output auch nicht stimmen. Dieser Satz trifft insbesondere in der Software-Paketierung zu. Viel Frust und Probleme werden mit einer sauberen Vorbereitung der vor- und nachgelagerten Disziplinen vermieden. Die erfolgreichste Grundregel aus der Praxis ist, mit dem Applikationsverantwortlichen zusammen eine Anleitung zu erstellen. Also eine detaillierte Aufnahme aller Anforderungen an das zu erstellende Software-Paket. Als Grundlage und Zieldefinition ist dies unerlässlich. Sich hierbei Unterstützung von Experten zu holen, ist sinnvoll, weil letztlich zeit- und kostensparend. Denn diese Aufgaben gehören zu ihrer Kernkompetenz, ihr Applikationswissen ist breit abgestützt und sie wissen, welche Einstellungen in einer Enterprise-Umgebung notwendig sind. Nebenbei transferieren sie oft auch Know-how in den Paketierungsprojekten, was die eigenen Mitarbeiter zusätzlich unterstützt. Dasselbe trifft auf die korrekte Integration und die User Acceptance Tests zu.
Fallstricke vermeiden
Für externe Spezialisten ist das Paketieren das tägliche Brot. Selbst im Markt unbekannte Software ist den Experten bekannt und wurde unter Umständen für andere Kunden bereits paketiert. Somit kann auf dieses Wissen zurückgegriffen werden und die Pakete sind wesentlich schneller umgesetzt. Auch etwaige Fallstricke durch vergangene Projekte sind bekannt und werden vermieden. Ein interner Packaging-Spezialist hingegen paketiert Software meist zum ersten Mal und benötigt dementsprechend natürlich länger für die Lösung. Bei einem sehr komplexen Paket kann dies schon mal Arbeit für ein bis zwei Wochen Aufwand bedeuten.
Near- und Offsite stellen erfahrungsgemäss die kosteneffizientesten Varianten dar. Bei Unterstützungsbedarf in den vor- und nachgelagerten Bereichen ist jedoch Onsite mit einem Experten, oder ein mixed Model (Onsite und Nearsite), die effizientere Variante. Die meisten Paketierungsdienstleister bieten die Paketerstellung zum Fixpreis an und sogar mit garantierter Lieferzeit (inkl. Funktions-Garantie). Somit sind die Kosten kalkulierbar und transparent.
Trotzdem aufs eigene Pferd setzen?
Die Frage ob die Software-Paketierung und -verteilung mit dem eigenen Personal oder mit externer Unterstützung durchgeführt wird, beantwortet sich insbesondere für kleinere und mittelgrosse Firmen relativ schnell. Meist ist es für die interne IT Abteilung eine zu anspruchsvolle und zeitraubende Aufgabe. Software-Paketierung ist bei dieser Unternehmensgrösse keine 100-Prozent-Stelle, weshalb das notwendige Know-how nur erschwert oder nicht in der notwendigen Tiefe erarbeitet werden kann. Ab circa 2000 Clients und einem entsprechenden Software-Katalog kann es sich lohnen, interne Ressourcen für die Software-Paketierung aufzubauen.
Indikatoren Pro und Kontra
Es gibt verschiedene Beweggründe, für die Software-Paketierung einen externen Partner beizuziehen. Eine Entscheidungshilfe bieten die Antworten auf folgende Fragen:
1. Stehen für den Zeitrahmen, in dem Pakete erstellt und erfolgreich abgeschlossen werden müssen, die benötigten Ressourcen ad-hoc zur Verfügung?
2. Können Engpässe bei Krankheit, Urlaub oder grösseren Roll-outs wie beispielsweise Windows 10 überbrückt werden?
3. Sind die Mitarbeiter in der Lage, das notwendige Fachwissen aufzubauen?
4. Können die für die Software-Paketierung eingeplanten Mitarbeiter die Aufgabe unabhängig von anderen Projekten übernehmen oder besteht die Gefahr von Prioritätskonflikten?
Werden diese Fragen mit Nein beantwortet, lohnt es sich, die Software-Paketierung an einen professionellen Dienstleister auszulagern.
Wissen ins Unternehmen holen
Schulungen im Bereich Paketierung sind in jeder Hinsicht hilfreich. Auch wenn spezifische Aufgaben ausgelagert sind, braucht es in den eigenen Reihen Know-how. Dieses hilft insbesondere bei der Implementierung von Paketen, welche gegebenenfalls durch einen externen Dienstleister geliefert werden. Allfällige Paketprobleme können besser nachvollzogen werden und die Kommunikation mit dem Dienstleister erfolgt in technologischer Hinsicht auf Augenhöhe. Zum Beispiel hilft es beim Erstellen und Verstehen von Log-Dateien der Installation oder auch, wenn man kurz kleinere Anpassungen selbst erledigen möchte. Im besten Fall kann man dann sogar einfachere Iterationspakete selbst erstellen.
Im Internet gibt es viel Know-how und Wissensplattformen wie beispielsweise IT Ninja oder ähliche Websites. Die Inhalte sind jedoch mit höchster Vorsicht zu geniessen, denn oft wird Halbwissen publiziert. Das Paketieren mit unvollständigen Informationen ist aber eine gefährliche Angelegenheit. Lieber einen Experten im eigenen Netzwerk anpingen und bei Unsicherheiten beiziehen. Das erspart dem Unternehmen letztlich viel Ärger und Kosten
MSI, App-V oder MSIX?
Welche Technologien man einsetzen soll und will, hängt stark von der eigenen Applikationslandschaft sowie der IT-Architektur ab. Hat oder plant man beispielsweise eine VDI-Umgebung (Virtual Desktop Infrastructure) ist es vorteilhaft, möglichst alle Applikationen User-basierend zu verteilen. Dies erfordert zwangsläufig Virtualisierung, also App-V oder MSIX als Paketierungsformat. In den letzten Jahren gab es allerdings einen klaren Trend weg von Software-Virtualisierung (Isolierung). Solange sich Universal Windows Platform Apps (UWP-Apps) nicht durchsetzen, wird man kurz bis mittelfristig keinen grossen Anteil an MSIX-Paketen im Markt sehen. Natürlich spricht nichts dagegen, eine Misch-Strategie einzusetzen, um von den verschiedenen Technologien profitieren zu können.
Software-Verteilung und Tücken
Mit Intunes bietet Microsoft eine Cloud-Lösung eines Endpoint Management Systems an, mit dem Software-Pakete verteilt werden können. Insbesondere für KMU eine elegante Lösung, da keine grosse Verteillösung wie SCCM oder Altiris Server aufgezogen werden muss. Auch lizenztechnisch ist das sehr attraktiv und man kann damit gleichzeitig seine mobilen Geräte managen.
Für das Auge attraktiv sind gerade für kleine Betriebe Paket-Repository-Lösungen, wie sie im Internet zu finden sind. Von solchen Software-Repo-basierenden Lösungen ist klar abzuraten. Der Verantwortliche der IT-Infrastruktur muss sich hierbei fragen: Ist der Hersteller vertrauenswürdig und sind im Impressum auf der Website Kontaktmöglichkeiten, Telefonnummer, Hauptsitz und ähnliches aufgeführt? Oft trifft vor allem letzteres nicht zu. Viele kleine Hersteller oder Open-Source-Projekte erstellen qualitativ minderwertige Setups, die sich nur beschränkt an die Microsoft-Richtlinien halten. Und oft bemerkt man die mangelhafte Qualität erst, wenn es zu spät ist, etwa beim Upgrade oder einer Deinstallation der entsprechenden Software. Zusätzlich müssen auch der Repo-Owner und die Community vertrauenswürdig sein. Letztlich also die Person, die aus der Hersteller-Installation ein automatisiertes Paket geschnürt hat. Unbekannt sind hier die Qualifikationen, Paketierungsfähigkeiten und der Support oder die Haftung, wenn etwas schiefläuft. Die Benutzung einer externen Software Library ist somit aus Expertensicht keine Lösung, da man somit ein neues Problem einführt. Der bekannte Repo-Service Chocolatey beschreibt dieses Problem sogar selbst und inkludiert daher einen Haftungsausschluss auf seiner Website. Professionelle Paketierungs-Dienstleister sollten in der klassischen Paketierung sicherstellen, dass hinter jedem Paket Windows-Installer-Technologie steckt. Damit sind die Pakete sicher, transparent und überprüfbar. Ein IT-Verantwortlicher kann dadurch nachvollziehen, was durch das Paket am System verändert wird.
Fazit
Man muss sich immer vor Augen halten, dass Software-Paketierung nicht einfach mal schnell gemacht ist. Sind die Pakete fehlerhaft, wird eine Welle von Problemen ausgelöst und der Helpdesk kann an seine Grenzen stossen. Und oft tauchen Probleme aufgrund der Pakete erst nach dem Verteilen auf. Es gilt daher, sich am Anfang genügend Zeit für die Planung zu nehmen und bei Unsicherheiten einen Experten beizuziehen. Und ganz nebenbei: Schulungen für die Auffrischung der Thematik sind in jeder Hinsicht lohnenswert.
Intern oder Extern
Onsite: Software-Paketierer vor Ort, der die Pakete direkt im Unternehmen erstellt. Dies kann ein interner oder externer Spezialist sein.
Nearsite: Auslagerung der Paketerstellung in eine Schweizer Paket-Factory oder ein Paketierungsatelier, meist zum Pauschalpreis.
Offsite: Ähnlich wie Nearsite, jedoch im Ausland (Ukraine, Bangladesh, Indien und Vietnam sind häufig anzutreffen).
Managed Service: Outsourcing. Dabei wird die Paketierung in der Regel samt vor- und nachgelagerten Prozessen ausgelagert. In der Regel mit SLAs und fest definierten Preisen.
Softwarepaket-Formate
MSI: Das etabliert Paketformat schlechthin. Viele Hersteller liefern ihre Produkte bereits im MSI-Format aus. In professionellen Paketierungsumgebungen werden andere Formate (Legacy, EXE Setups) ausschliesslich ins MSI-Format repaketiert.
App-V: Die aktuelle Software Virtualisierungslösung (Isolierungslösung) von Microsoft. Nimmt einerseits viel Komplexität aus der Paketierungsangelegenheit, da weniger Regeln und Best Practices und erlaubt "Per User Deployment/Targeting". Andererseits entsteht durch die Technologie eine neue Komplexitätsschicht (Virtualisierung), die zu neuen Problemen führen kann.
MSIX: Das neue Paketformat von Microsoft (technologisch eher App-V/AppX als MSI). Leider noch in den Kinderschuhen und noch nicht wirklich für einen Einsatz als Haupttechnologie geeignet.
Der Autor
Fabio Di Lorenzo, Head of Software Packaging bei Ontrex, beschäftigt sich seit 2006 mit Software-Paketierung und arbeitet seit über elf Jahren bei Ontrex im hauseigenen Paketierungsatelier. 2017 übernahm er die Leitung des Teams und berät unter anderem national und international tätige Unternehmen.