Was sind Microservices?

Microservices sind ein Architekturmuster zur Modularisierung von Software. Dabei werden komplexe Applikationen in einzelne eigenständige Komponenten – die Microservices – aufgeteilt. Ein Microservice setzt seinen Fokus auf das Erfüllen spezifischer Businessanforderungen und stellt seine Fähigkeiten über eine HTTP basierte API zur Verfügung. Jeder Microservice läuft in einem eigenen Prozess und kann, unabhängig von anderen Services, bereitgestellt, aktualisiert, skaliert und neu gestartet werden. Der Microservice-Ansatz steht also im Gegensatz zu traditionellen Software-Monolithen, die nur als gesamte Einheit bereitgestellt und skaliert werden können und dadurch nur selten aktualisiert werden.

Warum Microservices?

Kontinuierliche Innovation

Microservices bilden eine formbare Landschaft aus Business Capabilities. Sie begrüsst Änderungen geschäftlicher sowie technischer Natur und fördert somit Software Innovation.

Systemzuverlässigkeit

Microservices müssen aufgrund ihrer Eigenständigkeit by design strapazierfähig und ausfallsicher sein. Diese Eigenschaften übertragen sich automatisch auf das Gesamtsystem, wodurch eine systemweite Robustheit erreicht wird.

Software Throughput

Microservices beruhen auf den Prinzipien von Agiler Softwareentwicklung sowie DevOps und erlauben Softwareteams individuell zu arbeiten. Dies ermöglicht kürzere Iterationszyklen unterschiedlicher Anforderungsbereiche.

Containerisierung

Containerisierung ist eine Art der Virtualisierung. Im Vergleich zur klassischen Virtualisierung mittels Hypervisor und virtueller Maschinen kommen sogenannte Container zum Einsatz, welche sich dasselbe Host OS teilen. Die Container sind leichtgewichtig, schnell und portabel und dadurch ideal für den Einsatz in Microservice-Architekturen geeignet. Konkret können Microservices zum Beispiel als einzelne Docker-Container umgesetzt werden.

Kommt für die Verwaltung der Container noch eine Container-Orchestration Plattform wie Kubernetes zum Einsatz, entsteht eine skalier- und hochverfügbare Softwarelösung mit unschlagbarer Flexibilität.

Container Stack

Docker

Wir verwenden Docker um unsere Microservices in Container-Images zu verpacken. Das Resultat: Portable und plattformunabhängige Apps.

Kubernetes

Kubernetes hilft uns, komplexe und hochverfügbare Microservice-Systeme zu erstellen und zu verwalten.

Rancher

Mit Rancher erstellen und verwalten wir verschiedene Kubernetes Cluster effizient und effektiv.

Möchten Sie eine moderne, skalierbare und hochverfügbare Softwarelösung für Ihr Unternehmen? Kontaktieren Sie uns und wir werden Sie gerne zum Thema Microservices beraten.