Puzzleteile sinnbildlich für Integration

Flexibel und effizient agieren mit Microservices

Wissensbeitrag

2016 war ein Hochpunkt des Hypes um das Thema Microservices. Grund genug für uns, um ein Resümee zu ziehen und unsere positiven Erfahrungen zu diesem Thema auszuwerten.

Was sind Microservices?

Microservices sind ein Architekturmuster für Entwicklung und Betrieb von Software-Anwendungen. Es weist viele Gemeinsamkeiten mit einer serviceorienterten Architektur (SOA) auf.Komplexe Anwendungen werden dabei durch kleine, modulare und unabhängige Services dargestellt. Die Kommunikation zwischen Komponenten erfolgt durch technologieunabhängige Schnittstellen.

“Do One Thing and Do It Well”

Douglas McIlroy US-amerikanischer Informatiker, Mathematiker, Ingenieur und Programmierer

Dieser Gedanke der Unix-Philosophie gibt dem Entwickler alle Freiheiten bei der Implementierung einer Anwendung und stellt gleichzeitig die Anforderung, dass die Funktionalität der Anwendung nicht zu weit gefasst ist.

Ein frühes Beispiel für den Einsatz von drei kombinierten Microservices ist beispielweise:

cat /etc/passwd | grep “/bin/bash” | cut -d “:” -f 1

Der erste Microservice „cat“ gibt den Inhalt von Dateien in die Standardausgabe aus. In diesem Fall die Benutzerdatei, welche alle Benutzer des Systems enthält. Der zweite Microservice „grep“ filtert den übergebenen Datenstrom zeilenweise. Es wird auf die Zeichenfolge „/bin/bash“ gefiltert. Dies soll die Zeilen für Benutzer finden, welche die Shell verwenden können. Der dritte Microservice „cut“ extrahiert spaltenweise Ausschnitte aus Textzeilen. In diesem Fall das erste Feld der Zeile mit dem Benutzername.

Das Zeichen „|“ kombiniert die Aufrufe der einzelnen Services miteinander. Auch wenn die Grundsätze von Microservices denen einer SOA stark gleichen, ist die Definition von Microservices schärfer gefasst und lässt weniger Interpretationsspielraum zu. Einzelne Aspekte von Microservices wie unabhängiger Betrieb und Auslieferung einzelner Services gehen über die Definition von SOA hinaus.

Was bei der Umsetzung zu beachten ist

Ein Grund, warum sich dieser Trend in einigen Bereichen der Softwareentwicklung vermehrt durchsetzt, ist wohl die Anforderung, immer flexibler mit Teilen einer Anwendungslandschaft agieren zu können. Beispielsweise kann es erforderlich sein, einzelne Teile in die Cloud auszulagern, zu skalieren oder einfach nur zu ändern. Begünstigt wird der Trend durch hochwertige Open Source-Produkte wie Docker, welche perfekt zu den Grundgedanken von Microservices passen.

Einige Vorteile von Microservices

Vorteile von Microservices
  • Serviceunabhängige Skalierung einzelner Microservices
  • Skalierung agiler Entwicklungs-Prozesse, da die Services unabhängig entwickelt und verteilt werden
  • Hohe Qualität und reduzierter Änderungsaufwand durch verringerte Komplexität einzelner Services
  • Gutes Konfigurationsmanagement durch klar abgegrenzte Schnittstellen
  • Continuous Integration/Delivery, begünstigt durch die Größe und Unabhängigkeit der einzelnen Services
  • Effizienz und Technologieunabhängigkeit

Nachteile von Microservices ergeben sich vor allem durch die verteilte Architektur und die komplexere Infrastruktur, denn daraus resultieren z.B. ein höherer Testaufwand, eine aufwendigere Sicherstellung der Datenkonsistenz sowie ein komplexeres Monitoring. Außerdem müssen Microservices eine getrennte Datenhaltung haben. Die Nutzung einer gemeinsamen Datenbasis würde die Microservices zu eng aneinander binden.

Aus der Praxis

Besonders positiv aufgefallen sind uns die hohe Flexibilität und Geschwindigkeit, die durch Continuous Integration im Zusammenspiel mit Microservices ermöglicht werden.Der Aufbau neuer Umgebungen und die Qualitätssicherung von Releases für eine größere Anwendung konnte dadurch beschleunigt und der Aufwand reduziert werden. Außer durch die Verwendung von Microservices wurde dies unter anderem durch die Virtualisierung mit Docker erzielt.

