LeanIX Keynote Lessons from a startup

52
LESSONS FROM A STARTUP Simon Barth, April 2017 IT modernization in action: How to re-invent your IT architecture

Transcript of LeanIX Keynote Lessons from a startup

LESSONS FROM A STARTUP

Simon Barth, April 2017

IT modernization in action: How to re-invent your IT architecture

2

3

Helping global leaders to reinvent their IT Architecture

2012 20172016201520142013

We built a MVP based on the LAMP stack

4

2012

“MVP”

We improved service

5

2012 2013

“MVP” Service &Quality

And ended up with a zoo

6

2012 20142013

SSO & Microservices

BuildProcess

Service &Quality

...

Single Page App

“MVP”

7

Upgrade needed

8

The keys to achieve the transformation

9

! " #Radical agility Microservices DevOps

10

!Stage 0: Empower your teams

11

Principles of Radical Agility

12

PURPOSE

AUTONOMY

MASTERY

Radical Agility at Zalando

13Source:https://tech.zalando.com/

$

$

$$

$

$

$

$

$$

$

$

$

$

$$

$

$

♂ ♂

DeliveryLead

PeopleLead

$

$

$$

$

$

TeamLead

14

15

16

17

"Cut monoliths into microservices

18

Microservices are on the roadmap

19

80 %of surveyed companies bet on microservices

Microservices make you faster

20

5xfaster than those who don’t use microservices.

Companies who use microservices deploy

But we are not there yet

21

‘We use mostlymicroservices‘

9%

Monolith Development Lifecycle

22

$ $ $ $$ $ $ $$ $ $ $$ $ $ $$ $ $ $

Build Test Deploy

Developers Monolith Delivery Pipeline

23

Monoliths: all functionality in one clunky piece

Challenges with monolithic software

24

Difficult toScale

LongCycles

OperationsIssues

Architecture ishard to maintain

and evolve

New releasestake months

(to test, integrate)

Module X is failing,Who is the owner?

Lack ofAgility

Lack ofInnovation

FrustratedCustomers

Microservices Development Lifecycle

25

$ $ $ $

$ $ $ $

$ $ $ $

$ $ $ $

Build Test Deploy

Build Test Deploy

Build Test Deploy

Build Test Deploy

Developers Microservices Delivery Pipelines

26ImageSource:https://www.linkedin.com/pulse/dont-believe-tools-tomasz-cholewa

Microservices: Do one thing, but do it right

Microservices pay out for complex scenarios

27Source:MartinFowler

‘Microservices Premium’

Base Complexity

Pro

du

ctiv

ity

Microservices

Monoliths

Example: Monolithic online store

28

ONLINE STORE

Ordering Billing

AccountingInventory

• One piece of Software

• 100k lines of code

• Outdated technology

• Only few developers understand it

• New releases take forever

Amazon checkout

29

Order items on website

30

CheckoutService

OrderMgmt

RE

ST A

PI

Postgres MongoDB

3) POST /ordersInventory

Mgmt

RE

ST A

PI

SAP MM

2) GET /items1) GET /stock

4) POST /items

Application

Interface IT Component

Provider

SAP

Data Object

Orders Items

Designing Microservices and selecting technologies

31

Ordering

Inventory

Billing

Accounting

Order Service Billing Service

Inventory Service Accounting Service

SAP FI

Paypal

OrderAPIMySQL

MongoDB

Orders Invoices

Stock Items BalancesFinanceAPI

InventoryAPI

BillingAPI

Application

Interface

IT Component

Data Object

Bus. Capability

Elastic

All new functionality follows our MicroserviceArchitecture

32

View

Controller

Model

DB

Single Page App

REST-API

DB

REST-API

Frontend Service

BackendMicroservices

InfrastructureServices

Services are independent, which allows scaling

33

Pathfinder

Po

stgr

es

Ela

stic

sear

ch

Ara

ngo

DB

Pathfinder UISingle Page App

Backend Services• GraphQL or REST API• oAuth2 /w JWT• Swagger API Docs• Event-Bus (Webhooks)

Resources• No sharing across

services

Web-hooks

MTM Export Images Survey Metrics

Po

stgr

es

Kaf

ka

Po

stgr

es

Shib

bo

leth

Ph

anto

mJS

Po

stgr

es

Ela

stic

sear

ch

Infl

uxD

B

“Platform Services”

Most critical tools to build microservices at LeanIX

34

IntegratedDevelopmentEnvironment

Frameworks

ContinuousIntegration

Packaging

Monitoring

IntelliJ(Java)

VSCode(Typescript)

Dropwizard(Java)

Jenkins

Docker

Swagger(Java)

Lessons learned

35

# Services < team size

Lessons learned

36

Cut down the original monolith step by step

Lessons learned

37

API first: Use self-documenting APIs (e.g. Swagger)

Lessons learned

38

Use event based data exchange (e.g. via webhooks)

Lessons learned

39

Synchronize data – always allow data to migrateinto the new system

Lessons learned

40

Orchestration is really, really important.Invest in docker container orchestration & deployment

(e.g. Ansible, Kubernetes)

Lessons learned

41

For the migration, switch from Scrum to Kanbanto reduce overhead and gain speed

Lessons learned

42

Automate the build-test-run process

43

#Add some magic with automated DevOps

A shift left of operational concerns

44

DevelopmentEnvironment

TestEnvironment

StageEnvironment

ProductionEnvironment

ContinuousIntegration

ContinuousTesting

ContinuousDelivery

ContinuousMonitoring

‘Shift-left‘ of operational concerns

LeanIX DevOps setup

45

Develop Build Test Deploy

Develop Machines

Staging Server

Production Servers EU

Docker Hub

Wow!

46

3huntil first commit of a new joiner

47

But maybe you are more like him?

Four waves to run IT like a startup

48

SingleSource of

Truth(Existing)

Semi-automaticInventory(Existing)

MicroservicesGovernance

(PoC)

Fully integratedDocker &

Kubernetes setup(in Dev)

From idea to production

49

Requirements Capacity & Planning Deployment Monitoring

Microservice Lifecycle Management

50

1Starting small doesn‘tmean thinking small

51

2Join our workshop

to reflect

52

3Have a chat with

us later J