pragmatic approach to microservice architecture: role of middleware

Post on 14-Apr-2017

1.429 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pragmatic Approach to Microservice Architecture role of middleware

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

Enterprise today

2

In the process of moving to..

3

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

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

Microservices : our generation

6

Picture credit ; flicker

Microservices : new generation

7

Picture credit ; flicker

Microservices : reality (what I think)

8

Picture credit ; flicker

9

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

10

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

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

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

13

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

Source : Gartner

14

A microservice must have a single purpose and be

loosely coupled in design and deployed

independently of other microservices.

Source : Gartner

MSA : reference architecture

15

Source : Gartner

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

Componentize as services

17

18

Provide high-performance, functional rich, lean service

containers to deploy services.

Organized around business capabilities

19

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

20

Source : connected company – Dave Gray

21

Provide a platform for pods to build and expose

services.

Platform for digital transformation

22

Products not projects

23

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

24

Provide end-to-end middleware capabilities.

25

Smart endpoints and dumb pipes

26

But it leads to …....

27

28

Support bus/broker architecture.

EIP (enterprise integration patterns)

29

MSA : extended with bus/broker

30

Decentralized governance

31

Not every problem is a nail and not every

solution is a hammer.

Platform 3.0

32

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

33

Decentralized data management

34

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

Platform 3.0

35

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Infrastructure automation

36

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

Platform 3.0

37

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

38

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

Design for failure

39

Platform 3.0

40

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

Evolutionary design

41

Platform 3.0

42

Mobile, social, store

Event driven, IoT

Bigdata, analytics DevOps Iterative

Cloud native

Open source API driven

{ }Polyglot

programming

QoS

43

Pluggable, extensible middleware architecture.

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

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

46

AR (Tarchitect to Marketect) CHITECT

47

AR (Tarchitect to Marketect) CHITECT

top related