Centralized vs. Decentralized Service Oriented Architecture
George Fairbanks Google @GHFairbanks Michael Keeling IBM @michaelkeeling
Centralized vs. Decentralized Service Oriented Architecture Michael - - PowerPoint PPT Presentation
Centralized vs. Decentralized Service Oriented Architecture Michael Keeling George Fairbanks IBM Google @michaelkeeling @GHFairbanks Agenda Modern Service Oriented Architecture Governance Concerns Discussion Wrap-up
George Fairbanks Google @GHFairbanks Michael Keeling IBM @michaelkeeling
2
(Let’s make sure we’re all talking about the same things)
3
4
via Adrian Cockcroft
5
via Adrian Cockcroft
6
via Adrian Cockcroft
7
8
9
http://martinfowler.com/bliki/BoundedContext.htm l
10
11
16
Paulo Merson, CMU
(There’s more than one way to skin a cat.)
17
18
https://twitter.com/philip_pfo/status/726173974376386560
19
https://twitter.com/philip_pfo/status/726173974376386560
via Adrian Cockcroft
via Adrian Cockcroft
via Adrian Cockcroft
23
24
25
Load Balancer API Proxy “Business” (microservices) Data Access Data Store (clustered) This is not the only pattern. Point:
different granularities of abstraction http://github.com/adrianco/spigo
27
From Merriam Webster
28
http://www.ibm.com/developerworks/library/ar-servgov/index.html
29
http://www.ibm.com/developerworks/library/ar-servgov/index.html
30
http://www.ibm.com/developerworks/library/ar-servgov/index.html
31
32
33
34
35
36
The right governance approach:
37
38
Delivery Speed Autonomy Responsibility Ownership Automation Quality Developer Led Self-service Low delivery friction Avoid accidental complexity
https://github.com/michaelkeeling/ SATURN2015-Microservices-Workshop
39
Common Tooling Configuration Service Discovery Routing Observability Data Storage Operations Development
40
Common Tooling Animator Configuration Archius Service Discovery Eureka, Prana Routing Zuul, Netty, Ribbon Observability Hystrix, Pytheas Data Storage MemcacheD, Cassandra Operations Manual orchestration with Asgard, deployed on AWS Development JVM, Docker
(The show you came here to see.)
41
42
43
US “Founding Father” Declaration of Independence Author Third president of the USA Louisiana Purchase VA Statute of Religious Freedom Inventor, philosopher, writer, archeologist, architect, …
49
US “Founding Father” Federalist Papers author First Secretary of Treasury Established National Bank Father of the US Coast Guard First political sex scandal in US Killed by Aaron Burr in a duel
50
51
Weaker SOA governance Pro developer choice Trust developers to have the discipline to do what is right “The most power should rest in the hands of those most affected by it.”
52
Strong SOA Governance General distrust of developers’ abilities to make the right choice Seeks stability over general liberty (but not to the point of monarchy) “Liberty and freedom are so essential they cannot be left to the mob to decide.”
53
54
55
56
Do you have a standard or let everything grow
the choices and when?
57
58
Who is responsible for promoting key qualities across the whole system?
59
60
What is the effect of service version changes? How do you maintain stability over time?
61
62
A promise of SOA is service reuse. How can this be achieved vs lots of redundant and incompatible services?
63
66
Is there a shared dev environment? Who ensures that it’s any good? What if it has junk data left behind from half-broken code? Who is responsible if an end-to-end test breaks?
67
70
71
72
73
74
75
76
Coming soon to the Pragmatic Bookshelf! Filled with hands-on exercises! A practical guide to software architecture design! Check out Michael’s book…
Michael Keeling @michaelkeeling neverletdown.net
http://bit.ly/swarch-design-book
George Fairbanks @GHFairbanks georgefairbanks.com