Ich stehe wahrscheinlich demnächst vor der Herausforderung die Versionierung und dem Abhängigkeitsmanagement einer großen Microservice Architektur verantwortlich zu sein. (Oder zumindest einen Plan ausgearbeitet zu haben).
Frage wäre da, was gibt es an Tools/Best-Practices dafür? Gerne auch Links oder ähnliches.
Kontext: Wir reden von ca. 40-50 Services in verschiedenen Größenklassen. Von extrem kleinen Microservices mit 2 Rest-Services bis hin zu fully featured Business Anwendungen die eigentlich kein Microservice mehr sind. Es gibt die diversesten Abhängigkeiten untereinander (also wer welchen Service konsumiert) und die Abhängigkeiten sind auch nicht zyklenfrei.
Die Herausforderung aus meiner Sicht ist da den Überblick zu behalten, was mit wem kompatibel ist. Jede Anwendung wird ihre eigene Versionsnummer angelehnt an Sementic Versioning (https://semver.org/) erhalten. Nur wie manage ich, welche Anwendung von welcher Abhängig ist? Aktuell würde es entweder Confluence oder Excel werden - beides mit Sicherheit nicht die besten Tools dafür
Hinzu kommt dann auch das Thema Release Management - wir haben zig Umgebungen die mit unterschiedlichen Versionsständen bestückt sein werden, wo wir auch den Überblick behalten müssen, was da drauf ist. Es wird (nicht am Anfang, aber im Laufe des Projektes) auch parallele Entwicklungen geben, was das ganze noch mal verkomplizieren wird.
Deswegen gerne Anregungen zu Tools, Artikeln, Tutorials, Best Practices etc. Ich weiß was ich will, aber nicht wie ich effizient dahin komme
Frage wäre da, was gibt es an Tools/Best-Practices dafür? Gerne auch Links oder ähnliches.
Kontext: Wir reden von ca. 40-50 Services in verschiedenen Größenklassen. Von extrem kleinen Microservices mit 2 Rest-Services bis hin zu fully featured Business Anwendungen die eigentlich kein Microservice mehr sind. Es gibt die diversesten Abhängigkeiten untereinander (also wer welchen Service konsumiert) und die Abhängigkeiten sind auch nicht zyklenfrei.
Die Herausforderung aus meiner Sicht ist da den Überblick zu behalten, was mit wem kompatibel ist. Jede Anwendung wird ihre eigene Versionsnummer angelehnt an Sementic Versioning (https://semver.org/) erhalten. Nur wie manage ich, welche Anwendung von welcher Abhängig ist? Aktuell würde es entweder Confluence oder Excel werden - beides mit Sicherheit nicht die besten Tools dafür
Hinzu kommt dann auch das Thema Release Management - wir haben zig Umgebungen die mit unterschiedlichen Versionsständen bestückt sein werden, wo wir auch den Überblick behalten müssen, was da drauf ist. Es wird (nicht am Anfang, aber im Laufe des Projektes) auch parallele Entwicklungen geben, was das ganze noch mal verkomplizieren wird.
Deswegen gerne Anregungen zu Tools, Artikeln, Tutorials, Best Practices etc. Ich weiß was ich will, aber nicht wie ich effizient dahin komme