33
1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Version: 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. Swagger bieten 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 Webanwendung © 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 laufender Java Projekte Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing Schlüsselfertige Realisierung von Java Software Individualsoftware Pilot- und Migrationsprojekte Sanierung von Software Software Wartung ) Software Factory ) 2

Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]:

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

Page 2: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 3: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 4: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 5: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 6: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 7: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 8: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 9: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 10: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 11: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 12: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 13: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 14: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 15: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 16: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 17: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 18: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 19: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 20: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 21: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 22: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 23: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 24: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 25: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 26: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 27: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 28: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 29: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 30: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 31: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

Page 32: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

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

[email protected]

??

? ?

????

Fragen ?

Page 33: Idee: Microservices und Legacy-Modernisierung · Microservices Probleme • zusätzliche Entwicklungskomplexität durch erhöhte heterogene Verteilung – Entwicklungsumgebungen –

33

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

Vielen Dank für Ihre Aufmerksamkeit !