How to re-invent your IT Architecture - LeanIX · How to re-invent your IT Architecture André...
Transcript of How to re-invent your IT Architecture - LeanIX · How to re-invent your IT Architecture André...
How to re-invent yourIT ArchitectureAndré Christ,
Co-CEO LeanIX
2
2012founded
30employees
> 80customers
150 %motivated
3
Become global #1 SaaShelping companies to modernize
their IT architectures
OUR MISSION
Easy to use – Fast to implement – Open for integration
4
SelectedIntegrations
Reduce complexity – Ensure compliance – Enable growth
5
ReduceComplexity
EnableGrowth
EnsureCompliance
CloudTransformation
Monolith to Microservices
ApplicationRationalization
TechnologyObsolescence
(e.g. SAP Hana)
Data Compliance(e.g. GDPR)
Post MergerHarmonization
StandardsGovernance
IntegrationArchitecture
IoTArchitectures
CUSTOMER USE CASES
!
"
#
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”
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
• …
Microservice: Do one thing, but do it right!
8
What is a Microservice?
9
VPCloudArchitectureAmazonWebservicesFormerCTONetflix
Service-oriented architecturecomposed ofloosely coupled elements
that havebounded contexts
What is a Microservice?
10
Service-oriented architecturecomposed ofloosely coupled elements
that havebounded contexts
Services communicate with each other over
the network (internet)
What is a Microservice?
11
Service-oriented architecturecomposed ofloosely coupled elements
that havebounded contexts
You can update the services
independently; updating one service
doesn’t require changing any other
services.
What is a Microservice?
12
Service-oriented architecturecomposed ofloosely coupled elements
that havebounded contexts
Self-contained: You do not need to know the
internals of other Microservices, strict interaction via APIs
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
14
Unparalleled scale and innovation thanks to Microservices
Microservices are on the roadmap
15Source:LeanIXSurvey
80 %of surveyed companies bet on microservices
Microservices make you faster
16Source:LeanIXSurvey
5xfaster than those who don’t use microservices.
Companies who use microservices deploy
Many organizations are not there yet
17
‘We use mostlymicroservices‘
9%
We have completed our transition to Microservices
18
View
Controller
Model
SinglePageApp
LeanIX2012- 2014 LeanIX2015- 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
1 Agile Process
2 API-First
3 Containerization
4
5 Event-Sourcing
5 design decisionsfor our Microservicestransition
Automation
20
Agile: Empower your teams
1
21
22The image part with relationship ID rId2 was not found in the file.
Git-Flow ensures 4-eye principle and continuous learning
23
Pull-Request:Codereviewofatleastoneotherdeveloper
24
A monolithic architecture would hinder our growth
25
$ $ $ $$ $ $ $$ $ $ $$ $ $ $$ $ $ $
Build Test Deploy
Developers Monolith Delivery Pipeline
Microservices allow us to scale
26
$ $ $ $
$ $ $ $
$ $ $ $
$ $ $ $
Build Test Deploy
Build Test Deploy
Build Test Deploy
Build Test Deploy
Developers Microservices Delivery Pipelines
27
2API-First: Create reliable boundaries
All our services have REST-APIs documented /w Swagger
28
REST-APIs are great – but have performance limits
29
/applications /capabilities
GET GET
Display interactive reports very fast Many requests & unnecessary network load
Generic REST-APIs create unnecessary effort
30
Interface
Application
Provider
ITComponent
Project
UserGroup
DataObject
Tech.Stack
BusinessCapability
Process
Allow full customization of data model Uncomfortable generic access to data
/factSheets
/factSheets/<ID>/attributes
GET
GET
/factSheets/<ID>/relationsGET
Solution: Facebook’s GraphQL – “SQL” for APIs
31
query{
allBusinessCapabilities {factSheets {
iddisplayNamerelToChild {factSheet{id}}
}}allApplications {
factSheets {iddisplayNamerelToChild {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
GraphQL IDE integrated in LeanIX
32
33
3Containerization: Unify technology usage
Every Microservice packaged as a Docker Image
34
Server
HostOS
Hypervisor
GuestOS
Libs
AppA
GuestOS
Libs
AppB
Resource overhead due to virtualization
VM VM
Server
HostOS
Docker Engine
svc1 svc2
Libs
Container Container
svc3
Container
Libs
Efficient packaging and distribution
Green-Blue Deployment to quickly release functionality
35
Load-Balancer(default=blue)
SvcA1.0
SvcB1.0
SvcC1.0
DB,Index,Queue DB,Elastic
Green-Blue Deployment to quickly release functionality
36
Load-Balancer(default=blue)
SvcA1.0
SvcA1.1
SvcB1.0
SvcC1.0
DB,Index,Queue DB,Elastic
SvcB1.1
SvcC1.1
Green-Blue Deployment to quickly release functionality
37
Load-Balancer(default=BLUE)
SvcA1.0
SvcA1.1
SvcB1.0
SvcC1.0
DB,Index,Queue DB,Elastic
Test
SvcB1.1
SvcC1.1
Green-Blue Deployment to quickly release functionality
38
Load-Balancer(default=GREEN)
SvcA1.0
SvcA1.1
SvcB1.0
SvcC1.0
DB,Index,Queue DB,Elastic
SvcB1.1
SvcC1.1
39
4Automation: Get efficient in operations
Highly automated pipeline allows us to deploy every day
40
Develop Build Test Deploy
Develop Machines
Staging ServerProduction Servers EU
Docker Hub
Ramp-up of new developers is very efficient
41
3huntil first commit by a new joiner
Monitoring is critical to ensure enterprise level service
42ELK=ElasticLogstash Kibana
Availability
Performance
Logfiles
Service Description
• Everymicroservicehasahealth-checkURL• AvailabilityCheck&ResponseTime
• ServerMetrics:CPU,Memory,etc.• Docker MetricsperContainer:CPU,Mem,…• BrowserMetrics:PageLoad,JSErrors
• Centralstorage for logfiles• Similar for ELK-Stack,butas aService
Alerting• Singlepoint for allalerts• Informs operations managers onduty
Dashboard• Dashboardwhich shows main KPIs• Running onScreensinLeanIXOffice
43
5Event-Sourcing: Integrate with the world
Subscribe to every change in the LeanIX inventory
44
Internally we use Apache Kafka for Event distribution
45
Quickly integrate LeanIX with other tools, e.g. Slack
46
47
“You can’t build your IT architecture today with yesterday’s tools and stay in business tomorrow”
Thank you
[email protected]% christ_andrewww.leanix.net