SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
How to survive a
Microservices Migration
André Christ
Co-CEO LeanIX
2
About me
50
Employees
> 120
Customers
2012
Founded
2
Offices
> 100%
Y-o-Y Growth
Software-as-a-Service for Enterprise Architecture
4
5
Our Journey to (Micro)-Services from 2015 - 2017
6
2 Developers 15 Developers
Fixed Data Model Flexible Data Model
MVC API First + SPA
10 Customers 120 Customers
MVP Enterprise Ready
7
What was essential?
How did we build it?
What did we learn?
Establish foundation in knowledge & processes
8
2012 2013 2014 2015 2016 2017
Build MVP & Grow (LAMP) Maintain
1st (Micro-) Services
“Pathfinder”
Migrate
v 3.x
v 4.x
2 2 3 15 20 43
Team
Size
2018
50
Scrum
Create a Mission for the entire company!
9
Self-service staging environment for every version
10
/beta
Version 3 Version 4 - “Pathfinder”
Hypercare Mode: Switch from SCRUM to KANBAN
11
• ”War”-Room
• Every morning:
60 min Session
Dev-Leads &
Migration-Team
• For ~ 6 months:
KANBAN
Celebrate success – it is a tough journey!
12
13
What was essential?
How did we build it?
What did we learn?
14
View
Controller
Model
LeanIX 2012 - 2014 LeanIX 2015 - 2017
Single Page App
REST-
API
REST-
API
REST-
API
REST-
API
REST-
API
REST-
API
Pathfinder MTM Survey Metrics Export Webhooks
REST-
API
Images
We have completed our transition
15
All REST-APIs have Swagger, secured via oAuth2 based on JWT
JWT-Token (jwt.io)
16
/applications /capabilities
GET GET
Display interactive reports very fast Many requests & unnecessary network load
REST-APIs are great – but have performance limits
17
query
{
allBusinessCapabilities {
factSheets {
id
displayName
relToChild {factSheet{id}}
}
}
allApplications {
factSheets {
id
displayName
relToChild {factSheet{id}}
relApplToBusCapability {factSheet{id}}
}
}
}
• JSON-based query language to
request required data
• Graph-based access to data
• Strongly typed API for each
LeanIX workspace (full multi-
tenancy)
Example: One request to build report
Solution: Facebook’s GraphQL – “SQL” for APIs
18
Load-Balancer (default = blue)
Svc A
1.0
Svc B
1.0
Svc C
1.0
DB, Index, Queue DB, Elastic
Green-Blue Deployment to quickly release functionality
Containers with new version are started
19
Load-Balancer (default = blue)
Svc A
1.0
Svc A
1.1
Svc B
1.0
Svc C
1.0
DB, Index, Queue DB, Elastic
Svc B
1.1
Svc C
1.1
20
Load-Balancer (default = BLUE)
Svc A
1.0
Svc A
1.1
Svc B
1.0
Svc C
1.0
DB, Index, Queue DB, Elastic
Test
Svc B
1.1
Svc C
1.1
Special users / Testers can access them in production
21
Load-Balancer (default = GREEN)
Svc A
1.0
Svc A
1.1
Svc B
1.0
Svc C
1.0
DB, Index, Queue DB, Elastic
Svc B
1.1
Svc C
1.1
Load-Balancer switches to new versions
Full-schema rebuild without downtime
22
v42,
in_use
Index
Info A
(global) workspace y
Business
data
workspace x
Business
data
V43,
not_in
_use
Index
Info B
(global)
Schema v43,
rebuilding
(blue)
Schema v42,
active
(green)
Side A Side B
Operations monitoring toolchain
23
InstanceInstanceInstances
GET /healthcheck
Servers
CPU / Mem / Errors
Logfiles
Incidents
Incidents
DISABLED
#status
OCE on duty
status.leanix.net
Escalation
InstanceShared
Services
Servers
CPU / Mem / Errors
Logfiles DISABLED
Incidents
GET /healthcheck Incidents
CS classifies
as EC-1
EC-1
Bugs
Engineering
via Zendesk Tab
support@leanix.net
Incident auto-generated
Incident manual
Engineering
Customer Success
24
What was essential?
How did we build it?
What did we learn?
You are not Netflix – Find your definition
25
# Developers > # of Services
API first
Swagger Docs
One Function Concern
Containerized
No shared DBs Config via Env*
*See The 12-Factor App
Good Application Performance Monitoring (APM) is crucial
26
Establish Team Ownership earlier
27
pfapi
opportunity
postgres kafka elastic arango
pfweb
admin
auth
self-
service mtm webhooks images
ex-
port
integrations poll metrics
postgreskafka influxdbpostgres
elastic
postgres files
synclog
postgres
idp
postfix
rabbitmq
elastic
Tornado
Neuro
resource
Teams white only
transaction
factsheet
postgres
postgres
workspace
user
instance
…
subscription
delivery
event
event
event
…
event factsheet
…
factsheet
metrics
poll result
poll
…
event
workspace
KPIs
…
avatarsTechno-
pedia
syncs
sync items
jobs
configs
Data Object
svc.leanix.net
app.leanix.net
Operations
• etcd
• nginx
• deploy
Flow
todos inventory reporting
Invent
home
inventory
reporting
admin
admin
survey
metrics
integration
n/a
iPhone App
Deployment is the new Monolith!
28
Automate, Automate, Automate
Eat your own dogfood! – Automatic Documentation
29
Source-Code Repository
Source code
Build Info
YAML-Metadata file
Continuous
Integration (CI)
Pivio
Client
Inventory
1
1 Dependencies from build system, e.g. uses Hibernate3, Java8, etc.
2 Automatically triggered, when a new release is created
3 Updates Information in Inventory
2 3
… based on open-source description format Pivio
30
• Developer-friendly
„YAML“ format
• Open-Source Client
and Server: pivio.io
• Extracts Dependencies
from Java & Javascript
Projects
• Easily extensible for
more build-systems
Don’t forget the fun - Carnival is big in Bonn ;-)
31
</>
WE ARE
HIRING!
Thank you!
@christ_andre | www.leanix.net | Booth @ WeAreDevs

