Katalog
concept#Architektur#Software Engineering#DevOps#Mikrodienste

Microservices

Ein Architekturstil, der Anwendungen in kleine, unabhängige Dienste unterteilt.

Microservices sind ein Architekturstil, bei dem Anwendungen aus einer Sammlung kleiner, autonomer Dienste bestehen, die über APIs kommunizieren.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

API-GatewayDatenbankenMonitoring-Tools

Prinzipien & Ziele

Unabhängigkeit der DiensteDezentrale DatenverwaltungAPI-First-Ansatz
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Übermäßige Abhängigkeit von Netzwerken
  • Schwierigkeiten bei der Fehlersuche
  • Höhere Betriebskosten
  • Verwendung von API-Standards.
  • Regelmäßige Überprüfung der Dienste.
  • Dokumentation aller Microservices.

I/O & Ressourcen

  • Entwicklerressourcen
  • Technologische Infrastruktur
  • Dokumentation der Dienste
  • Funktionierende Microservices
  • Skalierbare Architekturen
  • Optimierte Entwicklungsprozesse

Beschreibung

Microservices sind ein Architekturstil, bei dem Anwendungen aus einer Sammlung kleiner, autonomer Dienste bestehen, die über APIs kommunizieren. Jeder Dienst ist für eine spezifische Funktion verantwortlich und kann unabhängig entwickelt, bereitgestellt und skaliert werden.

  • Erhöhte Skalierbarkeit
  • Schnellere Bereitstellung neuer Funktionen
  • Bessere Fehlertoleranz

  • Komplexität der Verwaltung
  • Höhere Anforderungen an die Kommunikation
  • Potenzielle Dateninkonsistenzen

  • Reaktionszeit

    Die Zeit, die ein Dienst benötigt, um auf eine Anfrage zu reagieren.

  • Verfügbarkeit

    Der Prozentsatz der Zeit, in der ein Dienst betriebsbereit ist.

  • Fehlerquote

    Der Prozentsatz der fehlgeschlagenen Anfragen.

Netflix

Netflix nutzt eine Microservices-Architektur, um seine Streaming-Dienste zu skalieren und zu verwalten.

Amazon

Amazon implementiert Microservices, um verschiedene Funktionen wie Bestellungen, Zahlungen und Versand zu verwalten.

Spotify

Spotify verwendet Microservices, um Musikstreaming und Benutzerinteraktionen zu optimieren.

1

Entwicklung eines klaren Architekturplans.

2

Einrichtung der notwendigen Infrastruktur.

3

Schulung der Teams in Microservices-Praktiken.

⚠️ Technische Schulden & Engpässe

  • Unzureichende Dokumentation der Dienste.
  • Veraltete Technologien in der Infrastruktur.
  • Mangelnde Tests und Qualitätssicherung.
NetzwerküberlastungKomplexität der IntegrationDateninkonsistenzen
  • Vernachlässigung der API-Sicherheit.
  • Übermäßige Abhängigkeit von einem einzelnen Dienst.
  • Fehlende Tests für Microservices.
  • Annahme, dass Microservices immer die beste Lösung sind.
  • Ignorieren der Komplexität der Integration.
  • Unterschätzung des Aufwands für die Verwaltung.
Kenntnisse in verteilten SystemenErfahrung mit API-DesignFähigkeit zur Fehlerbehebung
Geschwindigkeit der BereitstellungFlexibilität in der EntwicklungAnpassungsfähigkeit an Änderungen
  • Einhaltung von Sicherheitsstandards
  • Regulatorische Anforderungen
  • Technologische Abhängigkeiten