-
Notifications
You must be signed in to change notification settings - Fork 0
Challenges in the Field of Dynamic UI Composition for Microservices (Christian Fröhlingsdorf)
MaxSimon95 edited this page Feb 17, 2019
·
2 revisions
Es bieten sich verschiedene Optionen, um den Übergang von einem schwer wartbaren Monolithen hin zu Microservices im Hinblick auf die UI zu realisieren:
- Single Page Application als Frontend-Monolith, dass die Microservice-UIs anspricht um Daten abzurufen
- Würde sich zu einem neuen Bottleneck entwickeln, daher negativ
- SCS - Self Contained Systems
- Sehen gut getrennt aus, sind es aber nicht: "Warenkorb" z.B. wird überall verwendet, soll aber nicht jedes mal neu von jedem SCS-Team gebaut werden.
- Kein gutes Fundament für User Experience
- Die gewählte Lösung: DUC - Dynamic UI Composition
- Ein Service beschreibt Grundrezept der Seite
- Die anderen Services stellen UI fragments zur Verfügung
- Simplicity & Maintainability
- Am besten an etablierte HTML und HTTP Standards halten
- Templates & Includes
- Includes werden asynchron aufgelöst → performant
- Includes haben nur absolute URLS → performant
- Asset Handling
- Der inkludierte Service kontrolliert sein eigenes JS und CSS
- scoping / naming Conventions für CSS-Assets, JS nicht auf global namespace zugreifen lassen
- Migrating the monolith
- Schrittweise überführen
- Fallbacklogik für gescheiterte verlinkungen
- große Content-Includes: Fallback zur alten Seite anstatt 404-Fehler
- kleine Content-Includes: Fallback-Element das angezeigt wird
- Session-Management durch Cookies
- Performance
- Time to first byte reduzieren
- Herausforderung: Viele Fragmente resultieren in vielen Includes, was auf Performanz schlägt
- Skalierbare Frontendentwicklung
- 100% Entkoppelte Microservices auf Frontend-Ebene
- Zentrale Stelle für Entwicklung und zum Anbringen von Middleware (tracking, security, metrics, logging, session)
- Ebene über die Performanz auf der ganzen Microservice-Landscape verbessert werden kann
- Lernerfolge
- Viele kleine Fragmente werfen Herausforderungen auf
- Die Autonomie der Fragment-Providing-Teams steigt
- E2E Verantwortung ist für Fragment-Including Teams schwerer wahrzunehmen
- Atomares Testing der einzelnen Fragmente ist einfach
- Komplexität der Landscape steigt
- A-B-Tests lassen sich gut umsetzen um UX bei Änderungen zu messen
- Home
- Microserviceübergeifende Dokumente
- Einzelne Microservice Dokumentationen
- Nachbereitung von Gastvorträgen & Workshhops
- REST beyond the obvious (Oliver Drotbohm)
- How to scale Monoliths (Ansgar-Brauner)
- Container & Execution Environment (Axel Burghof)
- Eventing mit Kafka (Sebastian Gauder)
- Workshop mit Studenten der sozialen Arbeit
- Micro Frontends (Wolf Schlegel, Niko Hellwig)
- Monolith vs Microservice (Christian Nockemann)
- Resilience, Monitoring, Logging and Disaster Recovery Strategies (Marion Bruns, Komal Ahluwalla)
- Challenges in the Field of Dynamic UI Composition for Microservices (Christian Fröhlingsdorf)
- 8 things a developer should know about microservices (Wolf Schlegel, Laura Ionescu, Felix Hammerl)