Von der Microservice-Factory direkt in den Container-Hafen…

…ist eine typische Strecke in einer Infrastructure-as-Code-Umgebung, die 2017 der klassischen Industriewertschöpfungskette näher ist als man vielleicht denkt. Bei der Diskussion um Microservices wird häufig vergessen, dass diese ihren Nutzen vor allem in durchgängigen standardisierten Prozessen entfalten.

Automatisierung und Zulieferung von Komponenten

sind die Grundlagen jeder modernen Fabrik und gleichermaßen der Microservice-Factory.

Dabei hat der Microservice-Ansatz zusammen mit den DevOps-Prinzipien den wesentlichen Beitrag zur Abgrenzung zur klassischen Software-Entwicklung geleistet. In der klassischen Softwareentwicklung wird nach wie vor viel Zeit mit Planung, Abstimmung, Freigabeprozessen und händischen Installationen vergeudet.

 

Lassen Sie uns nun zusammen einen kleinen Rundgang durch die Produktion einer Industrie 4.0-Fabrik unternehmen und dabei jeden Schritt mit einer Microservice-Umgebung vergleichen!

 

Schritt 1: Das Engineering
Jede Branche in der Industrie schwört auf andere Engineering-Pakete. Im Software-Bereich wird mit Hilfe von Tools wie Atlassian Jira und Slack im Team eine Vision des zu erstellenden Softwareprodukts entworfen, die Funktionen in unabhängige Microservices aufgeteilt und deren einzelne Produktionsschritte über eine agile Methode geplant.

Anstatt in ein PLM-Tool wandern die Entwürfe von Microservices in ein zentrales Git-Repository oder ein anderes Versionskontrollsystem mit Collaboration-Funktionalität.

 

Schritt 2: Die Komponenten zusammenbauen
Software-Entwickler erstellen einzelne Komponenten als Microservices und lassen diese automatisiert mit Tools wie Jenkins zusammenbauen. Wie in der Realität erleichtert die Zulieferung von Komponenten durch Spezialfirmen den gesamten Prozess.

Entscheidend ist, dass Microservices erstmals herstellerunabhängige Zulieferungen auf Basis von Industriestandards wie REST, JSON oder OAuth 2 erlauben. Damit wird auch die Einbindung von externen Dienstleistern oder Zuarbeit durch Offshoring-Teams enorm vereinfacht. Gleichzeitig sind diese Zulieferungen strikt isoliert von den restlichen Komponenten und verfügen über eine eigene Datenhaltung nach dem Prinzip der Vertikalität (Vermeidung von gemeinsamen horizontalen Layern).

 

Schritt 3: Die Qualitätssicherung
In der Industrie 4.0 erfolgt die Qualitätssicherung in vielen Fällen über Bildverarbeitungsalgorithmen. In einer Microservice-Fabrik sind dem Produktions-Vorgang viele automatisierte Unit- und Integrationstests nachgeschaltet. Sie testen die Integrität der Softwarekomponenten und deren Zusammenspiel miteinander.

In einer Microservice-Umgebung erfolgen ständig auch im Produktionssystem Integrationstests (synthetische Tests), die wichtige Datenflüsse überprüfen und sicherstellen, dass diese zu jeder Zeit komplett durchlaufen werden können (z. B. Bestellprozess in einem Online-Shop).

 

Schritt 4: Das Verpacken
Beim Eintritt in die Logistikphase werden Industrieprodukte zu Paketen gepackt und diese möglichst effektiv auf Transportmittel aufgeplant. In der Microservice-Fabrik werden die fertig gebauten und qualitätsgesicherten Microservices in Docker-Container (oder sonstige Technologien wie Rocket- oder Mesos-Container) verpackt und so mit nach außen hin standardisierten Schnittstellen (Ports und Volumes) versehen.

Diese deklarierten Schnittstellen entsprechen (mit etwas Phantasie) dem Frachtbrief, den der Spediteur mit sich führt.

 

Schritt 5: Der Transport
Während Hochsee-Container den Transport von Industriegütern rund um den Globus revolutioniert haben, sind die riesigen internationalen Container-Terminals mit ihren automatisierten Krananlagen und Zollprozeduren die eigentlichen Knotenpunkte.

Einem Container-Terminal entspricht in der Microservice-Welt ein Container-Orchestrierungs-Tool. Diese Tools sind Anfang 2017 einer der am härtesten umkämpften IT-Märkte: Begriffe wie Kubernetes, DC/OS oder Rancher tauchen in jeder Ausgabe der Fachzeitschriften auf.

Diese teilweise sehr umfangreichen Tools sorgen dafür, dass die verpackten Microservices kontrolliert in Cloud-Umgebungen in Produktion gebracht werden können und bei Bedarf auch wieder außer Betrieb gesetzt werden können. Sie verbinden die virtuelle IT-Infrastruktur mit den fachlichen Komponenten.

 

Schritt 6: Die Auslieferung
Diverse Clouds wie AWS, Microsoft Azure, Heroku oder Digital Ocean bieten den Kunden Zugang zu den digitalen Produkten.

Auch hier tobt ähnlich wie bei den Paketlieferdiensten in der realen Produktwelt ein erbarmungsloser Preiskampf.

Analog der Unterschrift beim Paketboten existiert im Cloud-Umfeld ein riesiger Markt für Identity & Access-Management Lösungen: ob Auth0, IBM Tivoli oder ForgeRock. Die sichere Authentifizierung und Autorisierung von Benutzern ist entscheidend für die User-Experience – angefangen bei Web-Shops über native Apps für Smartphones bis hin zu IoT-Devices.

 

Schritt 7: Überwachung durch Kontrollmessungen
Genau wie bei modernen Industrieprodukten, die über Industrie 4.0-Methoden ständig Daten zu Ihrer Benutzung an den Hersteller zurücksenden, erzeugen auch Microservices ständig Daten, die in speziellen Cloud-Monitoring-Systemen auf Anomalien überwacht werden.
Zu diesen Systemen zählt man AppDynamics, DataDog oder Instana, die zum Teil mit machine learning Algorithmen arbeiten (ganz wie ihre Pendants in der Industrie).
Schritt 8: Kundenbindung durch Service & Support
Als Ergebnis der in Schritt 7 erhobenen Daten ist das herstellende Unternehmen in der Lage, seine Produkte zu optimieren und deren Lebensdauer durch Maßnahmen wie predictive maintenance zu verbessern.

Bei Microservices erkennt entweder die Plattform (z. B. Docker Swarm oder Cloud Foundry) bzw. das Monitoring-System Handlungsbedarf und skaliert automatisch die Infrastruktur im Rahmen von vorgegebenen Regelwerken durch das automatische Hinzufügen von neuen VMs oder Datenbank-Ressourcen.

Manchmal lassen sich sogar neue kostenpflichtige Dienstleistungen aus der Beobachtung der Produktnutzung durch den Kunden ableiten: damit wird der Kreislauf geschlossen und wir befinden wir uns wieder bei Schritt 1, dem Engineering.

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.