Rechner mit Programmiercode

Die Größe eines Microservices ist ein wichtiges Kriterium, um von paralleler Entwicklung profitieren zu können. Er sollte von einem einzelnen Team entwickelt werden können. Um den Entwicklungsaufwand rund um Datenkonsistenz und Transaktionen in Grenzen zu halten, sollten Microservices allerdings nicht zu klein sein.

Die übersichtliche Größe von Teams dieser Art für Services mit klar abgegrenzten Schnittstellen hat in mehreren Projekten den Bedarf an Absprachen in und zwischen den Teams merklich reduziert. Es blieb mehr Zeit für die Umsetzung.

Microservices in meinem Unternehmen?

Es lässt sich nicht pauschal sagen, ob der Einsatz von Microservices sinnvoller ist als die Alternativen. Zu unterschiedlich sind die Anforderungen und die Gegebenheiten. Die Abwägung von Vor- und Nachteilen für die projektspezifische Situation erfordert Erfahrung mit Softwarearchitekturen und eine gute initiale Planung. Ein Einstieg in Microservices ist sowohl durch die Migration oder Erweiterung eines Monolithen als auch per Start auf der grünen Wiese möglich.

Unser Resümee ist, dass Microservices zu vielen modernen Anforderungen an Softwarearchitektur passt und bei korrekter Implementierung viele Vorteile bietet.

Wissen

Die Zukunft vorhersagen mit Predictive Analytics

Für Unternehmen gilt es heute mehr denn je, nicht nur in der Gegenwart gut aufgestellt zu sein, sondern auch einen Blick in die Zukunft zu wagen. Industrie 4.0 und Predictive Analytics ermöglichen es interne Prozesse besser nachzuverfolgen.

Wissen

Der Cloud vorgelagert: Edge Computing für Datenanalysen

Sicherheitsbedenken und Performance-Engpässe gestalten die Verarbeitung und Analyse von Daten in der Cloud zunehmend schwierig. So spricht einiges für eine Zwischenschicht: den Edge.

Tacho zur Visualisierung einer hohen Performance
Wissen

Performanceoptimierung durch Analyse - Blog

Erfahren Sie in diesem Blogbeitrag, warum Analyse wichtigster Baustein bei der Optimierung von Performance & Stabilität Ihrer IBM WebSphere Umgebung ist.

Wissen

E-Mobilität-Business lebt von der Datenqualität

Das E-Auto laden und weiterfahren? X-INTEGRATE hat dafür eine Technologieplattform entwickelt, über die sie zugleich ei-ne hohe Datenqualität sicherstellt.

Cloud - SOA = Zero oder IT-Business Alignment
Wissen

Cloud - SOA = Zero oder IT-Business Alignment

Vor Jahren war SOA das aktuelle Buzzword, und zur Zeit ist Cloud Computing Hype. Hat SOA der Cloud den Weg geebnet? Wie ist deren Zusammenhang? Was bringt es?

Anonyme Referenz
Referenz 12.11.24

Effizientes Flottenmanagement dank skalierbarer Plattform

X-INTEGRATE ermöglicht innovative Geschäftsmodelle im Flottengeschäft durch den Aufbau einer transaktionssicheren und skalierbaren Technologieplattform. Lesen Sie mehr.

Zahnräder sinnbildlich für einen Prozess
Wissen

Prozessautomatisierung mit IBM DBA

Vor allem Unternehmen in einem starken Wettbewerbsverhältnis setzen mehr denn je auf Automatisierung ihrer Geschäftsprozesse. Die Automatisierungsplattform von IBM, DBA (Digital Business Automation) genannt, bietet dafür vielfältige Lösungsansätze.

Puzzle zur Visualisierung von Enterprise Application Integration (EAI)
Kompetenz 31.08.20

Enterprise Integration

Enterprise Integration unterstützt die Geschäftsprozessabwicklung und verschafft Unternehmen Kostenvorteile. Zum Aufbau von Integrationsszenarien verwendet X-INTEGRATE die Methode Baseline.

Realisierung von Integrationslösungen
Kompetenz 31.08.20