Weitere ähnliche Inhalte

Was ist angesagt?

Répondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursRépondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursSmartWave
 
SharePoint Development Services
SharePoint Development ServicesSharePoint Development Services
SharePoint Development ServicesSergei Rabotai
 
From EAI to Serverless
From EAI to ServerlessFrom EAI to Serverless
From EAI to ServerlessSven Bernhardt
 
Architecting Design Development Test Request System in Aras
Architecting Design Development Test Request System in ArasArchitecting Design Development Test Request System in Aras
Architecting Design Development Test Request System in ArasAras
 
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...BDO IT Solutions
 
Model-Driven Apps with PowerApps
Model-Driven Apps with PowerAppsModel-Driven Apps with PowerApps
Model-Driven Apps with PowerAppsStefan Strube
 
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...APPSeCONNECT
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use CasesSmartWave
 
How to speed up your SAP PI/CPI development
How to speed up your SAP PI/CPI developmentHow to speed up your SAP PI/CPI development
How to speed up your SAP PI/CPI developmentDaniel Graversen
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Daniel Graversen
 
Connect SAP Business One using Service Layer (HANA)
Connect SAP Business One using Service Layer (HANA)Connect SAP Business One using Service Layer (HANA)
Connect SAP Business One using Service Layer (HANA)APPSeCONNECT
 
Hvordan faĚŠ mer ut av qlik
Hvordan faĚŠ mer ut av qlikHvordan faĚŠ mer ut av qlik
Hvordan faĚŠ mer ut av qlikravnorge
 
The Impact of SMACT on the Data Management Stack
The Impact of SMACT on the Data Management StackThe Impact of SMACT on the Data Management Stack
The Impact of SMACT on the Data Management StackSnapLogic
 
Apama and Terracotta World: Getting Started in Predictive Analytics
Apama and Terracotta World: Getting Started in Predictive Analytics Apama and Terracotta World: Getting Started in Predictive Analytics
Apama and Terracotta World: Getting Started in Predictive Analytics Software AG
 
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...Neo4j
 
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...SnapLogic
 
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and Walkthrough
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and WalkthroughWebinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and Walkthrough
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and WalkthroughAPPSeCONNECT
 
LeverX - Live Engineering with IoT on SAP Leonardo
LeverX - Live Engineering with IoT on SAP LeonardoLeverX - Live Engineering with IoT on SAP Leonardo
LeverX - Live Engineering with IoT on SAP LeonardoEric Stajda
 
Migrating FSG Reports To Oracle BI Applications
Migrating FSG Reports To Oracle BI ApplicationsMigrating FSG Reports To Oracle BI Applications
Migrating FSG Reports To Oracle BI ApplicationsKPI Partners
 
