gartner 2017 london: how to re-invent your it architecture?

48
How to re-invent your IT Architecture André Christ, Co-CEO LeanIX

Upload: leanix-gmbh

Post on 22-Jan-2018

792 views

Category:

Software


1 download

TRANSCRIPT

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