SlideShare ist ein Scribd-Unternehmen logo
Let‘s talk about
Microservice Migration
Johannes Giani Köln, 14.05.2018
inovex Meetup Cologne
• Seit Juli 2017 bei inovex
• Masterthesis zum Thema Microservices
• Ziel: Handlungsempfehlung für
Migrationsprojekte
2
Johannes Giani
Application Development
1. Einführung
2. Methodik
3. Handlungsempfehlung
4. Fazit
3
Agenda
Der rote Faden…
Einführung
› 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
Microservices
Eigenschaften
› 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 Softwareentwicklung
Scrum und agile Methoden
Methodik
› Jugendförderung
› Lebensmittel und Haushaltswaren
› Automobil
› Versandhandel
8
Erhebung
Beleuchtung verschiedener Szenarien
9
Leitfadengestützte Experteninterviews
Erhebung & Auswertung
Handlungsempfehlung
› In Abhängigkeit zum Monolithen
› Extraktion
› Sukzessive Neuentwicklung
› Losgelöst vom Monolithen
› Gänzliche Neuentwicklung
11
Veränderung
Was? Grüne Wiese oder hybrider Acker?
12Self-contained Systems (2017): http://scs-architecture.org/
Dekomposition des Systems
Wie? Die Zielarchitektur
Präsentation
Anwendung
Daten
Microservice
Microservice /
Self-contained
System (SCS)
[1]
13
Dekomposition des Systems (II)
Wie? Zielarchitektur
› Frontend-Monolith › Frontend-Fragmente
Präsentation
Anwendung
Daten
Microservice
Microservice/
SCS
› Fachlich abgeschlossener Kontext
› Pilot-Projekt
› Grenzen schützen
› Anti-Corruption Layer (ACL)
14
Bounded Context
Wo beginnen?
Monolith
Micro-
service
ACL
15
Risiken kontrollieren
Womit?
› Shadow Traffic
› Canary Releasing
› Feature Toggles
[2]
[3]
› 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/
Transparenz
Wozu?
[4]
› Migration auf Organisationsebene
› Entkoppeln
17
Agile Transformation
Wann und Wie?
Scrum SAFe
LeSS
µ
µ
µµ
› Mikroarchitektur
› Teamintern
› Emergent
› Makroarchitektur
› Übergreifend
› Intentional
Fazit & Ausblick
› Migration als Chance
› UI-Fragmentierung
› Modellgrenzen wahren
› Risiken kontrollieren
› Transparenz durch technische Stories
› Migration auf Organisationsebene entkoppeln
19
Fazit
Handlungsempfehlung
› 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
› 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. Auflage
21
Quellen
Literatur (II)
› Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.html
abgerufen am 02.01.2018
› Lewis et. al.: Microservices (2014) https://martinfowler.com/articles/microservices.html
abgerufen 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.html
abgerufen am 02.01.2018
22
Quellen
Internetquellen
› [1] SCS Architecture (2018), http://scs-architecture.org/
› [2] Sato: CanaryRelease (2014) https://martinfowler.com/bliki/CanaryRelease.html
abgerufen am 02.01.2018 (vereinfacht)
› [3] Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.html
abgerufen 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
Quellen
Abbildungen
Vielen Dank
Johannes Giani
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe
jgiani@inovex.de
0152 33181232

Weitere ähnliche Inhalte

PDF
Working, Collaborating and Leading in the Digital Age (blp17)
PDF
Agile Breakfast March 2017: Agile Transformation @SBB
PDF
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
PDF
Open Source: Aktuelle Situation und Entwicklungen in der Schweiz und Internat...
PDF
Manage Agile Konferenz - Wie wir ein eigenes Framework entwickelten und warum...
PPTX
BerlinStartupInsights G-Forum 2013
PDF
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
PDF
DevOps und ITIL: Waffenbrüder oder Feinde?
Working, Collaborating and Leading in the Digital Age (blp17)
Agile Breakfast March 2017: Agile Transformation @SBB
Agile UX, Ideation and Scrum Workshop, ditact Nov 2013 (German)
Open Source: Aktuelle Situation und Entwicklungen in der Schweiz und Internat...
Manage Agile Konferenz - Wie wir ein eigenes Framework entwickelten und warum...
BerlinStartupInsights G-Forum 2013
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
DevOps und ITIL: Waffenbrüder oder Feinde?

Ähnlich wie Let's talk about Microservices Migration! (20)

KEY
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
PPTX
Modernisierung in Zeiten wie diesen
PDF
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
PDF
revision6 GmbH Internetagentur
PDF
knowtech2011-Verwaltung2.0
PDF
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
PDF
Quo vadis-devops-nuernberg
PDF
Lean-Agile Journey @ Migros - Ein Reisebericht aus der Praxis
PDF
2016 - Mobile Business Apps - Vorgehensmodell.
PDF
DevOps jenseits der Tools
PDF
DevOps in der Praxis
PDF
Lean-Agile Journey @ Migros - Mit kleinen Schritten zu grossen Veränderungen
PDF
OKR AgileHR Meetup Fotoprotokol
PDF
FUTURE-WORK TEASER - DETECON & ORANGE COUNCIL
PDF
FUTURE-WORK TEASER - DETECON & ORANGE COUNCIL
PDF
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
PDF
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
PDF
Cusy Developer-Baukasten
PPTX
Der Weg zum nutzerzentrierten Unternehmen
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
Modernisierung in Zeiten wie diesen
Agile, DevOps, Continuous Delivery: Was ist das und wie betrifft es mich als ...
revision6 GmbH Internetagentur
knowtech2011-Verwaltung2.0
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
Quo vadis-devops-nuernberg
Lean-Agile Journey @ Migros - Ein Reisebericht aus der Praxis
2016 - Mobile Business Apps - Vorgehensmodell.
DevOps jenseits der Tools
DevOps in der Praxis
Lean-Agile Journey @ Migros - Mit kleinen Schritten zu grossen Veränderungen
OKR AgileHR Meetup Fotoprotokol
FUTURE-WORK TEASER - DETECON & ORANGE COUNCIL
FUTURE-WORK TEASER - DETECON & ORANGE COUNCIL
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
Cusy Developer-Baukasten
Der Weg zum nutzerzentrierten Unternehmen
Anzeige

