Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services...

28
MENDIX WORLD Monolith to Microservices: A Best Practices Approach Jasper van der Hoek / Enterprise Architect

Transcript of Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services...

Page 1: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Monolith to Microservices: A Best Practices Approach

Jasper van der Hoek / Enterprise Architect

Page 2: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Architecture Trends

Page 3: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Architecture Trends

Internal Modular DesignTraditional Large System

MonolithSystem

ProcessDatabase

LogicGUI

Page 4: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Architecture Trends

Layered Re-Used ComponentsSOA “System”

Process Layer

Logic Layer

UI Layer

Data Layer

ESB

database Back-endsystems

Page 5: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Recent Architecture Trends

Independent Specific ComponentsMicroservices System

Time p. Feature

App Size

Micro-Service

Micro-Service

Micro-Service

Micro-Service

Page 6: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Recent Architecture Trends

Independent Specific Components

Microservices SystemLayered Re-Used Components

SOA “System”Internal Modular Design

Traditional Large System

Micro-Service

Micro-Service

Micro-Service

Micro-Service

MonolithSystem

ProcessDatabase

LogicGUI

Process Layer

Logic Layer

UI Layer

Data Layer

ESB

database Back-endsystems

Page 7: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Recent Architecture Trends

Independent Specific Components

Microservices SystemLayered Re-Used Components

SOA “System”

Time p. Feature

App Size

Internal Modular Design

Traditional Large System

Time p. Feature

App Size

Micro-Service

Micro-Service

Micro-Service

Micro-Service

Time p. Feature

App Size

MonolithSystem

ProcessDatabase

LogicGUI

Process Layer

Logic Layer

UI Layer

Data Layer

ESB

databaseBack-endsystems

Page 8: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Microservices Search Trends

2012

H1

2012

H2

2013

H1

2013

H2

2014

H1

2014

H2

2015

H1

2015

H2

2016

H1

2016

H2

2017

H1

2017

H2

2018

H1

2018

H2

2019

H1

Page 9: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

2012

H1

2012

H2

2013

H1

2013

H2

2014

H1

2014

H2

2015

H1

2015

H2

2016

H1

2016

H2

2017

H1

2017

H2

2018

H1

2018

H2

2019

H1

Microservices Search Trends vs SOA

SOA

Microservices

Page 10: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Why Microservices?

(Long-term) Architectural Flexibility

Increase speed of development

Improve scalability

Improve Quality

Independent Release Management

Page 11: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

How?

Maximize re-use Scale individual services

Reduce dependencies Reduce regression testing

Use single database Standardize technology

Page 12: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Re-use

Maximize re-use

Use single database

Standardize technology

Page 13: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Re-use versus Efficiency

Maximize re-use

Use single database

Standardize technology

Autonomous Functional Services

Best Technology for the Job

Services own their data

VS

Page 14: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Page 15: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

How to choose the right Microservices

Page 16: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Choosing the Right Microservices

(Long-term) Architectural Flexibility

Increase speed of development

Improve scalability

Improve Quality

Independent Release Management

Page 17: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Choosing the Right Microservices

• Identify unique business domains by leveraging the ‘Bounded context’

• Design for clear separation in data and ownership

Product Product

Category

Product

Box

Inventory

Product Context

Inventory Context

Shipping Context

Page 18: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

- M. Conway

Page 19: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Business Processes

IT Solutions(Microservices)

IT

Aligning Organization and Systems

Page 20: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Business

IT Solutions (Microservices)Business Processes

IT

Aligning Business with IT

Page 21: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Aligning Business with IT… and technology

Business

IT

Business Processes

IT Solutions(Microservices)

Page 22: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLDIT

Business Processes

IT Solutions(Microservices)

Aligning Business with IT… and technology

Page 23: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Breaking down the Monolith A value driven approach

Page 24: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Choosing the Right Microservices

Level 1

Level 2

Level 3 Business Line

Department

Business Line

Business LineBusiness Line

Department

Business Line

Company Mission

Differentiator Differentiator DifferentiatorDifferentiatorDifferentiator Differentiator

Value Driver

Value Driver

Value Driver

Value Driver

Value Driver

ProcessProcess

Business Line

Process

Page 25: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Choosing the Right Microservices

(Long-term) Architectural Flexibility

Increase speed of development

Improve scalability

Improve Quality

Independent Release Management

Page 26: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Choosing the Right Microservices

Level 1

Level 2

Level 3 Business Line

Department

Business Line

Business LineBusiness Line

Department

Business Line

Company Mission

Differentiator Differentiator DifferentiatorDifferentiatorDifferentiator Differentiator

Value Driver

Value Driver

Value Driver

Value Driver

Value Driver

Solution SolutionMicroservice Microservice

Microservice

Solution

Microservice

Microservice

Microservice

DevOps TeamDevOps TeamDevOps Team DevOps Team

Level 4

Page 27: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Validate Your Microservices

Service Lifecycle & Responsibility• Start of the service lifecycle• End of the service lifecycle

Business Events (incoming/outgoing)• Describe the events in a single sentence

Process description• Identification of major processes (non-

exhaustive)

Stakeholders• Roles of users of the service

Page 28: Monolith to Microservices - A Best Practices Approach...To learn more, connect with Expert Services and ask them about our approach to Microservices. Title Monolith to Microservices

MENDIXWORLD

Thank you!

Mendix Makes Microservices easierCheckout these track tomorrow:

Wed — 2:15 pm The aha! Moment: How eXp Realty reached the decision to build a microservices architecture

Wed — 3:15 pm Microservices: What, Why, When and How

Wed — 4:15 pmOData! Bringing structure and syntax to accessing your data

To learn more, connect with Expert Services and ask them about our approach to Microservices.