Raytheon Anschütz - Effizient aus der Ferne: Softwareverteilung
Installieren, Aktualisieren und Wiederherstellen von Software und Systemen: Das Mittelstand 4.0-Kompetenzzentrum Kiel erstellt für das Raytheon Anschütz ein Konzept für ein Deployment- und Redeployment-System.
Das Kieler Unternehmen Raytheon Anschütz ist ein führender Hersteller von Navigationssystemen für Handelsschiffe, Megayachten, Arbeitsboote, Küstenwache, Marineschiffe und U-Boote. Zum Portfolio gehören umfangreiche Navigationslösungen von Standardprodukten bis zur individuell angepassten Systemlösung, aber auch flexible Lösungen für kosteneffiziente Modernisierungen bestehender Navigationssysteme verschiedener Hersteller.
Die Herausforderung
Eine heterogene und mobile IT-Landschaft immer aktuell zu halten, bringt organisatorische und technische Herausforderungen mit sich. So auch bei Raytheon Anschütz, die hohe Ansprüche an Effizienz, Standardisierung und IT-Sicherheit haben.
Im Rahmen eines Projektes erstellt das Team des M4KK ein Konzept für ein Deployment- und Redeployment-System. Ziel ist es, ein Betriebssystem, Software und Konfigurationen auf mehreren Rechnern automatisiert zu installieren, ohne dafür jeden Rechner manuell aufzusetzen. Auch sollen diese Rechner mit Software und Betriebssystemupdates versorgt werden können. Weiterhin soll es möglich sein, diese Rechner nach einem Systemausfall wiederherzustellen.
Das automatische Verteilen von Software auf mehrere Rechner reduziert Fehlerquellen und erspart Zeit durch die Automatisierung von repetativen manuellen Arbeitsschritten.
Eine wesentliche Herausforderung bei mobilen Systemen ist die Tatsache, dass das Internet nicht kontinuierlich zur Verfügung steht und darauf zugegriffen werden kann.
- Deployment: Das Verteilen von Software auf mehrere Rechner mit oder ohne lauffähige Betriebssysteme.
- Paketmanagement: Das Verteilen von Updates/neuer Software auf funktionierende Rechner.
- Redeployment bzw. Recovery: Backup und Wiederherstellung eines Systems nach einem Ausfall.
Übersetzt bedeutet Software Deployment Softwareverteilung. Es ist eine automatisierte Installation oder Aktualisierung von Betriebssystemen oder Anwendungssoftware. Gerade größere Organisationen setzen auf eine zentralisierte Softwareverteilung.
Das Vorgehen
Das Team des M4KK analysiert verschiedene technische Möglichkeiten und erstellt ein Konzept für das sichere (Re-)Deployment unter Betrachtung der Faktoren Zuverlässigkeit und IT-Sicherheit des Systems.
Projektergebnis
Das erarbeitete Konzept ermöglicht die Entwicklung eines Prototyps für das sichere und zuverlässige (Re-)Deployment für mobile Systeme.
1. Techniken zur Verbesserung der Zuverlässigkeit und IT Sicherheit
Um die Zuverlässigkeit und IT Sicherheit des Systems zu verbessern, ist das Einhalten gewisser Sicherheitspraktiken sinnvoll. In diesem Abschnitt werden einige dieser Techniken beleuchtet.
Die Zuverlässigkeit des Systems kann erhöht werden, indem beispielsweise ein Snapshot des lauffähigen Systems erstellt wird, der im Fall eines fehlgeschlagenen Updates wiederhergestellt wird. Für den Snapshot und gegebenenfalls die Wiederherstellung des Systems darf sich das System nicht im operativen Betrieb befinden, da dieser beeinträchtigt werden würde.
Geschwindigkeit:
- Soft- und hardwareabhängig
- Schreiben mit bis zu 150MB/s auf HDD pro Festplatte
- Schreiben mit bis zu 500MB/s auf SSD pro Festplatte
- Übertragung von bis zu 625MB/s über USB 3.0
- Übertragung von bis zu 40GB/s über Thunderbolt 3
- Übertragung von bis zu 125MB/s über Gigabit Ethernet
Vorteile:
- Kompletter Snapshot mit allen Nutzerdaten/Konfigurationen
- Image kann zur Notfallrecovery benutzt werden
Nachteile:
- Viel Speicherplatz nötig (belegter Speicher aller unterschiedlichen Rechner)
Signierte Software kann verhindern, dass - versehentlich oder böswillig - falsche Software auf den Systemen installiert wird. Da während der Installation keine Netzwerkverbindung angenommen werden kann, besteht nicht die Möglichkeit, direkt auf dem System die Authentizität der zu installierende Software beim Zertifikatsserver zu überprüfen. Stattdessen kann der Servicetechniker beim Herunterladen der Software auf seinem lokalen Laptop die Signaturen der Softwarepakete überprüfen.
Vorteile:
- Verhindert Installation böswillig getarnter Fremdsoftware
- Verhindert unbemerkte böswillige Veränderung der zu installierenden Software
Nachteile:
- Zertifikatsserver beim Hersteller bzw. auf dem Laptop des Technikers notwendig
Die Verschlüsselung der Kommunikation über das Internet verhindert unbefugtes Mitlesen oder Verändern der Daten durch Dritte. Die kann z. B. über HTTPS, SSH oder ein VPN erfolgen.
Vorteile:
- Abhörsicher
- Manipulationssicher
Nachteile:
- Erhöhte Rechenleistung und Bandbreite notwendig
- Hardwareabhängig langsamer als unverschlüsselte Kommunikation
2. Netzwerkanforderungen zur Installation des Betriebssystems über Netzwerke
Ein wesentlicher Vorteil eines Deploymentsystems ist die Möglichkeit, mehrere Rechner zeitgleich aufzusetzen und zu Konfigurieren. Um den direkten Zugriff auf jeden Rechner zu vermeiden, bietet sich die Installation der Systeme über das Netzwerk an. Für Deployment oder Redeployment über das Netzwerk muss ein Preboot Execution Environment im Netzwerk eingerichtet sein, z. B. PXE oder iPXE . Dafür sind ein PXE-fähiger DHCP-Server und ein TFTP-Server notwendig.
Die nachfolgende Abbildung zeigt die benötigte Netzwerkkommunikation zum Booten eines Rechners über das Netzwerk. Dafür ist kein Betriebssystem auf dem PXE-Client-Rechner erforderlich.
Folgende Möglichkeiten zur Realisierung der benötigten Server bieten sich an:
- Laptop des Servicetechnikers
Die Serverfunktionalitäten werden vom Servicetechniker bereitgestellt. Dazu muss sich der Laptop im selben Netzwerk mit den zu bootenden Rechnern befinden. - Über das Internet erreichbarer Server
Ein Remote-Server stellt die DHCP-Funktionalitäten und verteilt die nötigen Softwareimages über das Internet an die Rechner beim Kunden. - Lokaler dedizierter Server
Ein lokaler Server beim Kunden bietet DHCP/TFTP Funktionen an Netzwerkgeräten an. Dies kann z. B. - falls vorhanden - der Backup/Recovery Rechner bereitstellen. - Lokaler Masterserver
Ein oder mehrere lokale Rechner fungieren selbst als ein DHCP/TFTP Server. Das setzt eine bereits bestehende Installation dieser Funktionalitäten vorraus. - Gesicherte lokale Partitionen
Jeder Rechner hat eine (versteckte) Partition, auf die nur Backups oder zu installierende Images geschrieben werden. Das ermöglicht das Booten und Installieren ohne Netzwerkkonfiguration.
3. Spezifikation der Systeme
Spezifikation der Features des Deployment-, Backup- und Paketmanagementsystems.
- Verifizieren des Installationsimages
- Verteilen von kompletten Installationsimages auf mehrere Systeme über das Netzwerk
- Automatische Installation der Betriebssysteme und Software
- Bereitstellen oder Verteilen von Softwarepaketen, Updates und Konfigurationsfiles an das Netzwerk
- Initiieren eines Backups (z. B. vor Systemupdate)
- Erstellen eines kompletten Systembackups
- Wiederherstellen des kompletten Systems von einem vorherigen Backup
- Teilweise Backups (z.B. nur System oder nur Nutzerdaten)
- Wiederherstellen teilweiser Backups
- Speichern eines Backups auf einer lokalen oder Netzwerkressource
- Vollständige/inkrementelle/differenzielle Backups
- Herunterladen und Installieren von Softwarepaketen aus spezifiziertem Repository
- Verteilen der Softwarepakete an mehrere Rechner über das Netzwerk
- Updates aller installierten Pakete
- Dependency Management
- Paketversionsverwaltung
- Evtl. Container-System zur Kapselung von Software
4. Erfüllte Spezifikationen bestehender Lösungen
Backups/Snapshots
Windows Image Backup | TeraByte Image for Windows | Macrium Reflect | baramundi Management Suite | |
Komplettes Systembackup | ja | ja | ja | ja |
Wiederherstellen aus Backup | ja | ja | ja | ja |
Teilweise Backup | nur ganz Partition | ja | ja | ja |
Teilweises Wiederherstellen | ja | ja | ja | ja |
Speichern auf Netzwerkressource oder lokal | ja | ja | ja | ja |
Inkrementelle/Differenzielle Backups | ja | ja | ja | ja |
(Re-)Deployment
Docker | TeraByte Image for Windows | Macrium Reflect | baramundi Management Suite | |
Verifizieren des Installationsimages | ja | ja | ja | ja |
Verteilen des Images auf mehrere Systeme | ja | ja | ja | ja |
Automatische Installation | ja | ja | ja | ja |
Software im Netzwerk Verteilen | ja | ja | ja | ja |
Initiieren eines Backups | ja | ja | ja | ja |
Paketmanagement
Docker | OneGet | Windows PMF | NuGet | Chocolatey | |
Eigene & fremde Repositories | ja | ja | ja | ja | ja |
Verteilen der Pakete über das Netzwerk | ja | ja | ja | ja | ja |
Automatische Paketupdates | ja | geplant | geplant | ja | ja |
Dependendy Management | ja | ja | ja | ja | ja |
Paketversionsverwaltung | ja | ja | ja | ja | ja |
Auch für Sie interessant?
Dann kommen Sie jederzeit gern auf uns zu.