Softwareentwicklung: Zellbasierte Architekturen fĂĽr mehr Resilienz
Je komplexer Service Meshes werden, desto schwieriger wird es, den Ăśberblick zu behalten und auf eine einheitliche Umsetzung zu achten.
- Frank Pientka
Microservice-orientierte Anwendungen haben sich bei verteilten und skalierbaren Architekturen durchgesetzt. Die Art, wie Microservices umgesetzt werden, hat sich weiterentwickelt: Service-Mesh-Produkte regeln als Netzwerk-Proxys den Verkehr und sichern ihn ab. Bei einem eng vermaschten Servicenetz ist es jedoch gar nicht so einfach, den Ăśberblick zu behalten und es einheitlich umzusetzen.
Gerade für große und weltweite Microservices-Architekturen bietet ein neuer Ansatz mit einer zellbasierten Architektur einige Vorteile und Vereinfachungen an. Dieser Artikel stellt diesen Ansatz vor, den bereits einige größere Internetfirmen einsetzen.
- Mit zellbasierten Architekturen gibt es fĂĽr Microservice-orientierte Anwendungen Alternativen zu Service-Mesh-Produkten mit Sidecar.
- Das Zelldesign berĂĽcksichtigt Aspekte wie Partitionierung, Routing und Deployment.
- Ein zellbasierter Ansatz skaliert gut und bietet höhere Verfügbarkeit und Resilienz bei einfacherer Verwaltung.
- Allerdings ist die Redundanz für mehr Verfügbarkeit und Flexibilität oft auch mit höherem Aufwand und mehr Kosten verbunden.
Microservices verwenden oft Resilienzmuster, wie sie Michael Nygard das erste Mal in seinem Buch "Release IT!" beschrieben hat. Mit Service-Mesh-Produkten wandern einige mit Bibliotheken innerhalb der Microservices umgesetzte Funktionen der Resilienzmuster in einen separaten Proxy. Dieser wird als Sidecar zusammen mit den Microservices deployt. Das schafft zusätzlichen Verwaltungsaufwand und mehr Komplexität: So gibt es bei Service Meshes einige Funktionen, die bisher nur von anderen Produkten wie API-Gateway oder Loadbalancer bereitgestellt wurden. Das kann dazu führen, dass einige Dinge im API-Gateway oder im Loadbalancer tatsächlich doppelt erledigt werden, da es beispielsweise Funktionsüberschneidungen beim Routing auf Netzwerkebene 7 oder beim Verschlüsseln der Übertragung gibt.
Das war die Leseprobe unseres heise-Plus-Artikels "Softwareentwicklung: Zellbasierte Architekturen für mehr Resilienz". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.