13. Inverse Conway Maneuver
The 'Inverse Conway Maneuver' recommends evolving your
team and organizational structure to promote your desired
architecture. !
Org Structure
Software Architecture
17. Single Sign On Business Serviceauthorise(),
It’s unlikely that a Business
Service would need the
internal SSO state /
function to change
Single Sign On
23. Service Database
Data on
inside
Data on
outside
Data on
inside
Data on
outside
Interface
hides data
Interface
amplifies
data
Databases amplify the data they hold
33. Nice neat
services
Service
contract too
limiting
Can we change
both services
together, easily?
NO
Broaden Contract
Eek $$$
NO
YES
Is it a
shared
Database?
Frack it!
Just give me
ALL the data
Data diverges.
(many different
versions of the same
facts)
Lets encapsulate
Lets centralise
to one copy
YES
Start
here
65. Join shared datasets without putting
pressure on source services
Email Service
Legacy App
Orders Payments Stock
KSTREAMS
66. Shared State is only cached in the service,
so there is no way to diverge
Email Service
Orders Payments Stock
Lives here!
Cached here!
KSTREAMS
67. Services work “Event Driven”, but with the
power to join, filter and aggregate embedded in
each service
The Log ConnectorsConnectors
Producer Consumer
Streaming Engine
68. Services work “Event Driven”, but with
the power to join, filter and
aggregate embedded in each service
customer orders
catalogue
Pay-
ments