Flow and logic apps a tale of two reactive engines
Flow and logic apps   a tale of two reactive enginesFlow and logic apps   a tale of two reactive engines
Flow and logic apps a tale of two reactive enginesSean Lawrence
 

Was ist angesagt? (20)

Répondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursRépondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseurs
 
SharePoint Development Services
SharePoint Development ServicesSharePoint Development Services
SharePoint Development Services
 
From EAI to Serverless
From EAI to ServerlessFrom EAI to Serverless
From EAI to Serverless
 
Architecting Design Development Test Request System in Aras
Architecting Design Development Test Request System in ArasArchitecting Design Development Test Request System in Aras
Architecting Design Development Test Request System in Aras
 
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
 
Model-Driven Apps with PowerApps
Model-Driven Apps with PowerAppsModel-Driven Apps with PowerApps
Model-Driven Apps with PowerApps
 
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use Cases
 
How to speed up your SAP PI/CPI development
How to speed up your SAP PI/CPI developmentHow to speed up your SAP PI/CPI development
How to speed up your SAP PI/CPI development
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018
 
Connect SAP Business One using Service Layer (HANA)
Connect SAP Business One using Service Layer (HANA)Connect SAP Business One using Service Layer (HANA)
Connect SAP Business One using Service Layer (HANA)
 
Hvordan faĚŠ mer ut av qlik
Hvordan faĚŠ mer ut av qlikHvordan faĚŠ mer ut av qlik
Hvordan faĚŠ mer ut av qlik
 
The Impact of SMACT on the Data Management Stack
The Impact of SMACT on the Data Management StackThe Impact of SMACT on the Data Management Stack
The Impact of SMACT on the Data Management Stack
 
Apama and Terracotta World: Getting Started in Predictive Analytics
Apama and Terracotta World: Getting Started in Predictive Analytics Apama and Terracotta World: Getting Started in Predictive Analytics
Apama and Terracotta World: Getting Started in Predictive Analytics
 
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
 
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...
Webinar: Introducing the SnapLogic Elastic Integration Platform Summer 2014 R...
 
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and Walkthrough
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and WalkthroughWebinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and Walkthrough
Webinar: APPSeCONNECT iPaaS Q3 2020 Release - Major Highlights and Walkthrough
 
LeverX - Live Engineering with IoT on SAP Leonardo
LeverX - Live Engineering with IoT on SAP LeonardoLeverX - Live Engineering with IoT on SAP Leonardo
LeverX - Live Engineering with IoT on SAP Leonardo
 
Migrating FSG Reports To Oracle BI Applications
Migrating FSG Reports To Oracle BI ApplicationsMigrating FSG Reports To Oracle BI Applications
Migrating FSG Reports To Oracle BI Applications
 
Flow and logic apps a tale of two reactive engines
Flow and logic apps   a tale of two reactive enginesFlow and logic apps   a tale of two reactive engines
Flow and logic apps a tale of two reactive engines
 

Ă„hnlich wie LeanIX WeAreDevelopers 2018

Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices AntipatternsC4Media
 
Advanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyAdvanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyCA Technologies
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
K.I.S.S In The Cloud with AWS
K.I.S.S In The Cloud with AWSK.I.S.S In The Cloud with AWS
K.I.S.S In The Cloud with AWSAmazon Web Services
 
Building a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAPBuilding a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAPMagnolia
 
Implementing Enterprise DevOps: Real Life Experiences
Implementing Enterprise DevOps: Real Life ExperiencesImplementing Enterprise DevOps: Real Life Experiences
Implementing Enterprise DevOps: Real Life ExperiencesPerforce
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversalIBM UrbanCode Products
 
Sage Summit 2013: Sage 300 ERP Diagnostic Tools
Sage Summit 2013: Sage 300 ERP Diagnostic ToolsSage Summit 2013: Sage 300 ERP Diagnostic Tools
Sage Summit 2013: Sage 300 ERP Diagnostic ToolsSage 300 ERP CS
 
Automation of PaaS at the edge
Automation of PaaS at the edgeAutomation of PaaS at the edge
Automation of PaaS at the edgeAnoel Yakobov
 
Pre-Con Ed: Upgrading to CA Service Management
Pre-Con Ed: Upgrading to CA Service ManagementPre-Con Ed: Upgrading to CA Service Management
Pre-Con Ed: Upgrading to CA Service ManagementCA Technologies
 