Realisierung von Integrationslösungen

Echter Geschäftsnutzen entsteht bei der Umsetzung einer effizienten Architektur in eine robuste und hochqualitative IT Infrastruktur. Wir setzen Ihre individuellen Geschäftsideen in die vorhandene Systemumgebung um.

Technologien der Enterprise Integration
Kompetenz 03.09.20

Technologien der Enterprise Integration

Um die digitale Revolution zu meistern, ist nicht nur die Wahl der richtigen Technologie wichtig: Auch eine methodische Vorgehensweise trägt maßgeblich dazu bei, dass ein qualitativ hochwertiges Design entstehen kann.

Kompetenz 31.08.20

Beratung zur Integrationsarchitektur

Eine intelligente und praxisgerechte Integrationsarchitektur mit der passenden Integrationsplattform ist ein ausschlaggebender Erfolgsfaktor. Mit der passenden Architektur und den richtigen Werkzeugen lassen sich Applikationen von Partnern kurzer Zeit anbinden.

Digitalisierung in der Öffentlichen Verwaltung
Wissen

Digitalisierung in der Öffentlichen Verwaltung

Die Ziele im Rahmen der Entwicklung von „E-Fachverfahren“ können durch die Nutzung eines integrativen Prozessmanagements erreicht werden. Dies führt zu den gewünschten Aspekten der Prozesseffizienz und -effektivität sowie der Verfahrensvisibilität und –flexibilität.

Headerbild für Edge Computing
Kompetenz 13.07.22

Edge Computing

Mit Edge Computing können Sie Daten dezentral, direkt am Ort ihrer Entstehung, analysieren und auswerten – und zwar nahezu in Echtzeit.

Wissen

Standortoptimierung als Teil des Supply Chain Managements

Das Supply Chain Management umfasst viele einzelne Aspekte der strategischen und operativen Arbeitsweise von Unternehmen. Einen möglichen Ansatz stellt die Standortoptimierung dar, die dieser Blogartikel vorstellt.

Wolken zur Visualisierung der Cloud
Wissen

„Write once, run anywhere“ - TOSCA in der Cloud

Zur optimalen Wertschöpfung hybrider IT-Betriebsmodelle ist die Interoperabilität von Cloud-Services wichtig. TOSCA kann bei dem Management dieser hybriden Ansätze und der Schaffung der dazu notwendigen Voraussetzungen für Standardisierung, Interoperabilität und Industrialisierung helfen.

Besucherrekorde bei der SPS IPS Drives Messe
Wissen

Besucherrekorde bei der SPS IPS Drives Messe

Die SPS IPC Drive in Nürnberg gilt weltweit als führende Fachmesse für elektronische Automatisierung. Auch wir von der X-INTEGRATE GmbH waren zusammen mit unseren Geschäftspartnern Hilscher und IBM vor Ort und stellten eines unserer aktuellen Industrie 4.0 – Projekte vor.

Wissen

Methodisches Vorgehen in IBM BPM

Im Software Engineering ist das passende Vorgehensmodell essenziell für die Strukturierung des Entwicklungsprozesses eines Projekts. Für Software-Projekte auf Basis der Plattform IBM Business Automation Workflows gibt es die IBM BPM Playback Methodology.

Wissen

Migration – Eine Aufgabe, viele Möglichkeiten

Wird eine Software nicht länger vom Hersteller unterstützt, so sieht man sich schnell in der Pflicht, eine alternative Softwarelösung zu suchen. Um eine optimale Vorgehensweise zu ermitteln, unterstützt X-INTEGRATE bei diesem Prozess mit kompetenter Beratung und umfangreichen Erfahrungswerten.

Integration von Geschäftsprozessen mittels Open Source
Wissen

Integration von Geschäftsprozessen mit Open Source

Welche Potentiale haben Open Source Ansätze in einer SOA Implementierung – speziell die der Open Source ESBs (Enterprise Service Bus)?

Anleitung zum Unglücklichsein mit Services
Wissen

Anleitung zum Unglücklichsein mit Services

Servicedesign – so sollten Sie es definitiv nicht machen! In seinem Blogartikel gibt X-INTEGRATE Geschäftsführer Wolfgang Schmidt Einblicke, was es in Sachen Services zu vermeiden gilt.