inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis...

24
Let‘s talk about Microservice Migration Johannes Giani Köln, 14.05.2018 inovex Meetup Cologne

Transcript of inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis...

Page 1: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Let‘s talk aboutMicroservice Migration

Johannes Giani Köln, 14.05.2018

inovex Meetup Cologne

Page 2: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

• Seit Juli 2017 bei inovex• Masterthesis zum Thema Microservices• Ziel: Handlungsempfehlung für

Migrationsprojekte

2

Johannes GianiApplication Development

Page 3: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

1. Einführung2. Methodik3. Handlungsempfehlung4. Fazit

3

AgendaDer rote Faden…

Page 4: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Einführung

Page 5: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Komponenten als Services› Unabhängiges Deployment

› „Smart endpoints and dumb pipes“

› Organisiert anhand von Business Capabilities› Modularisierungskonzept

› …

5Lewis et. al.: Microservices (2014) https://martinfowler.com/articles/microservices.html

MicroservicesEigenschaften

Page 6: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Cross-funktionales Team › Iteratives und inkrementelles Vorgehen

› Agile Architektur› Kein Big Design Upfront

› Skalierung› Spotify, Large-Scale Scrum (LeSS), Nexus, Scaled Agile Framwork (SAFe), …

6

Agile SoftwareentwicklungScrum und agile Methoden

Page 7: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Methodik

Page 8: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Jugendförderung

› Lebensmittel und Haushaltswaren

› Automobil

› Versandhandel

8

ErhebungBeleuchtung verschiedener Szenarien

Page 9: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

9

Leitfadengestützte ExperteninterviewsErhebung & Auswertung

Page 10: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Handlungsempfehlung

Page 11: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› In Abhängigkeit zum Monolithen› Extraktion› Sukzessive Neuentwicklung

› Losgelöst vom Monolithen› Gänzliche Neuentwicklung

11

VeränderungWas? Grüne Wiese oder hybrider Acker?

Page 12: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

12Self-contained Systems (2017): http://scs-architecture.org/

Dekomposition des SystemsWie? Die Zielarchitektur

Präsentation

Anwendung

Daten

Microservice

Microservice / Self-containedSystem (SCS)

[1]

Page 13: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

13

Dekomposition des Systems (II)Wie? Zielarchitektur

› Frontend-Monolith › Frontend-Fragmente

Präsentation

Anwendung

Daten

Mic

rose

rvic

e

Microservice/

SCS

Page 14: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Fachlich abgeschlossener Kontext› Pilot-Projekt

› Grenzen schützen› Anti-Corruption Layer (ACL)

14

Bounded ContextWo beginnen?

Monolith

Micro-service

ACL

Page 15: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

15

Risiken kontrollierenWomit?

› Shadow Traffic

› Canary Releasing

› Feature Toggles[2]

[3]

Page 16: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› User Stories / Features› In Monolith/Microservice

› Technische Stories / „Enabler“› Z.B. ACL implementieren

› Allokieren von Kapazitäten

16http://www.scaledagileframework.com/program-and-solution-backlogs/

TransparenzWozu?

[4]

Page 17: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Migration auf Organisationsebene› Entkoppeln

17

Agile TransformationWann und Wie?

Scrum SAFe

LeSS

µµ

µµ

› Mikroarchitektur› Teamintern› Emergent

› Makroarchitektur› Übergreifend› Intentional

Page 18: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Fazit & Ausblick

Page 19: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Migration als Chance› UI-Fragmentierung› Modellgrenzen wahren› Risiken kontrollieren› Transparenz durch technische Stories› Migration auf Organisationsebene entkoppeln

19

FazitHandlungsempfehlung

Page 20: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Blessing et. al.: DRM, A Design Research Methodology (2009), Springer/London, 1. Auflage

› Evans: Domain-Driven Design (2004), Boston, 1. Auflage

› Cervantes et. al.: Designing software architectures (2016), Addison-Wesley/Boston, 1. Auflage

› Newman: Building Microservices (2015), O‘Reilly/Sebastopol, 1. Auflage

› Stine: Migrating to Cloud-Native Application Architectures (2016), O‘Reilly/Sebastopol, 1. Auflage

› Wolff: Microservices (2016), dpunkt/Heidelberg, 1. Auflage

20

Quellen

Literatur

Page 21: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Larman et. al.: Large-Scale Scrum: Scrum erfolgreich skalieren mit LeSS

(2017), dpunkt/Heidelberg, 1. Auflage

› Leffingwell: SAFe 4.0 Reference Guide (2016), Addison-Wesley/Boston, 1.

Auflage

› Mathis et. al.: SAFe: das Scaled Agile Framework (2016),

depunkt/Heidelberg, 1. Auflage

› Rubin: Essential Scrum (2014), mitp/Heidelberg, 1. Auflage21

QuellenLiteratur (II)

Page 22: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.htmlabgerufen am 02.01.2018

› Lewis et. al.: Microservices (2014) https://martinfowler.com/articles/microservices.htmlabgerufen am 02.01.2018

› Posta.: Low-Risk Monolith to Microservice Evolution Part I (2017) http://blog.christianposta.com/microservices/low-risk-monolith-to-microservice-evolution/abgerfufen am 02.01.2018

› Sato: CanaryRelease (2014) https://martinfowler.com/bliki/CanaryRelease.htmlabgerufen am 02.01.2018

22

QuellenInternetquellen

Page 23: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

› [1] SCS Architecture (2018), http://scs-architecture.org/

› [2] Sato: CanaryRelease (2014) https://martinfowler.com/bliki/CanaryRelease.htmlabgerufen am 02.01.2018 (vereinfacht)

› [3] Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.htmlabgerufen am 02.01.2018 (vereinfacht)

› [4] Leffingwell: Program and Value Stream Backlog (2017) http://v4.scaledagileframework.com/program-and-value-stream-backlogs/ abgerufen am 04.01.2018 (vereinfacht)

› Icons made by Freepik from www.flaticon.com

› Alle nicht-markierten Abbildung: © Johannes Giani & inovex GmbH (2017-2018)

23

QuellenAbbildungen

Page 24: inovex Meetup Cologne Johannes Giani Köln, 14.05 · • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2

Vielen Dank

Johannes Giani

inovex GmbHLudwig-Erhard-Allee 676131 Karlsruhe

[email protected] 33181232