Top Banner
Pragmatic Approach to Microservice Architecture role of middleware Asanka Abeysinghe Vice President – Solutions Architecture, WSO2,Inc. @asankama http://asanka.abeysinghe.org
48

Pragmatic approach to Microservice Architecture: Role of Middleware

Apr 14, 2017

Download

Technology

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: Pragmatic approach to Microservice Architecture: Role of Middleware

Pragmatic Approach to Microservice Architecture role of middleware

Asanka AbeysingheVice President – Solutions Architecture, WSO2,Inc.@asankama http://asanka.abeysinghe.org

Page 2: Pragmatic approach to Microservice Architecture: Role of Middleware

Enterprise today

2

Page 3: Pragmatic approach to Microservice Architecture: Role of Middleware

In the process of moving to..

3

Page 4: Pragmatic approach to Microservice Architecture: Role of Middleware

Completely new pattern ?- Before identifying MSA as a pattern- In 2011, a service platform in

healthcare - New service = NEW service container - 80+ service containers - Shell scripts and Maven to build

containers4

Page 5: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0 : evolution of middleware

5

Platform 1.0 - Mainframe and before  : centralized computing

Platform 2.0 - Messaging, object orientation, SOA, EDA : distributed computing and internet

Platform 3.0 - Platform 2.0 + next-generation middleware : the cloud

Page 6: Pragmatic approach to Microservice Architecture: Role of Middleware

Microservices : our generation

6

Picture credit ; flicker

Page 7: Pragmatic approach to Microservice Architecture: Role of Middleware

Microservices : new generation

7

Picture credit ; flicker

Page 8: Pragmatic approach to Microservice Architecture: Role of Middleware

Microservices : reality (what I think)

8

Picture credit ; flicker

Page 9: Pragmatic approach to Microservice Architecture: Role of Middleware

9

http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.jhtml

Page 10: Pragmatic approach to Microservice Architecture: Role of Middleware

10

http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/microservices.jhtml

Page 11: Pragmatic approach to Microservice Architecture: Role of Middleware

11

Microservice architecture (MSA) is a pattern for building and delivering service-oriented applications with two primary objectives: agility of delivery and flexibility of deployment.

Source : Gartner

Page 12: Pragmatic approach to Microservice Architecture: Role of Middleware

12

MSA is not based on all-new architectural

principles; it combines SOA best practices with modern application delivery tooling

and organizational disciplines. Source : Gartner

Page 13: Pragmatic approach to Microservice Architecture: Role of Middleware

13

"Micro" is a concept of scope rather than size.

Source : Gartner

Page 14: Pragmatic approach to Microservice Architecture: Role of Middleware

14

A microservice must have a single purpose and be

loosely coupled in design and deployed

independently of other microservices.

Source : Gartner

Page 15: Pragmatic approach to Microservice Architecture: Role of Middleware

MSA : reference architecture

15

Source : Gartner

Page 16: Pragmatic approach to Microservice Architecture: Role of Middleware

MSA : characteristics

16

- Componentization via services- Organized around business capabilities- Products not projects- Smart endpoints and dumb pipes- Decentralized governance- Decentralized data management- Infrastructure automation- Design for failure- Evolutionary design James Lewis Martin Fowler

http://martinfowler.com/articles/microservices.html

Page 17: Pragmatic approach to Microservice Architecture: Role of Middleware

Componentize as services

17

Page 18: Pragmatic approach to Microservice Architecture: Role of Middleware

18

Provide high-performance, functional rich, lean service

containers to deploy services.

Page 19: Pragmatic approach to Microservice Architecture: Role of Middleware

Organized around business capabilities

19

Picture credit ; http://martinfowler.com/articles/microservices.html

Page 20: Pragmatic approach to Microservice Architecture: Role of Middleware

20

Source : connected company – Dave Gray

Page 21: Pragmatic approach to Microservice Architecture: Role of Middleware

21

Provide a platform for pods to build and expose

services.

Page 22: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform for digital transformation

22

Page 23: Pragmatic approach to Microservice Architecture: Role of Middleware

Products not projects

23

Product line to frontline.Source : connected company – Dave Gray

Page 24: Pragmatic approach to Microservice Architecture: Role of Middleware

24

Provide end-to-end middleware capabilities.

Page 25: Pragmatic approach to Microservice Architecture: Role of Middleware

25

Page 26: Pragmatic approach to Microservice Architecture: Role of Middleware

Smart endpoints and dumb pipes

26

Page 27: Pragmatic approach to Microservice Architecture: Role of Middleware

But it leads to …....

27

Page 28: Pragmatic approach to Microservice Architecture: Role of Middleware

28

Support bus/broker architecture.

Page 29: Pragmatic approach to Microservice Architecture: Role of Middleware

EIP (enterprise integration patterns)

29

Page 30: Pragmatic approach to Microservice Architecture: Role of Middleware

MSA : extended with bus/broker

30

Page 31: Pragmatic approach to Microservice Architecture: Role of Middleware

Decentralized governance

31

Not every problem is a nail and not every

solution is a hammer.

Page 32: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0

32

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Page 33: Pragmatic approach to Microservice Architecture: Role of Middleware

33

Page 34: Pragmatic approach to Microservice Architecture: Role of Middleware

Decentralized data management

34

Picture credit ; http://martinfowler.com/articles/microservices.html

Page 35: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0

35

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Page 36: Pragmatic approach to Microservice Architecture: Role of Middleware

Infrastructure automation

36

Picture credit ; http://martinfowler.com/articles/microservices.html

Page 37: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0

37

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Page 38: Pragmatic approach to Microservice Architecture: Role of Middleware

38

Automated testing Continuous integrationSupport for containerizationSupport for devops automationSupport for distributed deploymentLean, independent runtime

Page 39: Pragmatic approach to Microservice Architecture: Role of Middleware

Design for failure

39

Page 40: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0

40

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Page 41: Pragmatic approach to Microservice Architecture: Role of Middleware

Evolutionary design

41

Page 42: Pragmatic approach to Microservice Architecture: Role of Middleware

Platform 3.0

42

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Page 43: Pragmatic approach to Microservice Architecture: Role of Middleware

43

Pluggable, extensible middleware architecture.

Page 44: Pragmatic approach to Microservice Architecture: Role of Middleware

Phase layered strategy : platform

44

New Ideas

BetterIdeas

Common

Ideas

I don’t know exactly what I want. I need to experiment.

I know what I want, but it needs to be different from my competitors.

I know what I want and it doesn’t have to be unique.

Syst

ems o

f Innovation

Differentiation

Record

Platform

Business Domain Services [Can, but does not change often]

Rate of Change := Managed, Medium

Digital Experience [Can and does change often]

Rate of Change := Uncontrollable, Fast

Data Subject Services [Does not change often]

Rate of Change := Managed, Slow

Digital

Traditional

Page 45: Pragmatic approach to Microservice Architecture: Role of Middleware

Summary

45

build an architecture;

- API driven- Consumer driven- Minimalistic/utilized

infrastructure- Dynamic, act based on runtime

events- Iterative- Platform for innovation and RAD

using not loosing- Existing applications and data- SOA principles - Middleware capabilities

(integration engines and tools)- Distributed deployment with

functional containers

Page 46: Pragmatic approach to Microservice Architecture: Role of Middleware

46

AR (Tarchitect to Marketect) CHITECT

Page 47: Pragmatic approach to Microservice Architecture: Role of Middleware

47

AR (Tarchitect to Marketect) CHITECT