microservices and full ownership scaling your teams using · 25 consum-er team business team...
TRANSCRIPT
Scaling your teams using microservices and full ownership
Martin Andersen | microcph | May 16, 2017
1
Me
2
3
4
A bit of history
5
Monolith3w sprints/releases
Test-days
6
.NET/C#100+ projects
1 repo/solution
7
8
WebsWeb/Backend
MainLib/WebExtension
Lib/I18nShared/Foundation
9
10
DDD
Bounded contexts
11
API-first
12
131 server, n services 1 server, 1 service
14
Organizational Scaling
2012: 1 team2013: 2 teams
15
16Ref: https://grasshopperherder.com/lean-startup-in-the-enterprise-anti-pattern-the-lean-waterfall/
17Ref: https://grasshopperherder.com/lean-startup-in-the-enterprise-anti-pattern-the-lean-waterfall/
PM TL
UX
ENG
ENG
ENG
Development teamProduct team
UX
PM
PM
TL UX
ENG
ENG
ENG
Productteam
PM
TL UX
ENG
ENG
MKT
Cross functionalteam
DSC BA
Full ownership
21
22
23
Team A Team B Team C Team D
Context 1
Context 4 Context 6 Context 8
Context 3 Context 5 Context 7
Context 2
24
Angry Birds
Bad Piggies
Mighty Eagles
Golden Eggs
Context 1
Context 4 Context 6 Context 8
Context 3 Context 5 Context 7
Context 2
Context 7
Context 8
Context 9
Context 10
Context 11
25
Consum-er Team
Business Team
TrustBox-es
Data Products
Context 1
Context 4 Context 6 Context 8
Context 3 Context 5 Context 7
Context 2
Context 7
Context 8
Context 9
Context 10
Context 11
Growth Team
Context 15
Context 14Context 13Context 12
Context 16
Context 15
26
Consum-er Team
Business Team
TrustBox-es
Data Products
Context 1
Context 4 Context 6 Context 8
Context 3 Context 5 Context 7
Context 2
Context 7
Context 8
Context 9
Context 10
Context 11
Growth Team
Context 15
Context 14Context 13Context 12
Context 16
Context 15
Open Source model
27
28
29
Consum-er Team
Business Team
TrustBox-es
Data Products
Growth Team
30
31
Eng. Director
Team TeamTeam
E E E E E E EEE E E
UX Director
Product Director
PM PM PMUX
Technical Scaling
32
33
34
API Processing
SQS
35
Publisher
Subscriber
Subscriber
Subscriber
Subscriber
Subscriber
SNS
Batching
36
Aggregate APIs
37
38
Client
API
API
API
API
Context
39
Client
API
API
API
APIAPI
40
Client
Event
Processing
API
40
API
API
API
API
Learnings
41
42
Naming things
43
Naming things
44
45
Communication
46
47
Automation andProvisioning
48
49
Shared code ownership
50
Pain-driven development
51
3rd party services
52
Containerization
53
Serverless
54
Today
55
10 teams+ Lithuania
56
57
58
59
~130 deployments / week
60
Martin Andersen | Trustpilot | jobs.trustpilot.com61