Mehr von inovex GmbH (20)

PDF
lldb – Debugger auf Abwegen
PDF
Are you sure about that?! Uncertainty Quantification in AI
PDF
Why natural language is next step in the AI evolution
PDF
WWDC 2019 Recap
PDF
Network Policies
PDF
Interpretable Machine Learning
PDF
Jenkins X – CI/CD in wolkigen Umgebungen
PDF
AI auf Edge-Geraeten
PDF
Prometheus on Kubernetes
PDF
Deep Learning for Recommender Systems
PDF
Azure IoT Edge
PDF
Representation Learning von Zeitreihen
PDF
Talk to me – Chatbots und digitale Assistenten
PDF
Künstlich intelligent?
PDF
Dev + Ops = Go
PDF
Das Android Open Source Project
PDF
Machine Learning Interpretability
PDF
Performance evaluation of GANs in a semisupervised OCR use case
PDF
People & Products – Lessons learned from the daily IT madness
PDF
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
lldb – Debugger auf Abwegen
Are you sure about that?! Uncertainty Quantification in AI
Why natural language is next step in the AI evolution
WWDC 2019 Recap
Network Policies
Interpretable Machine Learning
Jenkins X – CI/CD in wolkigen Umgebungen
AI auf Edge-Geraeten
Prometheus on Kubernetes
Deep Learning for Recommender Systems
Azure IoT Edge
Representation Learning von Zeitreihen
Talk to me – Chatbots und digitale Assistenten
Künstlich intelligent?
Dev + Ops = Go
Das Android Open Source Project
Machine Learning Interpretability
Performance evaluation of GANs in a semisupervised OCR use case
People & Products – Lessons learned from the daily IT madness
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Anzeige

Let's talk about Microservices Migration!

  • 1. Let‘s talk about Microservice Migration Johannes Giani Köln, 14.05.2018 inovex Meetup Cologne
  • 2. • Seit Juli 2017 bei inovex • Masterthesis zum Thema Microservices • Ziel: Handlungsempfehlung für Migrationsprojekte 2 Johannes Giani Application Development
  • 3. 1. Einführung 2. Methodik 3. Handlungsempfehlung 4. Fazit 3 Agenda Der rote Faden…
  • 5. › 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 Microservices Eigenschaften
  • 6. › 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 Softwareentwicklung Scrum und agile Methoden
  • 8. › Jugendförderung › Lebensmittel und Haushaltswaren › Automobil › Versandhandel 8 Erhebung Beleuchtung verschiedener Szenarien
  • 11. › In Abhängigkeit zum Monolithen › Extraktion › Sukzessive Neuentwicklung › Losgelöst vom Monolithen › Gänzliche Neuentwicklung 11 Veränderung Was? Grüne Wiese oder hybrider Acker?
  • 12. 12Self-contained Systems (2017): http://scs-architecture.org/ Dekomposition des Systems Wie? Die Zielarchitektur Präsentation Anwendung Daten Microservice Microservice / Self-contained System (SCS) [1]
  • 13. 13 Dekomposition des Systems (II) Wie? Zielarchitektur › Frontend-Monolith › Frontend-Fragmente Präsentation Anwendung Daten Microservice Microservice/ SCS
  • 14. › Fachlich abgeschlossener Kontext › Pilot-Projekt › Grenzen schützen › Anti-Corruption Layer (ACL) 14 Bounded Context Wo beginnen? Monolith Micro- service ACL
  • 15. 15 Risiken kontrollieren Womit? › Shadow Traffic › Canary Releasing › Feature Toggles [2] [3]
  • 16. › 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/ Transparenz Wozu? [4]
  • 17. › Migration auf Organisationsebene › Entkoppeln 17 Agile Transformation Wann und Wie? Scrum SAFe LeSS µ µ µµ › Mikroarchitektur › Teamintern › Emergent › Makroarchitektur › Übergreifend › Intentional
  • 19. › Migration als Chance › UI-Fragmentierung › Modellgrenzen wahren › Risiken kontrollieren › Transparenz durch technische Stories › Migration auf Organisationsebene entkoppeln 19 Fazit Handlungsempfehlung
  • 20. › 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
  • 21. › 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. Auflage 21 Quellen Literatur (II)
  • 22. › Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.html abgerufen am 02.01.2018 › Lewis et. al.: Microservices (2014) https://martinfowler.com/articles/microservices.html abgerufen 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.html abgerufen am 02.01.2018 22 Quellen Internetquellen
  • 23. › [1] SCS Architecture (2018), http://scs-architecture.org/ › [2] Sato: CanaryRelease (2014) https://martinfowler.com/bliki/CanaryRelease.html abgerufen am 02.01.2018 (vereinfacht) › [3] Hodgson: Feature Toggles (2017) https://martinfowler.com/articles/feature-toggles.html abgerufen 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 Quellen Abbildungen
  • 24. Vielen Dank Johannes Giani inovex GmbH Ludwig-Erhard-Allee 6 76131 Karlsruhe jgiani@inovex.de 0152 33181232