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.

Headerbild zu Agile Softwareentwicklung
Service

Flexibel mit Agiler Softwareentwicklung

Selten endet ein Projekt so, wie es anfangs geplant war. Agilität setzt nicht nur beim Projektmanagement, sondern auch bei den Methoden und Prozessen der Softwareentwicklung an, um Risiken und Fehlentwicklungen während des Prozesses zu vermeiden.

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.

Microservices, serviceorientierte Architektur & BPM
Kompetenz 01.09.20

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.

Vogelperspektive Laptop, Kopfhörer,  Handy etc
News 26.03.20

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.

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

Cardmarket: Effiziente Datenintegration mit Freshdesk

CLOUDPILOTS erreichte mithilfe einer maßgeschneiderten App für Cardmarket eine effiziente Datenintegration in Freshdesk.

Referenz

Zentiva Pharma: Effizienter Kundensupport mit Freshdesk!

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

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.

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!

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.

femal traveler taking a picture
Referenz

Effiziente Google Workspace Migration bei Leistenschneider

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

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.

News 06.08.21

Intelligent Document Processing ab sofort noch effizienter!

Wir verbessern unsere Leistung aus diesen Gründen im Gebiet Intelligent Document Processing stetig und haben nun mit den Experten der PLANET artificial intelligence GmbH aus Rostock einen starken Partner an unserer Seite.

Referenz 13.11.24

Turck Holding schafft effizientere IT-Struktur

Mehr Effizienz und Struktur durch eine nachhaltige IT-Strategie: Die Turck Holding GmbH stellt ihre IT-Organisation neu auf und richtet diese mit Unterstützung der TIMETOACT GROUP zukunftssicher aus. Erfahren Sie mehr.

Laptop auf Tisch
Webcast 26.07.21

HCL Volt MX - Schnelle und effiziente App-Entwicklung

Schnell und effizient Business Apps entwickeln - Wir zeigen Ihnen, wie es mit Low Code geht. Erfahrungen und Live-Demo zu HCL Volt MX am 1. Oktober (11:00 - 12:00 Uhr) von den edcom HCL Experts.

Event 06.05.20

Webcast: Versicherung und Data Science

Marc Bastian zeigt Ihnen ein Beispiel einer analytischen Infrastruktur für KI Anwendungsfälle, praktische Projekterfahrung und Erfolgsfaktoren.

Event

Webcast: Cloud Transformation & "run your App"

Lernen Sie mit Jochen Schneider die Cloud 1.0 (Cloud 1.0 (Lift&Shift), Cloud 2.0 (Microservices, Big Data) und Cloud 3.0 (Multi Cloud Management, Big Compute) kennen.

Event

Webcast: Das kognitive Versicherungsunternehmen

Lernen Sie von Dr. Jürgen Huschens das Konzept des Kognitive Enterprise kennen, die Adaption auf die Versicherungsindustrie und vieles mehr.

Event

Webcast: Smarte Erkennung von Kostennoten

Unsere Speaker Madeline Jolk und Frank Trila von der TIMETOACT berichten Ihnen alles rund um das Thema Erkennung von Kostennoten.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!