Power BI Report Server: a Deep Dive for PBIUG Vancouver
Power BI Report Server: a Deep Dive for PBIUG VancouverPower BI Report Server: a Deep Dive for PBIUG Vancouver
Power BI Report Server: a Deep Dive for PBIUG VancouverLuca Gualtieri
 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCDaniel Barker
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 AppsIwan Rahabok
 
Introduction to Akka Streams
Introduction to Akka StreamsIntroduction to Akka Streams
Introduction to Akka StreamsKnoldus Inc.
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Rolescornelia davis
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
Make streaming processing towards ANSI SQL
Make streaming processing towards ANSI SQLMake streaming processing towards ANSI SQL
Make streaming processing towards ANSI SQLDataWorks Summit
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightHBaseCon
 

Ă„hnlich wie LeanIX WeAreDevelopers 2018 (20)

Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices Antipatterns
 
Advanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyAdvanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps Journey
 
Kiran kaukuntla cv
Kiran kaukuntla cvKiran kaukuntla cv
Kiran kaukuntla cv
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
K.I.S.S In The Cloud with AWS
K.I.S.S In The Cloud with AWSK.I.S.S In The Cloud with AWS
K.I.S.S In The Cloud with AWS
 
Building a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAPBuilding a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAP
 
Implementing Enterprise DevOps: Real Life Experiences
Implementing Enterprise DevOps: Real Life ExperiencesImplementing Enterprise DevOps: Real Life Experiences
Implementing Enterprise DevOps: Real Life Experiences
 
prof3
prof3prof3
prof3
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Sage Summit 2013: Sage 300 ERP Diagnostic Tools
Sage Summit 2013: Sage 300 ERP Diagnostic ToolsSage Summit 2013: Sage 300 ERP Diagnostic Tools
Sage Summit 2013: Sage 300 ERP Diagnostic Tools
 
Automation of PaaS at the edge
Automation of PaaS at the edgeAutomation of PaaS at the edge
Automation of PaaS at the edge
 
Pre-Con Ed: Upgrading to CA Service Management
Pre-Con Ed: Upgrading to CA Service ManagementPre-Con Ed: Upgrading to CA Service Management
Pre-Con Ed: Upgrading to CA Service Management
 
Power BI Report Server: a Deep Dive for PBIUG Vancouver
Power BI Report Server: a Deep Dive for PBIUG VancouverPower BI Report Server: a Deep Dive for PBIUG Vancouver
Power BI Report Server: a Deep Dive for PBIUG Vancouver
 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKC
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 Apps
 
Introduction to Akka Streams
Introduction to Akka StreamsIntroduction to Akka Streams
Introduction to Akka Streams
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Roles
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
Make streaming processing towards ANSI SQL
Make streaming processing towards ANSI SQLMake streaming processing towards ANSI SQL
Make streaming processing towards ANSI SQL
 
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsightOptimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
Optimizing Apache HBase for Cloud Storage in Microsoft Azure HDInsight
 

Mehr von LeanIX GmbH

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX GmbH
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesLeanIX GmbH
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesLeanIX GmbH
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXLeanIX GmbH
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsLeanIX GmbH
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLeanIX GmbH
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise ArchitectureLeanIX GmbH
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data FlowLeanIX GmbH
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX GmbH
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIXLeanIX GmbH
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX GmbH
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationLeanIX GmbH
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXLeanIX GmbH
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX GmbH
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceLeanIX GmbH
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsLeanIX GmbH
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should beLeanIX GmbH
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?LeanIX GmbH
 
Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025LeanIX GmbH
 
The Day After Tomorrow
The Day After TomorrowThe Day After Tomorrow
The Day After TomorrowLeanIX GmbH
 

Mehr von LeanIX GmbH (20)

LeanIX Virtual Workspaces
LeanIX Virtual WorkspacesLeanIX Virtual Workspaces
LeanIX Virtual Workspaces
 
How to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual WorkspacesHow to reduce complexity by segregating your data with Virtual Workspaces
How to reduce complexity by segregating your data with Virtual Workspaces
 
Gartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven ArchitecturesGartner EA: The Rise of Data-driven Architectures
Gartner EA: The Rise of Data-driven Architectures
 
Application Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIXApplication Harmonisation using Design Principles in LeanIX
Application Harmonisation using Design Principles in LeanIX
 
