Definition „Mikrodienste“

Was sind Microservices?

| Autor / Redakteur: il1411 / Stephan Augsten

Jeder Microservice stellt eine gewisse Funktion zur Verfügung, gemeinsam ergeben sie eine Anwendung, deren Dienste sich recht einfach austauschen lassen.
Jeder Microservice stellt eine gewisse Funktion zur Verfügung, gemeinsam ergeben sie eine Anwendung, deren Dienste sich recht einfach austauschen lassen. (Bild: Ram Kumar - Pexels.com / CC0)

Unter Microservices versteht man Dienste, die jeweils eine kleine Aufgabe erfüllen. Die Prozesse lassen sich wie Module so miteinander verbinden, dass sich daraus eine beliebig komplexe Software ergibt.

Die Idee hinter dem Microservice-Architekturmuster entspricht weitestgehend der Unix-Philosophie: „Do one Thing and do it well“. Microservices zeichnen sich dadurch aus, dass sie sich leicht ersetzen lassen. Somit kann ein solcher Dienst vom zuständigen Entwicklerteam innerhalb kurzer Zeit ersetzt bzw. neu erstellt werden.

Jeder Microservice implementiert genau eine Funktion, wobei der Nutzen für den Anwender im Mittelpunkt steht. Microservices besitzen außerdem die Eigenschaft, dass sie ausschließlich Teams entwickelt werden. Das Team kann auch für die Entwicklung mehrerer Mikrodienste verantwortlich sein – wenn diese den fachlich zusammenhängen.

Von anderen Diensten und Prozessen sind Microservices im Übrigen isoliert. Diese Eigenschaft ermöglicht es, dass im Prinzip jeder Mikrodienst eine andere Programmiersprache oder Datenbank nutzen kann. Wie alle anderen Services müssen auch Mikrodienste sicher sein; Verfahren wie Monitoring oder Logging ermöglichen eine Überwachung, während Methoden der Authentifizierung und Autorisierung die Daten vor unerlaubten Zugriffen sichern.

Die Elemente einer Microservice-Architektur

Software, die aus einzelnen Mikrodiensten aufgebaut ist, benötigt viel Infrastruktur, wobei auch diese durch Microservices realisiert wird. Um die Lastverteilung externer HTTP-Anfragen zu steuern, werden sogenannte Load Balancer verwendet. Die Auslieferung statischer Inhalte steuert ein Content Delivery Network. Man unterscheidet Dienste, die für die Geschäftsanforderungen zuständig sind, von Plattform- und Infrastruktur-Services. Die Infrastruktur-und Plattform-Dienste übernehmen zentrale Aufgaben wie das Monitoring oder Logging.

Microservice-Architekturen per Monitoring im Blick behalten

DevOps trifft Performance-Management

Microservice-Architekturen per Monitoring im Blick behalten

21.04.17 - Wenn Software in Microservices aufgesplittet wird, wollen die unabhängigen Prozesse auch überwacht sein. Es gilt, das Monitoring im Netzwerk auf die Dienste und deren Basis – zum Beispiel die einzelnen Container – auszuweiten. lesen

Die Vorteile von Microservice-Architekturen

Mikrodienste lassen sich voneinander unabhängig entwickeln, und folglich können auch die dafür zuständigen Teams voneinander unabhängig arbeiten. Auf diese Weise lässt sich der Softwareentwicklungsprozess beschleunigen - ohne ein hohes Maß an Koordination und Kommunikation zu erzeugen.

Ein weiterer Vorteil von Mikrodiensten ist deren Größe. Weil sie so klein sind, können sie in relativ kurzer Zeit neu erstellt und ersetzt werden. Ihre geringe Größe macht Mikroservices zudem leichter wartbar, wobei die Funktionalität des Gesamtsystems stets erhalten bleibt.

Weiterhin ist es möglich, Systeme, die auf Microservices basieren, gegen den Ausfall einzelner Dienste abzusichern – eine Eigenschaft, die für ein äußerst robustes Gesamtsystem sorgt. Und nicht zuletzt ist von Vorteil, dass sich jeder Dienst mit einer anderen Technologie implementieren lässt. Dadurch wird das Experimentieren mit neuen Technologien deutlich vereinfacht.

Die Umstellung auf Microservices richtig kalkulieren

Mikrodienste als Architekturmuster

Die Umstellung auf Microservices richtig kalkulieren

