1
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Idee: Microservices und Legacy-Modernisierung
Microservices scheinen auf den ersten Blick ein geeignetes Architekturstilmittel bei der Modernisierung/ Migration von Legacy-Anwendungen zu sein. Mit
Spezifikationen wie OData bzw. pragmatischen Ansätzen wie z.B. Swaggerbieten sich fast 20 Jahre nach OMG CORBA neue Chancen für eine
performante und praktikable Integration bzw. Verkapselung von Legacy-Modulen. Leider sind aber nicht alle Arten von Legacy als Microservice
geeignet. Der Vortrag zeigt Potenziale, aber auch Schwierigkeiten dieses Ansatz auf.
1.0
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Java, XML und Open Source seit 1998
) Competence Center)) Object Rangers )
• Schulungen , Coaching , Weiterbildungsberatung , Train & Solve-Programme
• Methoden , Standards und Tools für die Entwicklung von offenen, unternehmens-weiten Systemen
• Unterstützung laufenderJava Projekte
• Perfect Match• Rent-a-team• Coaching on the project• Inhouse Outsourcing
• Schlüsselfertige Realisierungvon Java Software
• Individualsoftware• Pilot- und Migrationsprojekte• Sanierung von Software• Software Wartung
) Software Factory )
2
2
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Ihr Sprecher
Enterprise Java Technologien
Software Engineering
Qualitätsmanagement
SW-Architekt, Berater,CTO
Christian Dedek
3
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Gliederung
• Kontext und Lösungsidee• Umsetzung
• Lessons Learned
4
3
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Software Legacy – Gründe/Vorteile
• Effektivität– Systeme sind oft hochspezialisiert und Unternehmensprozesse
entsprechend gestaltet
• Effizienz– Systeme sind im Rahmen ihres Lebenszyklus häufig stark optimiert– niedrige Betriebskosten
• Flexibilität– Im Rahmen seiner architekturellen Grenzen oft kostengünstig
5
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Software Legacy Probleme
• Performanz/Skalierbarkeit– Datenmenge (Bewegungsdaten)– Antwortzeiten/Verarbeitungsgeschwindigkeit
• Benutzbarkeit– Moderne Userinterface
• Browser, Mobile, Chatbots• Angemessene grafische Aufbereitung von Inhalten (Layout)
• Unangemessene Komplexität– Viele Schnittstellen– Mangelhafte Modularisierung– Mangelnde Dokumentation
• Flexibilität– Geschäftsprozesse hängen an Systemarchitektur
• Keine Innovationen möglich z.B. AI, Collaborative W ork– Entwicklung bedingt skalierbar
• Security– Hohe Komplexität -> Risiken kaum abschätzbar
6
4
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Softwaremodernisierung
• Reengineering– als adaptive Wartung um Probleme zielgerichtet zu lösen
• Migration– als spezielle Wartungsaktivität
• (Teil)Ersatz durch existierende (Standard)softwareprodukte– als primär kaufmännischer Ansatz mit Fokus auf Risikomanagement
• Re-Hosting
7
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Businessview der Modernisierung
Legacy-ERP
POSService
PersistenzService
PPSService
CacheService
CRMService
LoggingService
LGMService
SecurityService
Soll
Ist
5
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsoptionen
Softwaremodernisierung
Migration
Big Bang
Inkrementelle Paketumstellung
Chicken Little
Reengineering
Refactoring
Big Bang
Ersetzung(COTS)
9
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsziele
• Performanzverbesserungen(dynamische) Skalierung– Antwortzeiten– Realtime Business, Industrie 4.0– Big Data, IoT
• flexible Userinterfaces• Browser, Mobile, the next big thing ?
• Problemadäquate Systemkomplexität– korrekte Modularisierung– Kapselung– adäquate Dokumentation
• Flexibilität– keine Bindung an Technologie/Hersteller/Sprache– Skalierbarkeit der Entwicklung
• Effizienz ?
10
6
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Anforderungen an Modernisierungsvorhaben
• Maximale Senkung des Risikos– ununterbrochener, sicherer, zuverlässiger Betrieb– Erkennen von fehlerhaften Entwicklungen vor Produktionsstart
• Herstellung einer zukunftsfähigen Basisarchitektur– Nutzen der Migrationszielarchitektur früh herausarbeiten– Vorteile des Zielarchitektur können helfen ev. negative Effekte erträglich
zu gestalten
• Bessere Flexibilisierung in der neuen Architektur durch Kapselung und sauberes API Design forcieren
11
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservices ein „neues“ Architekturmuster
• Variation einer komponentenbasierten Architektur – Services – Komponente in abgetrenntem Prozess– Bibliothek – Komponente im gleichen Prozess
• Service ist ein fachliches Produkt– Lifecycle/Business Awareness/crosscutting Dev-Team
• Keine Logik in der Kommunikation zwischen Services– einfache Request/Response-Interaktionen
• unabhängige Verteilung von Verantwortlichkeiten in den Services– architekturelle/technologische Entscheidungen
• aber common Libraries, Service Chassis etc. möglich
– Datenhaltung
• Automatisierte Betriebsinfrastrukturen– niedrige Infrastrukturfixkosten per Service
12
7
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Was ist ein Microservice ?
• Ein Microservice– Implementiert einen Satz gleichartiger, fachlich zusammenhängender
Funktionen– bearbeitet synchrone/asynchrone Requests (z.B. HTTP/AMQP)– liefert Response in JSON/HTML/XML
• Ein Microservice ist unabhängig von anderen Microservices bzgl.– Entwicklung (Technologie, Team, Roadmap)– Deployment (Lokation, Technologie)– Persistenten Daten (isolierte Datenbank)
13
Interfaces
Application
DataAccess
DataData
MicroserviceX
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservicearchitektur idealisiert
• System wird hauptsächlich aus lose gekoppelten, (heterogenen),miteinander kollaborierenden Services erstellt –den Microservices
14
Interfaces
Application
DataAccess
DataData
Service ZInterfaces
Application
DataAccess
DataData
Service K
Interfaces
Application
DataAccess
DataData
Service BInterfaces
Application
DataAccess
DataData
Service D
Interfaces
Application
DataAccess
DataData
Service X
Interfaces
Application
DataAccess
DataData
Service L
8
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservices Vorteile
• Performanz und Skalierung zur Laufzeit– Skalierung von Daten entlang des Problemkontexts– Optimierung und horizontale Skalierung innerhalb eines Microservice
• kein langfristiges Commitment zu einer Technologie
• erhöhte Stabilität durch Fehlertoleranz
• Microservice– leichter verständlich (Dokumentation)– Unterstützt produktivere Entwicklungsumgebungen(IDE, Startup,
Deployment)
• unabhängiges Deployment erlaubt schnellere Releasezyklen
• skalierbare Entwicklung entlang der Verantwortlichkeit für Services
15
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Idee Microservices bei der Modernisierung
Legacy-ERP
POSService
PersistenzService
PPSService
CacheService
CRMService
LoggingService
LGMService
SecurityService
Soll
Ist
9
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservices Probleme
• zusätzliche Entwicklungskomplexität durch erhöhte heterogeneVerteilung– Entwicklungsumgebungen– Test/QM– Inter-Service Kommunication– Herstellung von Konsistenz ím Gesamtsystem
• getrennte Datastores• keine distributed transactions
– Koordination bei übergreifenden Use Cases
• Komplexes Deployment und Monitoring inhomogener Services imBetrieb
• Erhöhte Infrastrukturgrundlast– Jeder Service benötigt Basisinfrastruktur
17
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservices Patterns als Lösungskonzeption
• Kommunikation– Messaging, RPI– API Gateway– Service Discovery– Service Registry– Circuit Breaker
• Datenkonsistenz– EDA– Eventsourcing,Applicationevents,Databasetriggers,Transactionlog
tailing– CQRS
• Deployment– Single Service per Host (per Container, per VM)– Multiple Services per Host– Serverless
18
10
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Gliederung
• Kontext und Lösungsidee
• Umsetzung• Lessons Learned
19
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Grundlegende Voraussetzungen
• Architekturentscheidung fällt in Rahmen eines definierten Modernisierungsvorgehens
• Nichtfunktionalen Anforderungen klar erfasst und kaufmännisch bewertet– Skalierbarkeit
• Last, Daten, Entwicklungsteam
– Performanz• KPI definiert ?
– Flexibilität• Schnittstellen
– Benutzbarkeit• UI
• Angestrebte Microservice Betriebsinfrastruktur müssen mindestens kostenseitig abschätzbar sein
20
11
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Abstraktes SW-Modernisierungsvorgehen
• Bewertung– Projektantrag– Kostenschätzung– Portfolioanalyse– Kosten/Nutzen-Analyse
• erhöhte Microservice-Infrastrukturkosten kalkulierb ar
– (Contracting)
• Legacy System Understanding
• Target System Development– Erarbeitung/Bewertung und Auswahl möglicher Zielarchitekturen
• Testing
• Migration
21
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Probleme heterogener Microservices
• lose gekoppelte,heterogene,miteinander kollaborierenden Services benötigen Logik in den Endpunkten für– Interservice-Kommunikation– Datenkonsistenz– Service-Koordination
22
Interfaces
Application
DataAccess
DataData
Service ZInterfaces
Application
DataAccess
DataData
Service K
Interfaces
Application
DataAccess
DataData
Service BInterfaces
Application
DataAccess
DataData
Service D
Interfaces
Application
DataAccess
DataData
Service X
Interfaces
Application
DataAccess
DataData
Service L
12
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Heterogenität und Standards
• Logik in Endpunkten ist kein technisches aber ein kostenseitiges Problem– Adaptierung in Endpunkten möglich
• Outbound/inbound• Worst case Gateway Endpunkt notwendig
• Interservice-Kommunikation– Etablierte bzw. faktische Standards bei der techn. Integration
• Restful http,JSON, HTML,XML
– Discovery, Description• Patterns, Spezifikationsversuche und Implementierun gen
• Datenkonsistenz– Patterns und Implementierungen
• Service-Koordination ?
23
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Microservices – kein standardisierter Bus
• OMG CORBA und W3C-WS*-SOA sind Architekturen welche die Möglichkeit standardisierter Bussysteme fokussiert haben.– Service-Objekte bzw. WS*-Services besitzen standardisierte inbound
und outbound Adapter– Standardisierung eines Bussystems ist in diesen Architekturen ein Mittel
zur Absicherung von Investitionen– Investitionssicherheit öffnet den Markt für 3rd Party Lösungen
• Adapterbibliotheken• Busimplementierungen/frameworks• Fachliche Komponenten
• Overhead-Probleme dieser Architekturen sind Hauptkritikpunkte in denen Microservicearchitekturen besser sind– Laufzeit– Infrastruktur– KnowHow
24
13
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Probleme Microservices und UIs
• Userinterfaces sind eine mögliche Schnittstelle von Microservicesund setzen daher auf minimale Standards– HTML,JSON,JS,CSS
• Basierend auf diesen Standards existieren verschiedene Implementierungsstrategien– die teilweise inkompatibel sind
• Benutzbarkeit heterogener Benutzerschnittstellen ist oft stark beeinträchtigt bzw. von Businessseite unerwünscht– Informationsdichte– Benutzerführung– Corporate Identity
• UI soll deshalb oft Microservices integrieren bzw. koordinieren– Aufwand ?
• Kosten für Adaptierung von Inkompatibilität
25
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH 26
Microservice UI
HTML JSON
Gemeinsame
UI
Getrennte
UI
Gemeinsame
UI
Getrennte
UI
Server
Integration
Browser
Integration
Browser
Integration
Backend
Service Calls
AJAX
HTML
Serverseitiges
Templating
AJAX
JSON
Clientseitiges
Templating
Vollständige
UI
Composite
UI
Vollständige
UI
Composite
UI
SCS
14
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsoptionen
Softwaremodernisierung
Migration
Big Bang
Inkrementelle Paketumstellung
Chicken Little
Reengineering
Refactoring
Big Bang
Ersetzung(COTS)
27
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Big Bang Approach
• Vollständige Neuentwicklung– parallel zum Altsystem das neue System entwickeln und testen
• Potentiale:– Skalierungsoptionen von Microservices voll nutzbar– theoretisch maximale Produktivität neuester Werkzeuge erzielbar– „saubere“ Entwicklung mit dokumentierten Requirements
• Richtige Kapselung und Modularisierung
– Nutzung von technologischen Blue Prints ohne Anpassungen möglich
• Probleme– Klassisch – Cold Turkey, Moving Target– Speziell Microservices – teures Service Refactoring
28
15
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Big Bang Erfolgsaussichten
• Service-Schnittstellen Refactorings weniger riskant bzw. kostengünstiger innerhalb eines Teams– 5-7 Entwickler
• Cold Turkey/Moving Target begrenzen Entwicklungszeit (exponentiell wachsendes Risiko)– <24 Monate Entwicklungszeit
• ~ 150 PM obere Aufwandsgrenze für ein Big Bang Projekt– Abschätzung bei Bestandsystem aus Produktivcode möglich
• IFPUG-Backfiring• COCOMO 2
29
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsoptionen
Softwaremodernisierung
Migration
Big Bang
Inkrementelle Paketumstellung
Chicken Little
Reengineering
Refactoring
Big Bang
Ersetzung(COTS)
30
16
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Businessvision vollständige COTS Modernisierung
Legacy-ERP
POS PPS CRM LGM Soll
Ist
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Real World COTS Modernisierung
• oft nur Teilaspekte ablösbar
• Microservices als Lösungsmuster ?– Microservice Kompatibilität COTS– Adaptionskosten
• Umfang von Integration und Koordination– Datenkonsistenz– UI
• Ideal Self Contained Systems (SCS)– keine UI-Integration– eventual Consistency hinreichend– (keine Infrastrukturrestriktionen)
Individual-ERP
POS CRM
17
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Worst Case Szenario COTS Microserviceintegration
Legacy-ERP
Microservice Adapter
POS
Microservice Adapter
EDAConnector
Service RegistryAPI Gateway
Composite UI
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsoptionen
Softwaremodernisierung
Migration
Big Bang
Inkrementelle Paketumstellung
Chicken Little
Reengineering
Refactoring
Big Bang
Ersetzung(COTS)
34
18
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Refactoring
• Beibehaltung des bisherigen Technologiestacks– Ggf. Modernisierung/Update einzelner Bibliotheken
• Stack muss ‚nur‘ Microservice kompatibel sein– Microservice Chassis Pattern ?
• Kompatibilität und Kosten der Betriebsinfrastruktur
• Bsp.– Enterprise Java Anwendungen (POJO)– .NET/Mono– LAMP, ABAP, Delphi..?
• Gefahren– Einführung einer neuen Architekturlayer Restful Service Adapter
• Latency, Throughput
35
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Legacy-ERP
Idealisiertes Szenario – vollstrukturierter Monolith
POSService
PersistenzService
PPSService
CacheService
CRMService
LoggingService
LGMService
SecurityService
Soll
Ist
POSUI
POSLogic
POSDAO
PPSUI
PPS ILogic
PPS IDAO
PPS IILogic
PPS IIDAO
CRMUI
CRMLogic
CRMDAO
LGMUI
SCMLogic
SCMDAO
MLogUI
DCMLogic
DCMDAO
19
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Legacy-ERP
Idealisiertes Szenario Microservicerefactoring
POSService
PersistenzService
PPSService
CacheService
CRMService
LoggingService
LGMService
SecurityService
Soll
Ist
POSUI
POSLogic
POSDAO
PPSUI
PPS ILogic
PPS IDAO
PPS IILogic
PPS IIDAO
CRMUI
CRMLogic
CRMDAO
LGMUI
SCMLogic
SCMDAO
MLogUI
DCMLogic
DCMDAO
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Monolith/Backend
Mic
rose
rvic
eAda
pter
Data
Legacysystem
Sanierungsversuch Monolith –Micro(web)serviceadapter?
38
Interfaces
Application
DataAccess
DataData
Service CInterfaces
Application
DataAccess
DataData
Service B
Interfaces
Application
DataAccess
DataData
Service DInterfaces
Application
DataAccess
DataData
Service A
20
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Probleme Microserviceadapter
• Logik in der Kommunikation
• keine unabhängige Verteilung von Verantwortlichkeiten in den Services– ungekapselt– technologisch verbacken– Datenabhängig
• keine Infrastrukturautomatisierung
39
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Refactoring im Wartungsprozess
monolithischesLegacysytem
modularisierendesRefactoring(Sanierung)
streng modularisiertes
System
MicroserviceRefactoring
MicroserviceArchitektur
Wartung
40
21
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
1. Monolith Schichtenbildung
41
Interfaces
Applicationmodule
Databaseservice
Data
Legacysystem
Monolith/Backend
Data
Legacysystem
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
2. Servicezuschnitt des Systems
• Separation einzelner fachlicher Interfaces (Upfront Design Kapselung)– definiert zukünftige Servicecontracts !
• Consumer driven• Versionierung vermeiden
– muss in tieferen Schichten noch nicht durchgezogen sein
• Innerhalb der Interface Layer müssen alle Abhängigkeiten(inbound/outbound) exploriert werden
42
Interfaces
Application
DataAccess
Modul AInterfaces
Modul BInterfaces
Modul CInterfaces
Modul D
Data
22
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
3. Applikationslogik auf der Serviceschicht ausbilden
• Schnitte in Applikation Layer fachlich definieren– technisch validieren(insbesondere DataAccess-Crosscuts überwachen)
• Applikation Layer Abhängigkeiten auflösen– Nur über Out/Inbound-Adapter Kommunikation über Schnittgrenzen
erlaubt• lokale Zugriffe noch erlaubt
– Service Refactoring notwendig
• feingranulare/hochfrequente/bidirektionale/(inperformante) Schnittkommunikation im Entwurf vermeiden/auflösen
43
Interfaces
Application
DataAccess
Modul AInterfaces
Application
Modul BInterfaces
Application
Modul CInterfaces
Application
Modul D
Data
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
4. DataAccess separieren
• Zugriff der Applikationslogik auf Daten erfolgt nur noch über lokale DataAccess-Schicht oder über explizite Service-Referenzen– Bei Refererenzen auf fremde DataAccess-Layer (move up/(down ?))
• Herausbildung von Datenmodelclustern unterhalb der DataAccess-Schicht– Referenzen auf fremde Cluster möglich aber sollen minimiert werden
• Ev. Refactoring des Servicezuschnitts notwendig
44
Interfaces
Application
DataAccess
Modul AInterfaces
Application
DataAccess
Modul BInterfaces
Application
DataAccess
Modul CInterfaces
Application
DataAccess
Modul D
Data
23
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
5. Datenmodelle kapseln
• Abtrennung von Teilschemata– redundante Datenhaltung selten vermeidbar– eventuell Wechsel des Konsistenzparadigmas notwendig– teilweise Erweiterung der Service-Interfaces notwendig
(Datenkonsistenz)
• Wechsel der Storage-Technologie/Architektur möglich– noSQL,EDA,CQRS– Eventsourcing,Applicationevents,Databasetriggers,Transactionlog
tailing
45
Interfaces
Application
DataAccess
Modul AInterfaces
Application
DataAccess
Modul BInterfaces
Application
DataAccess
Modul CInterfaces
Application
DataAccess
Modul D
Data Data
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
lokale Microservices (Co-Deployment) –MicroSOA?
• Modularisierung und Kapselung des Systems ist fertiggestelt
• verschiedene Deployment-Optionen– Lokales Co-Deployment– Micro(web)service
46
Interfaces
Application
DataAccess
DataData
Modul AInterfaces
Application
DataAccess
DataData
Modul BInterfaces
Application
DataAccess
DataData
Modul C
Interfaces
Application
DataAccess
DataData
Modul D
24
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Modernisierungsoptionen
Softwaremodernisierung
Migration
Big Bang
Inkrementelle Paketumstellung
Chicken Little
Reengineering
Refactoring
Big Bang
Ersetzung(COTS)
47
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Chicken Little
– 11 Schritte Programm (divide & conquer)• Analyse des Altsystems• Zerlegen des Altsystems
– Entwickeln der Schnittstellen des Zielsystems !!!
• Entwickeln der Zielbenutzeroberflächen• Entwickeln der Zielanwendungen• Entwickeln des Datenbankbackends.• Installation der Zielumgebung• Entwicklung und Installation von Gateways• Migration der Datenbank des Altsystems• Migration der Altanwendungen• Migration der Benutzeroberfläche• Umschalten vom Altsystem auf das Zielsystem
48
25
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Chicken Little Strategie
49
Interfaces
Applicationmodule
Databaseservice
Data
Legacysystem
Interfaces
Applicationmodule
Databaseservice
Data
ZielsystemDaten
SignaleDaten
Signale
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Chicken Little Basisarchitektur
50
Interfaces
Applicationmodule
Databaseservice
Data
Legacysystem
Interfaces
Applicationmodule
Databaseservice
Data
Zielsystem
KoordinatorMapping
26
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Chicken Little
• Potentiale:– Risikominimierung– Schnelles Produktionsfeedback– Im Verlauf flexible und anpassbare Strategie
• Probleme:– Kopplung von Legacy/Zielsystem– Ständige QM-Maßnahmen bei jedem Inkrement– Machbarkeit/Kosten
• Coordinatoren(Gateways (forward/reverse)
51
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Zentrale Problemstellung bei Chicken Little
• Zerlegbarkeit des Legacysystems ?– Zerlegbares System– Teilzerlegbares System– Nicht zerlegbares System
52
27
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Migration bei vollständig zerlegbarem System
53
Interfaces
Application
DataAccess
DataData
Service C
Interfaces
Application
DataAccess
DataData
Service 1
Interfaces
Application
DataAccess
DataData
Service B
Interfaces
Application
DataAccess
DataData
Service 2
Interfaces
Application
DataAccess
DataData
Service A
Interfaces
Application
DataAccess
DataData
Service 3
Interfaces
Application
DataAccess
DataData
Service D
Interfaces
Application
DataAccess
DataData
Service 4
Interfaces
Application
DataAccess
DataData
Service 4
KoordinatorMappingMapping
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Semi-zerlegbares System
54
Interfaces
Application
DataAccess
Modul AInterfaces
Modul BInterfaces
Modul CInterfaces
Modul D
Data
28
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Chicken Little Semi-zerlegbares System
55
Interfaces
Application
DataAccess
Modul AInterfaces
Modul BInterfaces
Service CInterfaces
Service D
Data
Koordinator
Application
DataAccess
DataData
Application
DataAccess
DataData
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Browser
Webservice_Mashup
56
WebInterfaces
Application
DataAccess
Modul AWebInterfacesModul B
WebInterfacesService C
WebInterfacesService D
Data
HTTP(s)/JSON Adapter
Application
DataAccess
DataData
Application
DataAccess
DataData
29
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Browser
Frontend Migration ?
57
WebInterfaces
Application
DataAccess
Modul AWebInterfacesModul B
WebInterfacesService C
WebInterfacesService D
Data
HTTP(s)/JSON Adapter
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Nicht zerlegbares System ?
• Minimales Refactoring notwendig– Horizontale Schichtung– Vertikale Schnitte
58
Monolith
Data
Legacysystem
Interfaces
Application
DataAccess
DataData
Service 1
Interfaces
Application
DataAccess
DataData
Service 2
30
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Gliederung
• Kontext und Lösungsidee
• Umsetzung
• Lessons Learned
59
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Die gute Nachricht
• Microservice Architekturen sind hervorragend modernisierbar– vollständige Unabhängigkeit der Services
• Microservice Architekurstilmittel sind technisch geeignet um Software zu modernisieren– kleiner Systeme(150PM Aufwand) sind mit vertretbarem Risiko direkt
als Microservice-Architekur reimplementierbar– Semizerlegbare Systeme sind relativ kostengünstig und schnell in
Microservice-Architekturen integrierbar• aber sie sind selbst noch keine Microservices !
– Es stehen ausreichende Architekturstilmittel zur Verfügung um die meisten Monolithen kompatibel zu einer Microservicearchitektur zu refactorieren (MicroSOA)
• Viele positive nichtfunktionale Aspekte von Microservices– Performanz, Skalierung, Fehlertoleranz, technologische Unabhängigkeit
60
31
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Das kaufmännische Aber
• der Betrieb von Microservices verursacht erhöhte Infrastrukturkosten– M. Fowler: „Microservice Premium“
• Microservice-Schnittstellen verursachen eine Infrastruktur-Overhead der hohe Risiken birgt– Performanzprobleme können katastrophal sein
• Microservicearchitekturen werfen die Frage nach passenden UI-Konzepten bzw. Lösungen auf– einige Lösungskonzepte sind kontraproduktiv (UI-Monolith)
61
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Das kaufmännische Aber
• Microservice Architekturen brauchen Kapselung und Modularisierung – erhöhte Wartungskosten
• aufwendige Refactorings
– langsamere Entwicklungsgeschwindigkeit
• Der Aufwand für Modularisierungsrefactorings ist schwer kalkulierbar und bringt kaum ‚direkte‘ Ergebnisse
• Ein Microservice-Adapter an einem Monolithen ist kein sicheres Investment in dessen Modernisierung– HTTP/JSON-RPC sind kein ‚Standard‘ der Investments sicher – COTS-Produkte sind nicht ‚standardisiert‘ integrierbar
62
32
Rethinking Software Migration im Zeitalter der Weban wendung© Orientation in Objects GmbH
Fazit
• Microservices sind nicht die ultimative Lösung für Modernisierungsvorhaben
• Aber sie unterstützen bei der Diskussion von Lösungsszenarien ☺
63
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
??
? ?
????
Fragen ?
33
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Vielen Dank für Ihre Aufmerksamkeit !