Effective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutionsEffective EAM: whet your appetite & deliver solutions
Effective EAM: whet your appetite & deliver solutions
 
Lean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio IntegrationLean EAM with the Microservices Add-on and the Signavio Integration
Lean EAM with the Microservices Add-on and the Signavio Integration
 
Next Level Enterprise Architecture
Next Level Enterprise ArchitectureNext Level Enterprise Architecture
Next Level Enterprise Architecture
 
Integration Architecture with the Data Flow
Integration Architecture with the Data FlowIntegration Architecture with the Data Flow
Integration Architecture with the Data Flow
 
LeanIX-ServiceNow Integration
LeanIX-ServiceNow IntegrationLeanIX-ServiceNow Integration
LeanIX-ServiceNow Integration
 
Application Rationalization with LeanIX
Application Rationalization with LeanIXApplication Rationalization with LeanIX
Application Rationalization with LeanIX
 
LeanIX Inventory: Import & Export
LeanIX Inventory: Import & ExportLeanIX Inventory: Import & Export
LeanIX Inventory: Import & Export
 
Survey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud TransformationSurvey Add-on Showcase: Cloud Transformation
Survey Add-on Showcase: Cloud Transformation
 
Ensure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIXEnsure GDPR Compliance with LeanIX
Ensure GDPR Compliance with LeanIX
 
LeanIX-Signavio Integration
LeanIX-Signavio IntegrationLeanIX-Signavio Integration
LeanIX-Signavio Integration
 
How to set up a Lean Standards Governance
How to set up a Lean Standards GovernanceHow to set up a Lean Standards Governance
How to set up a Lean Standards Governance
 
Innovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX EnhancementsInnovative API-Based LeanIX Enhancements
Innovative API-Based LeanIX Enhancements
 
Moving EA - from where we are to where we should be
Moving EA - from where we are to where we should beMoving EA - from where we are to where we should be
Moving EA - from where we are to where we should be
 
Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?Is next generation EAM more than just agile IT planning?
Is next generation EAM more than just agile IT planning?
 
Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025Beyond CIO - Will there still be Architecture Management in 2025
Beyond CIO - Will there still be Architecture Management in 2025
 
The Day After Tomorrow
The Day After TomorrowThe Day After Tomorrow
The Day After Tomorrow
 

KĂĽrzlich hochgeladen

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
2.pdf Ejercicios de programaciĂłn competitiva
2.pdf Ejercicios de programaciĂłn competitiva2.pdf Ejercicios de programaciĂłn competitiva
2.pdf Ejercicios de programación competitivaDiego Iván Oliveros Acosta
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

