Vor drei Jahren haben wir begonnen einen monolithischen Shop in eine Microservice-basierte eCommerce-Plattform zu migrieren und sind dabei von 2 Teams auf heute 180 Entwickler gewachsen. In diesem Vortrag möchten wir unsere, manchmal auch schmerzhaften, Erfahrungen teilen.
Nachdem wir einige Begriffe zu Microservices geklärt haben wollen wir die folgenden Fragen beantworten:
- Welche Organisationsstruktur wird benötigt um einen vertikalen Softwareschnitt zu fördern und gleichzeitig schnell zu wachsen?
- Wie definiert man bounded-contexts mit vielen Teams und Features? Gibt es Wege die Teams auf allen Ebenen autonom arbeiten zu lassen?
- Wie können verschiedene Teams Features unabhängig voneinander entwickeln und in die Produktion bringen?
- Wie verändert asynchrone Kommunikation mittels Kafka die Art über Entitäten nachzudenken?
- Wie können verschiedenste Microservices zu einer gemeinsamen Website beitragen? (Und warum man dies vielleicht zweimal entwickelt…)
Wir möchten gerne unsere Interpretation einer Microservice Architektur teilen in der Entwickler die Fäden in der Hand halten und durch Teilhabe einen großen Einfluss auf die entstehende Architektur haben.