Professional Documents
Culture Documents
based Architectures
@neal4d
nealford.com
1
agenda
Micro Service-oriented
Service-based
2
Service-oriented Architecture
3
origins: hubs
System B
System A
System C
4
origins: hubs
System B
System A
System C
System D
(ftp only)
5
origins: hubs
System E
(http only)
System B
System A
System C
System D
(ftp only)
6
origins: hubs
System E
(http only)
System B
System A
System C
System D
(ftp only)
7
origins: hubs
System E
(http only)
System B
Integration
System A
Hub
System C
System D
(ftp only)
8
origins: hubs
System E
(http only)
System B
Integration
System A
Hub
System C
System D
(ftp only)
9
origins: hubs
System E
(http only)
System B
Integration
System A
Hub
System C
System D
(ftp only)
10
origins: hubs
looks great, but what about single point of failure and
performance bottleneck considerations?
11
orchestration
hub
intelligent hub
12
service-oriented architecture
abstraction
service taxonomy
shared resources
middleware
interoperability
13
service-oriented architecture
business services BS BS BS BS BS BS
message bus
process choreographer
service orchestrator
enterprise services ES ES ES ES ES ES
14
service-oriented architecture
business services BS BS BS BS BS BS
abstractbus
message enterprise-level coarse-grained
process choreographer
owned and defined by business users data represented as WSDL, BPEL, XML, etc.
service orchestrator
no implementation - only name, input, and output
Are weservices
enterprise in the business
ES ES ES of…?
ES ES ES
ExecuteTrade
application services PlaceOrder
AS ProcessClaim
infrastructure services IS
15
service-oriented architecture
concrete
message bus enterprise-level coarse-grained
process choreographer
custom or vendor implementations
service orchestrator
that are one-to-one
or one-to-many relationship with business services
enterprise services ES ES ES ES ES ES
16
service-oriented architecture
owned byBSapplication
business services BS BS
teams
BS BS BS
concrete
message bus application-level fine-grained
process choreographer
17
service-oriented architecture
concrete
message bus enterprise-level fine-grained
process choreographer
implements non-business functionality to support both
service
enterprise and business orchestrator
services
18
service-oriented architecture
business services BS BS BS BS BS BS
message bus
process choreographer
service orchestrator
19
service-oriented architecture
mediation and routing
business services BS BS BS BS BS BS
message bus
enterprise services ES ES ES ES ES ES
20
service-oriented architecture
process choreography
request request
business services BS BS BS BS BS BS
message bus
process choreographer
21
service-oriented architecture
service orchestration
request request
message bus
service orchestrator
enterprise services ES ES ES ES ES ES
22
service-oriented architecture
service registry
calcQuote() enterprise
service
business service
servic
service CreateQuote registry
enterprise
saveQuote() service
23
service-oriented architecture
message enhancement
contract decoupling
24
service-oriented architecture
message transformation
contract decoupling
25
service-oriented architecture
protocol transformation
SOAP/WS RMI/IIOP
client transform enterprise
servic
application protocol service
ATMI enterprise
service
access decoupling
implementation transparency
26
service-oriented architecture
business services BS BS BS BS BS BS
message bus
process choreographer
service orchestrator
enterprise services ES ES ES ES ES ES
27
service-oriented architecture
CreateQuote
message bus
CreateCustomer CalcQuote
message bus
WriteAudit
28
service-oriented architecture
business services BS BS BS BS BS BS
message bus
process choreographer
service orchestrator
enterprise services ES ES ES ES ES ES
maximize reuse
maximize canonicality
29
service-oriented architecture
business services BS BS BS BS BS BS
message bus
process choreographer
service orchestrator
enterprise services ES ES ES ES ES ES
incremental change
operationally coupled
30
Microservice Architecture
31
domain driven design
32
bounded context
33
microservices architecture
api layer
34
microservices architecture
distributed architecture
client requests client requests client requests
api layer
35
microservices architecture
separately deployed components
client requests client requests client requests
api layer
36
microservices architecture
service component
client requests client requests client requests
api layer
37
microservices architecture
bounded context
client requests client requests client requests
api layer
38
bounded context ≠ entity
checkout shipping
39
prefer duplication over coupling
Customer
40
prefer duplication over coupling
41
smart endpoints, dumb pipes
42
standardize on integration, not platform
Building
Microservices Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
43
technical consistency
integration
Building downstream
Microservices
DESIGNING FINE-GRAINED SYSTEMS
44
decentralized governance
45
decentralized data management
46
decentralized data management
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
47
infrastructure automation
48
microservices architecture
service orchestration
update
customer notification
front orchestrator
49
microservices architecture
service orchestration
update
customer notification
50
microservices architecture
service orchestration
update
customer notification
51
microservices architecture
service orchestration
update
customer notification
52
microservices architecture
service orchestration
update
customer notification
53
consumer driven contracts
http://martinfowler.com/articles/consumerDrivenContracts.html
54
microservices architecture
client requests client requests client requests
api layer
55
support ∆
Microservice is the first
architectural style developed
post-Continuous Delivery.
56
microservice implementation
PCI Level 1 !!
http://2012.33degree.org/pdf/JamesLewisMicroServices.pdf
http://www.infoq.com/presentations/Micro-Services
57
Service-based Architecture
58
service-based architecture
is there a middle ground?
service-oriented microservices
architecture architecture
service-based
architecture
59
service-based architecture
60
service-based architecture
service granularity
api layer
61
service-based architecture
service granularity
62
service-based architecture
service granularity
63
service-based architecture
service granularity
64
service-based architecture
database scope
client requests client requests client requests
api layer
65
service-based architecture
database scope
client requests client requests client requests
66
service-based architecture
database scope
67
service-based architecture
database scope
68
service-based architecture
integration hub
api layer
69
service-based architecture
integration hub
70
service-based architecture
integration hub
71
service-based architecture
integration hub
72
what people really mean
when they say
“microservice”:
73
migrating architectures
74
electronics recycling application
public requests receiving department recycling and accounting
kiosk
receiving accounting
quote
assessment recycling
item status
reporting
75
electronics recycling application
76
service-based architecture
adding microservices
client requests client requests client requests
77
service-based architecture
adding microservices
client requests client requests client requests
78
service-based architecture
adding microservices
client requests client requests client requests
79
comparing:
Micro Service-oriented
Service-based
80
characteristics differences
overall agility
H
ability to respond quickly to
constant change in both
business and technology
overall agility
M
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
81
characteristics differences
ease of deployment
H
promotes an effective and fast
deployment pipeline; features
are quick and easy to deploy
ease of deployment
M
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
82
characteristics differences
ease of testing
ease at which features can be H
ease of testing
M
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
83
characteristics differences
overall performance
H
which patterns relatively
promote better performing
level of performance
applications?
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
84
characteristics differences
overall scalability
H
how well does the architecture
pattern lend itself to highly
scalable applications?
level of scalability
M
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
85
characteristics differences
overall simplicity
H
level of complexity in
applications implemented
using the architecture pattern
level of simplicity
M
monolithic service-based
architecture architecture
service-oriented microservices
architecture architecture
86
service differences
service granularity
service numbers
87
service differences
service granularity
what is the typical granularity of services within this pattern?
microservices
architecture
service-based
architecture
service-oriented
architecture
fine-grained coarse-grained
88
service differences
service numbers
what is the typical upper limit of the number of services found?
microservices
architecture
service-based
architecture
service-oriented
architecture
89
Which ?!?
90
Which ?!?
Monolith
default
easy to understand/build
91
Which ?!?
Service-oriented
service taxonomy
operationally complex
92
Which ?!?
Microservices
incremental change
highly evolvable
complex interactions
93
Which ?!?
service-based
good compromise
94
Which ?!?
it depends
95
domain/architecture
isomorphism
mechanical sympathy
96
nealford.com
@neal4d
nealford.com/videos
nealford.com/books
www.oreilly.com/software-architecture-video-training-series.html
97