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.

Microservices, serviceorientierte Architektur & BPM
Kompetenz 25.02.25

Microservices, Serviceorientierte Architektur & BPM

In der serviceorientierten Architektur werden IT-Komponenten zu einem gemeinsamen Service-Netz zusammengefasst. Einzelne Anwendungen treten hinter den Schnittstellen zurück und ermöglichen eine Zusammenarbeit der Dienste.

Service Oriented Architecture (SOA)
Kompetenz 25.02.25

Architekturberatung

Mit der passenden Architektur ist es möglich, Abläufe mit der exakt dosierten Komplexität zu unterstützen und Design, Betrieb und Weiterentwicklung so einfach wie möglich zu gestalten.

Headerbild zu Atlassian Cloud
Technologie

Flexibel mit der Atlassian Cloud

Atlassian Cloud gibt auch kleinen Teams die Möglichkeit, die Produktwelt von Atlassian zu nutzen. Es ermöglicht Ihnen eine flexible Anpassung der Userzahlen. Weiterhin können Sie bei Cloud Produkten aus drei kostenpflichtigen Varianten wählen. So passen Sie Ihr Atlassian Produkt immer Ihren individuellen Anforderungen an. Die mehrfach zertifizierten Atlassian Cloud Lösungen werden bei Amazon Web Services Inc. gehostet.

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.

Vogelperspektive Laptop, Kopfhörer,  Handy etc
News 25.02.25

Flexibel weiterbilden – TIMETOACT Webinar-Reihen

Arbeiten Sie auch aus dem Home Office effektiv in Ihrem Team. Nehmen Sie an den Einsteiger Webinaren oder technischen Sessions teil.

Logo pronova BKK
Referenz

pronova BKK meistert die digitale Transformation

Pronova BKK hatte zum Ziel, eine neue Arbeitsumgebung im Unternehmen einzuführen, um künftig eine schnelle, transparente und effiziente Kommunikation und Zusammenarbeit zu ermöglichen.

Blog 20.06.24

Effiziente Lizenznutzung bei Heras

Durch eine gezielte Lizenzoptimierung konnte der Netzwerksicherheitsexperte Heras seine Lizenzkosten um rund 11 Prozent reduzieren, indem er ineffiziente und ungenutzte Lizenzen von Microsoft Azure und M365 eliminierte oder anpasste.

Referenz 25.02.25

Freshservice-Airwatch-Integration für Effizienz!

CLOUDPILOTS optimiert Geräteverwaltung mit Freshservice-Airwatch-Integration. Maßgeschneiderte App für nahtlose Synchronisation.

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

Enterprise Integration

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

femal traveler taking a picture
Referenz 25.02.25

Effiziente Google Workspace Migration bei Leistenschneider

Erfahrt, wie Cloudpilots Leistenschneider nahtlos zu Google Workspace migrierte, Zusammenarbeit stärkte und Innovation förderte.

Referenz 25.02.25

Automatisierte Öffnungszeiten: ATUs Erfolg mit CLOUDPILOTS

Erfahrt, wie ATU dank CLOUDPILOTS' Workflow die Öffnungszeiten automatisierte und Kunden sowie Lieferanten vor Fehlern bewahrte.

Referenz 25.02.25

Expletus nutzt Freshdesk: Automatisierte Ticketoptimierung!

CLOUDPILOTS optimierte die Ticketbearbeitung bei Expletus durch eine maßgeschneiderte App, die automatisierte Kontaktupdates ermöglichte.

Referenz 25.02.25

Zentiva Pharma: Effizienter Kundensupport mit Freshdesk!

Wie CLOUDPILOTS mit einer Custom App bei Zentiva Pharma den Support revolutionierte: Vom Fax zum automatisierten Ticketprozess.

sehen!Wutscher
Referenz 25.02.25

Wutscher optimiert Bestellvorgänge mit Google AppSheet

Wutscher Optik KG revolutioniert die Bestellabwicklung! Dank Google AppSheet erfolgt die automatisierte Datenerfassung über Google Forms, optimiert für Lieferanten. Mehr Zeit für das Kerngeschäft im Marketing.

Teaserbild KPT Referenz IAM
Referenz 13.11.23

Effizientes IAM für Cloud-Systeme bei der KPT

Mit einer neuen IAM-Lösung behält KPT die Kontrolle über Benutzerkonten und Berechtigungen, um einen effizienten und sicheren Betrieb ihrer Cloud-Systeme zu gewährleisten. ✅ Lesen Sie mehr dazu.

Anonyme Referenz
Referenz 25.02.25

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.

SaaS Applikationen effizient integrieren mit APIs
Wissen

SaaS Applikationen effizient integrieren mit APIs

SaaS wird zur Unterstützung von neuen und auch bereits etablierten Geschäftsprozessen eingesetzt. Um SaaS Lösungen mit der unternehmensinternen IT zu integrieren, stellen SaaS Anbieter dazu applikationsspezifische Schnittstellen, sogenannte APIs zur Verfügung.

Kompetenz

SAM Tool: Effiziente Softwareverwaltung für Unternehmen

Entdecken Sie, wie ein SAM Tool Transparenz in Ihrem Software Asset Management schafft, Kosten senkt und Lizenz-Compliance sicherstellt. Jetzt beraten lassen!

Blog 05.09.24

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

Erfahre, wie durch gezielte Teamschnitte und optimale Kommunikationsmodi die kognitive Last in DevOps-Teams reduziert wird. So erreichst du effizientere Zusammenarbeit und kontinuierlichen Fortschritt.

Blog

Deep Learning: Ein Beispiel aus dem öffentlichen Dienst

Automatische Bilderkennung hat das Potenzial, Wasserwirtschaftsverbände spürbar zu entlasten – und so beim Hochwasserschutz zu unterstützen. Ein Fallbeispiel.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!