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

LeanIX Keynote Lessons from a startup

Jan 23, 2018

Download

Technology

LeanIX GmbH
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: LeanIX Keynote Lessons from a startup

2

Page 3: LeanIX Keynote Lessons from a startup

3

Helping global leaders to reinvent their IT Architecture

2012 20172016201520142013

Page 4: LeanIX Keynote Lessons from a startup

We built a MVP based on the LAMP stack

4

2012

“MVP”

Page 5: LeanIX Keynote Lessons from a startup

We improved service

5

2012 2013

“MVP” Service &Quality

Page 6: LeanIX Keynote Lessons from a startup

And ended up with a zoo

6

2012 20142013

SSO & Microservices

BuildProcess

Service &Quality

...

Single Page App

“MVP”

Page 7: LeanIX Keynote Lessons from a startup

7

Upgrade needed

Page 8: LeanIX Keynote Lessons from a startup

8

Page 9: LeanIX Keynote Lessons from a startup

The keys to achieve the transformation

9

! " #Radical agility Microservices DevOps

Page 10: LeanIX Keynote Lessons from a startup

10

!Stage 0: Empower your teams

Page 11: LeanIX Keynote Lessons from a startup

11

Page 12: LeanIX Keynote Lessons from a startup

Principles of Radical Agility

12

PURPOSE

AUTONOMY

MASTERY

Page 13: LeanIX Keynote Lessons from a startup

Radical Agility at Zalando

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

$

$

$$

$

$

$

$

$$

$

$

$

$

$$

$

$

♂ ♂

DeliveryLead

PeopleLead

$

$

$$

$

$

TeamLead

Page 14: LeanIX Keynote Lessons from a startup

14

Page 15: LeanIX Keynote Lessons from a startup

15

Page 16: LeanIX Keynote Lessons from a startup

16

Page 17: LeanIX Keynote Lessons from a startup

17

"Cut monoliths into microservices

Page 18: LeanIX Keynote Lessons from a startup

18

Page 19: LeanIX Keynote Lessons from a startup

Microservices are on the roadmap

19

80 %of surveyed companies bet on microservices

Page 20: LeanIX Keynote Lessons from a startup

Microservices make you faster

20

5xfaster than those who don’t use microservices.

Companies who use microservices deploy

Page 21: LeanIX Keynote Lessons from a startup

But we are not there yet

21

‘We use mostlymicroservices‘

9%

Page 22: LeanIX Keynote Lessons from a startup

Monolith Development Lifecycle

22

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

Build Test Deploy

Developers Monolith Delivery Pipeline

Page 23: LeanIX Keynote Lessons from a startup

23

Monoliths: all functionality in one clunky piece

Page 24: LeanIX Keynote Lessons from a startup

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

Page 25: LeanIX Keynote Lessons from a startup

Microservices Development Lifecycle

25

$ $ $ $

$ $ $ $

$ $ $ $

$ $ $ $

Build Test Deploy

Build Test Deploy

Build Test Deploy

Build Test Deploy

Developers Microservices Delivery Pipelines

Page 26: LeanIX Keynote Lessons from a startup

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

Microservices: Do one thing, but do it right

Page 27: LeanIX Keynote Lessons from a startup

Microservices pay out for complex scenarios

27Source:MartinFowler

‘Microservices Premium’

Base Complexity

Pro

du

ctiv

ity

Microservices

Monoliths

Page 28: LeanIX Keynote Lessons from a startup

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

Page 29: LeanIX Keynote Lessons from a startup

Amazon checkout

29

Page 30: LeanIX Keynote Lessons from a startup

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

Page 31: LeanIX Keynote Lessons from a startup

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

Page 32: LeanIX Keynote Lessons from a startup

Elastic

All new functionality follows our MicroserviceArchitecture

32

View

Controller

Model

DB

Single Page App

REST-API

DB

REST-API

Frontend Service

BackendMicroservices

InfrastructureServices

Page 33: LeanIX Keynote Lessons from a startup

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”

Page 34: LeanIX Keynote Lessons from a startup

Most critical tools to build microservices at LeanIX

34

IntegratedDevelopmentEnvironment

Frameworks

ContinuousIntegration

Packaging

Monitoring

IntelliJ(Java)

VSCode(Typescript)

Dropwizard(Java)

Jenkins

Docker

Swagger(Java)

Page 35: LeanIX Keynote Lessons from a startup

Lessons learned

35

# Services < team size

Page 36: LeanIX Keynote Lessons from a startup

Lessons learned

36

Cut down the original monolith step by step

Page 37: LeanIX Keynote Lessons from a startup

Lessons learned

37

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

Page 38: LeanIX Keynote Lessons from a startup

Lessons learned

38

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

Page 39: LeanIX Keynote Lessons from a startup

Lessons learned

39

Synchronize data – always allow data to migrateinto the new system

Page 40: LeanIX Keynote Lessons from a startup

Lessons learned

40

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

(e.g. Ansible, Kubernetes)

Page 41: LeanIX Keynote Lessons from a startup

Lessons learned

41

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

Page 42: LeanIX Keynote Lessons from a startup

Lessons learned

42

Automate the build-test-run process

Page 43: LeanIX Keynote Lessons from a startup

43

#Add some magic with automated DevOps

Page 44: LeanIX Keynote Lessons from a startup

A shift left of operational concerns

44

DevelopmentEnvironment

TestEnvironment

StageEnvironment

ProductionEnvironment

ContinuousIntegration

ContinuousTesting

ContinuousDelivery

ContinuousMonitoring

‘Shift-left‘ of operational concerns

Page 45: LeanIX Keynote Lessons from a startup

LeanIX DevOps setup

45

Develop Build Test Deploy

Develop Machines

Staging Server

Production Servers EU

Docker Hub

Page 46: LeanIX Keynote Lessons from a startup

Wow!

46

3huntil first commit of a new joiner

Page 47: LeanIX Keynote Lessons from a startup

47

But maybe you are more like him?

Page 48: LeanIX Keynote Lessons from a startup

Four waves to run IT like a startup

48

SingleSource of

Truth(Existing)

Semi-automaticInventory(Existing)

MicroservicesGovernance

(PoC)

Fully integratedDocker &

Kubernetes setup(in Dev)

Page 49: LeanIX Keynote Lessons from a startup

From idea to production

49

Requirements Capacity & Planning Deployment Monitoring

Microservice Lifecycle Management

Page 50: LeanIX Keynote Lessons from a startup

50

1Starting small doesn‘tmean thinking small

Page 51: LeanIX Keynote Lessons from a startup

51

2Join our workshop

to reflect

Page 52: LeanIX Keynote Lessons from a startup

52

3Have a chat with

us later J