KĂĽrzlich hochgeladen (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
2.pdf Ejercicios de programaciĂłn competitiva
2.pdf Ejercicios de programaciĂłn competitiva2.pdf Ejercicios de programaciĂłn competitiva
2.pdf Ejercicios de programaciĂłn competitiva
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

LeanIX WeAreDevelopers 2018

  • 1. How to survive a Microservices Migration AndrĂ© Christ Co-CEO LeanIX
  • 5. 5
  • 6. Our Journey to (Micro)-Services from 2015 - 2017 6 2 Developers 15 Developers Fixed Data Model Flexible Data Model MVC API First + SPA 10 Customers 120 Customers MVP Enterprise Ready
  • 7. 7 What was essential? How did we build it? What did we learn?
  • 8. Establish foundation in knowledge & processes 8 2012 2013 2014 2015 2016 2017 Build MVP & Grow (LAMP) Maintain 1st (Micro-) Services “Pathfinder” Migrate v 3.x v 4.x 2 2 3 15 20 43 Team Size 2018 50 Scrum
  • 9. Create a Mission for the entire company! 9
  • 10. Self-service staging environment for every version 10 /beta Version 3 Version 4 - “Pathfinder”
  • 11. Hypercare Mode: Switch from SCRUM to KANBAN 11 • ”War”-Room • Every morning: 60 min Session Dev-Leads & Migration-Team • For ~ 6 months: KANBAN
  • 12. Celebrate success – it is a tough journey! 12
  • 13. 13 What was essential? How did we build it? What did we learn?
  • 14. 14 View Controller Model LeanIX 2012 - 2014 LeanIX 2015 - 2017 Single Page App REST- API REST- API REST- API REST- API REST- API REST- API Pathfinder MTM Survey Metrics Export Webhooks REST- API Images We have completed our transition
  • 15. 15 All REST-APIs have Swagger, secured via oAuth2 based on JWT JWT-Token (jwt.io)
  • 16. 16 /applications /capabilities GET GET Display interactive reports very fast Many requests & unnecessary network load REST-APIs are great – but have performance limits
  • 17. 17 query { allBusinessCapabilities { factSheets { id displayName relToChild {factSheet{id}} } } allApplications { factSheets { id displayName relToChild {factSheet{id}} relApplToBusCapability {factSheet{id}} } } } • JSON-based query language to request required data • Graph-based access to data • Strongly typed API for each LeanIX workspace (full multi- tenancy) Example: One request to build report Solution: Facebook’s GraphQL – “SQL” for APIs
  • 18. 18 Load-Balancer (default = blue) Svc A 1.0 Svc B 1.0 Svc C 1.0 DB, Index, Queue DB, Elastic Green-Blue Deployment to quickly release functionality
  • 19. Containers with new version are started 19 Load-Balancer (default = blue) Svc A 1.0 Svc A 1.1 Svc B 1.0 Svc C 1.0 DB, Index, Queue DB, Elastic Svc B 1.1 Svc C 1.1
  • 20. 20 Load-Balancer (default = BLUE) Svc A 1.0 Svc A 1.1 Svc B 1.0 Svc C 1.0 DB, Index, Queue DB, Elastic Test Svc B 1.1 Svc C 1.1 Special users / Testers can access them in production
  • 21. 21 Load-Balancer (default = GREEN) Svc A 1.0 Svc A 1.1 Svc B 1.0 Svc C 1.0 DB, Index, Queue DB, Elastic Svc B 1.1 Svc C 1.1 Load-Balancer switches to new versions
  • 22. Full-schema rebuild without downtime 22 v42, in_use Index Info A (global) workspace y Business data workspace x Business data V43, not_in _use Index Info B (global) Schema v43, rebuilding (blue) Schema v42, active (green) Side A Side B
  • 23. Operations monitoring toolchain 23 InstanceInstanceInstances GET /healthcheck Servers CPU / Mem / Errors Logfiles Incidents Incidents DISABLED #status OCE on duty status.leanix.net Escalation InstanceShared Services Servers CPU / Mem / Errors Logfiles DISABLED Incidents GET /healthcheck Incidents CS classifies as EC-1 EC-1 Bugs Engineering via Zendesk Tab support@leanix.net Incident auto-generated Incident manual Engineering Customer Success
  • 24. 24 What was essential? How did we build it? What did we learn?
  • 25. You are not Netflix – Find your definition 25 # Developers > # of Services API first Swagger Docs One Function Concern Containerized No shared DBs Config via Env* *See The 12-Factor App
  • 26. Good Application Performance Monitoring (APM) is crucial 26
  • 27. Establish Team Ownership earlier 27 pfapi opportunity postgres kafka elastic arango pfweb admin auth self- service mtm webhooks images ex- port integrations poll metrics postgreskafka influxdbpostgres elastic postgres files synclog postgres idp postfix rabbitmq elastic Tornado Neuro resource Teams white only transaction factsheet postgres postgres workspace user instance … subscription delivery event event event … event factsheet … factsheet metrics poll result poll … event workspace KPIs … avatarsTechno- pedia syncs sync items jobs configs Data Object svc.leanix.net app.leanix.net Operations • etcd • nginx • deploy Flow todos inventory reporting Invent home inventory reporting admin admin survey metrics integration n/a iPhone App
  • 28. Deployment is the new Monolith! 28 Automate, Automate, Automate
  • 29. Eat your own dogfood! – Automatic Documentation 29 Source-Code Repository Source code Build Info YAML-Metadata file Continuous Integration (CI) Pivio Client Inventory 1 1 Dependencies from build system, e.g. uses Hibernate3, Java8, etc. 2 Automatically triggered, when a new release is created 3 Updates Information in Inventory 2 3
  • 30. … based on open-source description format Pivio 30 • Developer-friendly „YAML“ format • Open-Source Client and Server: pivio.io • Extracts Dependencies from Java & Javascript Projects • Easily extensible for more build-systems
  • 31. Don’t forget the fun - Carnival is big in Bonn ;-) 31 </> WE ARE HIRING!
  • 32. Thank you! @christ_andre | www.leanix.net | Booth @ WeAreDevs