Slides of the Talk "LeanIX: IT Modernization in Action: How to Re-Invent Your IT Architecture?" at the Gartner Enterprise Architecture & Technology Innovation Summit in London by LeanIX Co-CEO André Christ
3. 3
Become global #1 SaaS
helping companies to modernize
their IT architectures
OUR MISSION
4. Easy to use – Fast to implement – Open for integration
4
Selected Integrations
5. Reduce complexity – Ensure compliance – Enable growth
5
Reduce
Complexity
Enable
Growth
Ensure
Compliance
Cloud
Transformation
Monolith to
Microservices
Application
Rationalization
Technology
Obsolescence
(e.g. SAP Hana)
Data Compliance
(e.g. GDPR)
Post Merger
Harmonization
Standards
Governance
Integration
Architecture
IoT
Architectures
CUSTOMER USE CASES
!
"
#
6. 6
2012 20172016201520142013
Helping global leaders to reinvent their IT Architecture
“The easiest approach to
conquer a complex domain”
“Best-of-class tool for the
modern enterprise
architecture management”
7. MORE REQUIREMENTS
• Single-Sign-On (SSO)
• Custom Data Model
• Workflows & Surveys
• Real-time metrics
• …
How to avoid becoming a Swiss knife?
7
MORE INTEGRATIONS
• Service Now
• Apptio
• SAP
• Slack
• …
9. What is a Microservice?
9
VP Cloud Architecture Amazon Webservices
Former CTO Netflix
Service-oriented architecture
composed of
loosely coupled elements
that have
bounded contexts
10. What is a Microservice?
10
Service-oriented architecture
composed of
loosely coupled elements
that have
bounded contexts
Services communicate
with each other over
the network (internet)
11. What is a Microservice?
11
Service-oriented architecture
composed of
loosely coupled elements
that have
bounded contexts
You can update the
services
independently;
updating one service
doesn’t require
changing any other
services.
12. What is a Microservice?
12
Service-oriented architecture
composed of
loosely coupled elements
that have
bounded contexts
Self-contained: You do
not need to know the
internals of other
Microservices, strict
interaction via APIs
13. How are Microservices different from a SOA?
13
Communication
SOA Microservices
SOAP JSON / Binary
Service Definition WSDL Swagger / JSON Schema
Service Interface Webservice REST-APIs
1. Fast Networks & Low Latency: Allow high amount of Microservices-Calls
2. Developer Friendly: JSON has reached much larger audience, esp. Web-Developers
3. Pragmatic: Standards set by successful tech companies, not by industry consortiums
Granularity Medium/Small Small/Micro
18. We have completed our transition to Microservices
18
View
Controller
Model
Single Page App
LeanIX 2012 - 2014 LeanIX 2015 - 2017
REST-
API
REST-
API
REST-
API
REST-
API
REST-
API
REST-
API
Pathfinder
(2017)
MTM
(2015)
Survey
(2015)
Metrics
(2016)
Export
(2015)
Webhooks
(2015)
Data-
base
REST-
API
Images
(2015)
19. 19
1 Agile Process
2 API-First
3 Containerization
4
5 Event-Sourcing
5 design decisions
for our Microservices
transition
Automation
29. REST-APIs are great – but have performance limits
29
/applications /capabilities
GET GET
Display interactive reports very fast Many requests & unnecessary network load
30. Generic REST-APIs create unnecessary effort
30
Interface
Application
Provider
IT
Component
Project
User
Group
Data
Object
Tech.
Stack
Business
Capability
Process
Allow full customization of data model Uncomfortable generic access to data
/factSheets
/factSheets/<ID>/attributes
GET
GET
/factSheets/<ID>/relationsGET
31. Solution: Facebook’s GraphQL – “SQL” for APIs
31
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 EA data
• Strongly typed API for each
LeanIX workspace (full multi-
tenancy)
Example: One request to build report
34. Every Microservice packaged as a Docker Image
34
Server
Host OS
Hypervisor
Guest OS
Libs
App A
Guest OS
Libs
App B
Resource overhead due to virtualization
VM VM
Server
Host OS
Docker Engine
svc1 svc2
Libs
Container Container
svc3
Container
Libs
Efficient packaging and distribution
35. Green-Blue Deployment to quickly release functionality
35
Load-Balancer (default = blue)
Svc A
1.0
Svc B
1.0
Svc C
1.0
DB, Index, Queue DB, Elastic
36. Green-Blue Deployment to quickly release functionality
36
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
37. Green-Blue Deployment to quickly release functionality
37
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
38. Green-Blue Deployment to quickly release functionality
38
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
40. Highly automated pipeline allows us to deploy every day
40
Develop Build Test Deploy
Develop
Machines
Staging Server
Production
Servers EU
Docker Hub
41. Ramp-up of new developers is very efficient
41
3huntil first commit by a new joiner
42. Monitoring is critical to ensure enterprise level service
42ELK = Elastic Logstash Kibana
Availability
Performance
Logfiles
Service Description
• Every micro service has a health-check URL
• Availability Check & Response Time
• Server Metrics: CPU, Memory, etc.
• Docker Metrics per Container: CPU, Mem, …
• Browser Metrics: Page Load, JS Errors
• Central storage for log files
• Similar for ELK-Stack, but as a Service
Alerting
• Single point for all alerts
• Informs operations managers on duty
Dashboard
• Dashboard which shows main KPIs
• Running on Screens in LeanIX Office