28.04.17 - Microservices werden bei Software-Entwicklern und -Anbietern immer beliebter, nicht nur für neue, Container-basierte Projekte. Auch monolithische Anwendungen sollen den Mikrodiensten vermehrt weichen. Für eine erfolgreiche Neuumsetzung und Portierung ist jedoch eine gute Planung vonnöten. lesen

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Open-Source-Automatisierung mit Jenkins

Continuous Integration und Delivery

Open-Source-Automatisierung mit Jenkins

In Unternehmen spielt die Automatisierung generell, vor allem die automatisierte Bereitstellung von Betriebssystemen und Anwendungen eine wichtige Rolle. Jenkins ist ein wertvolles Hilfsmittel dafür. lesen

Microservices, Docker und DevOps

Erfolgversprechendes Trio

Microservices, Docker und DevOps

Prognose Wachstum: Immer mehr Unternehmen setzen in der Software-Entwicklung auf den hohen Nutzen von DevOps. Einerseits zur Beschleunigung von Software-Delivery-Prozessen, andererseits zur Verbesserung der Qualität, Zuverlässigkeit und Sicherheit des Produkts. lesen

Zugangsdaten-Management für DevOps-Teams

Open-Source-Version von CyberArk Conjur

Zugangsdaten-Management für DevOps-Teams

Ob Encryption- oder API-Schlüssel, Datenbank-Passwörter oder SSL-Zertifikate: Auch in DevOps-Pipelines ist es unabdingbar, vertrauliche Zugangsdaten zu schützen. Das nun auch als Community-Edition verfügbare CyberArk Conjur hilft bei der automatisierten Verwaltung. lesen

Neue Nginx-Anwendungsplattform

Application Server, Management und Security in einem

Neue Nginx-Anwendungsplattform

Ein neuer Application Server und zentralisierte Management-Tools bilden das Fundament der neuen Nginx Application Platform. Um auch der Sicherheit Rechnung zu tragen, bietet die Plattform außerdem eine integrierte Web Application Firewall. lesen

Was ist Lambda und was kann man damit machen?

Einführung in AWS Lambda – Teil 1

Was ist Lambda und was kann man damit machen?

AWS hat mit Lambda „Serverless Computing“, bzw. „Serverless Applications“ salonfähig gemacht. Microsoft hat mit Azure Functions und Google mit Cloud Functions nachgezogen. In allen drei Fällen handelt es sich um eine Ereignis-basierte und asynchrone Computing-Lösung, mit deren Hilfe sich kleine, einzelne, direkt mit anderen Cloud-Services korrespondierende Funktionen erstellen lassen, ohne dass dazu ein virtueller Server oder eine Laufzeitumgebung erstellt und verwaltet werden muss. lesen

Visual Studio 2017 – die Editionen und Neuerungen

Entwicklung nicht nur für Microsoft-Umgebungen

Visual Studio 2017 – die Editionen und Neuerungen

Microsoft stellt die Entwicklungsumgebung Visual Studio 2017 in einer Community-Edition sowie drei lizenzierungspflichtigen Versionen zur Verfügung. Entwickler profitieren von zahlreichen Neuerungen, die einen Umstieg von älteren Versionen rechtfertigen. lesen

Python, R und Linux zur Entwicklung nutzen

SQL Server 2017

Python, R und Linux zur Entwicklung nutzen

Mit dem SQL Server 2017 hat Microsoft zahlreiche Neuerungen auf den Weg gebracht, die auch für Entwickler interessant sind. Die neue Version lässt sich auf Linux installieren und bietet mehr Interoperabilität. lesen

Cloud-native Anwendungsentwicklung und Trainings

CGI startet Digital Lab in Stuttgart

Cloud-native Anwendungsentwicklung und Trainings

Digitale Geschäftsmodelle erfordern eine Software-Entwicklung mit modernen Methoden. Mit einem Digital Lab will CGI künftig Unternehmen in Deutschland dabei unterstützen, neue Produkte und Services in kurzer Zeit zur Marktreife zu bringen. lesen

Microservices- und API-Management-Ausbau bei TIBCO

Übernahme von Nanoscale.io

Microservices- und API-Management-Ausbau bei TIBCO

Mit der Akquisition von Nanoscale.io stärkt TIBCO das Know-how in den Bereichen Microservices und Application Programming Interfaces, kurz APIs. Ziel ist der Ausbau der On-Premises- und Hybrid-Cloud-Umgebung. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44840246 / Definitionen)