Вы находитесь на странице: 1из 48

Pragmatic Approach to

Microservice Architecture
role of middleware

Asanka Abeysinghe

Vice 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
containers
4
Platform 3.0 : evolution of middleware
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-


5 generation middleware : the cloud
Microservices : our generation

Picture credit ; flicker

6
Microservices : new generation

Picture credit ; flicker

7
Microservices : reality (what I
think)

Picture credit ; flicker

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

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

10
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

11
MSA is not based on all-
new architectural
principles; it combines SOA
best practices with modern
application delivery tooling
and organizational
disciplines.
Source : Gartner

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

Source : Gartner

13
A microservice must have a
single purpose and be
loosely coupled in design
and deployed
independently of other
microservices.
Source : Gartner

14
MSA : reference architecture

Source : Gartner

15
MSA : characteristics
- 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
James Lewis Martin Fowler

- Evolutionary design http://martinfowler.com/articles/microservices.html

16
Componentize as services

17
Provide high-performance,
functional rich, lean service
containers to deploy services.

18
Organized around business capabilities

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

19
Source : connected company Dave Gray

20
Provide a platform for pods
to build and expose
services.

21
Platform for digital transformation

22
Products not projects

Product line to frontline.


Source : connected company Dave Gray

23
Provide end-to-end
middleware capabilities.

24
25
Smart endpoints and dumb pipes

26
But it leads to ....

27
Support bus/broker
architecture.

28
EIP (enterprise integration patterns)

29
MSA : extended with bus/broker

30
Decentralized governance

Not every problem is


a nail and not every
solution is a hammer.

31
Platform 3.0

{}
Polyglot
Open
Cloud API driven programmi QoS
source
native ng

Mobile,
social, Event Bigdata,
store driven, IoT analytics DevOps Iterative

32
33
Decentralized data management

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

34
Platform 3.0

{}
Polyglot
Open
Cloud API driven programmi QoS
source
native ng

Mobile,
social, Event Bigdata,
store driven, IoT analytics DevOps Iterative

35
Infrastructure automation

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

36
Platform 3.0

{}
Polyglot
Open
Cloud API driven programmi QoS
source
native ng

Mobile,
social, Event Bigdata,
store driven, IoT analytics DevOps Iterative

37
Automated testing
Continuous integration
Support for containerization
Support for devops automation
Support for distributed
deployment
Lean, independent runtime
38
Design for failure

39
Platform 3.0

{}
Polyglot
Open
Cloud API driven programmi QoS
source
native ng

Mobile,
social, Event Bigdata,
store driven, IoT analytics DevOps Iterative

40
Evolutionary design

41
Platform 3.0

{}
Polyglot
Open
Cloud API driven programmi QoS
source
native ng

Mobile,
social, Event Bigdata,
store driven, IoT analytics DevOps Iterative

42
Pluggable, extensible
middleware architecture.

43
Phase layered strategy : platform New
II dont
dont know
what
know exactly
what II want.
exactly
want. II need
need
Ideas
to
to experiment.
experiment.
Platform
Digital Experience
Systems of Innovation [Can and does change
often]
Digital Rate of Change :=
Uncontrollable, Fast
Business Domain
Services
Better
Differentiation [Can, but does not change
often]
Ideas
Rate of Change := Managed,
Medium
II know
know what
what II
Traditio Data Subject Services
want,
want, but
but it
it

Record
nal [Does not change often]
Rate of Change := Managed,
needs
needs to
to be
different
be
different from
from
Slow my
my
competitors.
competitors.
II know
know what
want
what II Com
want and it
and it
doesnt
doesnt have
have toto mon
be
be unique.
unique.
Ideas
44
Summary
build an architecture;
using not loosing
- API driven - Existing applications and data
- Consumer driven - SOA principles
- Minimalistic/utilized - Middleware capabilities
infrastructure (integration engines and tools)
- Dynamic, act based on runtime - Distributed deployment with
events functional containers
- Iterative
- Platform for innovation and RAD

45
AR (Tarchitect to Marketect)
CHITECT

46
AR (Tarchitect to Marketect)
CHITECT

47
http://wso2.com
CONTACT US !

Вам также может понравиться