preparing for a future microservices journey using wardley ...€¦ · wardley maps – patterns...
TRANSCRIPT
Preparing For a FutureMicroservices JourneyUsing Wardley Maps
Susanne KaiserIndependent Tech Consultant
@suksr
DDD &
Source: https://www.marketresearchfuture.com/reports/microservices-architecture-market-3149
Microservices Architecture MarketKey Trends
Loose Coupling
Deployment
Domain Driven Design2016 2017 2018 2019 2020 2021 2022 2023
USD ~33 BillionM
arke
t Size
(USD
Billi
on)
CAGR ~17%
Source: https://www.infoq.com/articles/architecture-trends-2019/
Source: https://www.infoq.com/articles/architecture-trends-2019/
Source: https://en.wikipedia.org/wiki/Hype_cycle#/media/File:Gartner_Hype_Cycle.svg
Microservices ?
Gartner Hype Cycle
@suksr
@suksr
High cohesion within a service
Loose coupling between services
@suksr
High cohesion within a service
Loose coupling between services
@suksr
Data Store
Data Store
@suksr
Config./Setup
Maintenance
Integration
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API API
Integration
API
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API API
Security
API
API API Service Discovery
1. Register
3. Connect
2. Discover
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API
API API Service Discovery
Load-Balancer
Hardware
O/S
Virtualization
Container
Runtime
@suksr
API
API API Service Discovery
API
Timeout-Handling
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
API
API API Service Discovery
API
Timeout-Handling
Retries
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
API
API API Service Discovery
API
Timeout-Handling
Retries
Idempotency
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-Heads
Circuit Breaker
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Circuit Breaker
Message Broker
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
API
API API Service Discovery
Load-Balancer
API
Timeout-Handling
RetriesBulk-heads Circuit Breaker
Message Broker
API-Gateway
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Idempotency
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Message Broker
API-Gateway
Circuit Breaker
Config-Mngmt.
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Message Broker
API-Gateway
Circuit Breaker
Config-Mngmt.
Monitoring
Log Aggreation
Metrics
Distributed Tracing
Health ChecksHardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Message Broker
API-Gateway
Circuit Breaker
Config-Mngmt.
Monitoring
Log Aggreation
Metrics
Distributed Tracing
Health Checks
SCMCheckout TestBuild
CI/CD PipelineDeploy
Hardware
O/S
Virtualization
Container
Runtime
@suksr
Load-Balancer
Idempotency
Recovery
API
API API Service Discovery
API
Timeout-Handling
RetriesBulk-heads
Message Broker
API-Gateway
Circuit Breaker
Config-Mngmt.
Monitoring
Log Aggreation
Metrics
Distributed Tracing
Health Checks
SCMCheckout TestBuild
CI/CD PipelineDeploy
Hardware
O/S
Virtualization
Container
Runtime
Backup@suksr
Load-Balancer
Scaling
Idempotency
µService
@suksr
Hardware Data Store
API API-Gateway Service Discovery Load-BalancerMessage Broker
Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker
Config-Mngmt.Monitoring Log Aggreation Metrics Distributed
TracingHealth Checks
SCM
O/SVirtualization Container Runtime
Checkout TestBuild CI/CD Pipeline
Deploy
µService
Backup Recovery
@suksr
Scaling
Maintenance
Integration
Security
Domain Driven Design (DDD) – TerminologyStrategic DesignTactical Design
Bounded ContextUbiquitous Language
Core SubdomainSupporting SubdomainGeneric Subdomain
Problem SpaceSolution Space
Context MapsAnti-Corruption LayerShared KernelOpen Host ServiceSeparate WaysPartnershipCustomer-SupplierConformist
Domain ModelEntity Value ObjectAggregateRepositoryFactoryApplication ServiceDomain ServiceDomain Event
@suksr
Hardware Data Store
API API-Gateway Service Discovery Load-BalancerMessage Broker
Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker
Config-Mngmt.Monitoring Log Aggreation Metrics Distributed
TracingHealth Checks
SCM
O/SVirtualization Container Runtime
Checkout TestBuild CI/CD Pipeline
Deploy
µService
Backup Recovery
Scaling
Maintenance
Integration
Security
Strategic DesignTactical Design
Problem SpaceSolution Space
Bounded ContextUbiquitous Language
Core SubdomainSupporting SubdomainGeneric Subdomain
Context MapsAnti-Corruption LayerShared KernelOpen Host ServiceSeparate WaysPartnershipCustomer-SupplierConformist
Domain ModelEntity Value ObjectAggregateRepositoryFactoryApplication ServiceDomain ServiceDomain Event
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Evolution
Visualisation of a value chain’s evolution
Genesis Custom-Built Product (+rental) Commodity (+utility)
Posit
ion
Movement
Wardley Maps BY SIMON WARDLEY
Uncharted Industrialised
@suksr
Wardley Maps – VALUE CHAIN
Who are your users?
Valu
e Ch
ainIn
visib
leVi
sible
@suksr
Wardley Maps – VALUE CHAIN
Who are your users?
What are your users’ needs?
Valu
e Ch
ainIn
visib
leVi
sible
@suksr
Wardley Maps – VALUE CHAIN
Who are your users?
What are your users’ needs?
What are the components/activities to fulfill your users’ needs incl. dependencies?
Valu
e Ch
ainIn
visib
leVi
sible
Posit
ion
@suksr
Wardley Maps – LANDSCAPE
Valu
e Ch
ainIn
visib
leVi
sible
Evolution
Components alongevolution axes
Genesis Custom-Built Product (+rental) Commodity (+utility)
Posit
ion
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Everything evolves
Past Current Future
Supply CompetitionDemand Competition
Uncharted Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Everything evolves
Past Current Future
Continuous adaption
Wardley Maps – PATTERNS
Movement
Evolution @suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Past Current Future
Characteristics changeUncharted
Undefined marketUncertain
UnpredictableRare
Poorly understood
Forming marketLearning on use
Increasing understandingSlowly increasing
consumptionRapid increases in
learning
Growing marketLearning on operationIncreasing educationRapidly increasing
consumptionRapid increase in use
Mature marketKnown / accepted
StableWidespread and stabilising
Commonly understood(in term of use)
Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Efficiency enables innovation
Uncharted Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Efficiency enables innovation
Uncharted Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)
Efficiency enables innovation
Uncharted Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Efficiency enables innovation
Uncharted Industrialised
Wardley Maps – PATTERNS
Movement
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Wardley Maps – PRINCIPLES
Use appropriate methodsper evolution stage
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Use appropriate methodsper evolution stage
Wardley Maps – PRINCIPLES Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Use appropriate methodsper evolution stage
Wardley Maps – PRINCIPLES Build in-house Use/buy off-the-shelf product
Outsource to utility suppliers
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Know your users &focus on user needs
Wardley Maps – PRINCIPLES Build in-house / AgileUse/buy off-the-shelf product / Lean
Outsource to utility suppliers / Six Sigma
@suksr
Domain Driven Design
Ubiquitous Language
Domain Knowledge
Understanding the problem domain firstbefore solving it
Problem Domain
Domain Experts
Development Teams
Collaboration
@suksr
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
DDD & Wardley Maps Problem Domain
Strategic Design
DDD Patterns & Practices
Tactical Design
@suksr
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
DDD & Wardley Maps Problem Domain
Strategic Design
DDD Patterns & Practices
Tactical Design
Analysing the business domain
Discovering Subdomains
Problem Space
@suksr
Prob
lem
Spa
ceSt
rate
gic D
esig
nTa
ctica
l Des
ign
Analy
se &
Disc
over
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
DDD & Wardley Maps Problem Domain
Strategic Design
DDD Patterns & Practices
Tactical Design
Analysing the business domain
Discovering Subdomains
Problem Space
Decomposing into modular components (Bounded Contexts (BC))
Mapping interaction patterns between BC (Context Maps)
Solution Space
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Analy
se &
Disc
over
Deco
mpo
se &
Map High-Level
Design Decisions
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
DDD & Wardley Maps Problem Domain
Strategic Design
DDD Patterns & Practices
Tactical Design
Architecting a solution fitting the problem domain as closely as possible
Provides building blocks to implement domain model
Analysing the business domain
Discovering Subdomains
Problem Space
Decomposing into modular components (Bounded Contexts (BC)
Mapping interaction patterns between BC (Context Maps)
Solution Space
@suksr
Solution Space
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Analy
se &
Disc
over
Arch
itect
&
Impl
emen
t
High-Level Design Decisions
Low-Level Design Decisions
Deco
mpo
se &
Map
Analy
se &
Disc
over
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Distilling the problemdomain & discovering the
core subdomain
DDD & Wardley Maps
Core Subdomain
Problem DomainSTRATEGIC DESIGN (PROBLEM SPACE)
Supporting Subdomain
Generic Subdomain
@suksr
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Distilling the problemdomain & discovering the
core subdomain
DDD & Wardley Maps
Core Subdomain
Problem Domain
Competitive advantage ComplexChanges oftenBuild in-house
STRATEGIC DESIGN (PROBLEM SPACE) Supporting Subdomain
Generic Subdomain
@suksr
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Distilling the problemdomain & discovering the
core subdomain
DDD & Wardley Maps
Core Subdomain
Problem Domain
Competitive advantage ComplexChanges oftenBuild in-house
No competitive advantage Quite simpleDoes not change oftenPrefer to buy/use off-the-shelf
STRATEGIC DESIGN (PROBLEM SPACE) Supporting Subdomain
Generic Subdomain
@suksr
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Distilling the problemdomain & discovering the
core subdomain
DDD & Wardley Maps
Core Subdomain
Problem Domain
Competitive advantage ComplexChanges oftenBuild in-house
No competitive advantage Quite simpleDoes not change oftenPrefer to buy/use off-the-shelf
No competitive advantage Generally complexDoes not change oftenBuy/use off-the-shelf / outsource
STRATEGIC DESIGN (PROBLEM SPACE) Supporting Subdomain
Generic Subdomain
@suksr
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Deco
mpo
se &
Map
Analy
se &
Disc
over
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Model Driven DesignDDD & Wardley MapsSTRATEGIC DESIGN (SOLUTION SPACE)
Development Teams
Domain Experts
Ubiquitous Language
Analysis Model
Code Model
Domain Model
Core Subdomain
Supporting Subdomain
Generic Subdomain
Problem Domain
abstracted by
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Bounded ContextsDDD & Wardley MapsSTRATEGIC DESIGN (SOLUTION SPACE)
Core Subdomain
Supporting Subdomain
Generic Subdomain
Problem Domain
Linguistic/semantic boundary
Ownership boundary
Model integrity boundary
Physical boundary
Different architectural patterns per context possible
@suksr
Microservice candidates
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Know your users &focus on user needs
Submit Session
DDD & Wardley MapsSTRATEGIC DESIGN (PROBLEM SPACE)
Speaker
@suksr
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley MapsSTRATEGIC DESIGN (PROBLEM SPACE) Discovering
subdomainsSupporting GenericCore
@suksr
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
n
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley MapsSTRATEGIC DESIGN (SOLUTION SPACE)
Supporting GenericCore
Event Evaluation AccountSchedule MessageSession
Domain Models
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
Event Evaluation AccountSchedule Message
Speaker
Session
CfP
STRATEGIC DESIGN (SOLUTION SPACE)Domain Models
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
Event Evaluation AccountSchedule Message
Speaker Profile
Submitted Session
CfP Settings
RecipientOpen CfP Evaluated
SessionScheduled Session
STRATEGIC DESIGN (SOLUTION SPACE)Domain Models
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
STRATEGIC DESIGN (SOLUTION SPACE)Bounded Contexts
Linguistic/semantic boundary
Model integrity boundary
Event Evaluation AccountSchedule MessageSubmitted Session
CfP Settings
RecipientOpen CfP Evaluated
SessionScheduled Session
Speaker Profile SessionEvaluation
SubmissionHandling
EventMngmnt.
ScheduleMngmnt.
Messaging
Account Handling
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
STRATEGIC DESIGN (SOLUTION SPACE)
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
Bounded Contexts
Ownership boundary
Linguistic/semantic boundary
Model integrity boundary
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
STRATEGIC DESIGN (SOLUTION SPACE)
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
Bounded Contexts
Ownership boundary
Linguistic/semantic boundary
Model integrity boundary
Physical boundary
SCM
Data store
CI/CD
Artefact
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSt
rate
gic D
esig
nSo
lutio
n Sp
ace
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
TACTICAL DESIGN
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
Architectural Patterns
Architectural patterns can differ per Bounded Context, e.g.
Layered Architecture
Hexagonal Architecture
CQRS
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Arch
itect
&
Impl
emen
t
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
TACTICAL DESIGN
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
Business Logic Implementation Patterns
Business logic implementation patterns can differ per Bounded Context, e.g.
Domain Model
Active Record
Transaction Script
@suksr
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Arch
itect
&
Impl
emen
t
ExampleBC: EVENT MANAGEMENT
Event
create: Eventactivate
reschedulerename
EventIdid: string
Name
create: Namename: string
EventStatusCREATEDACTIVATEDDEACTIVATED
deactivate
Description
create: Description
desc: string
Period
create: Period
start: Dateend: Date
Value Object
Entity
Aggregate Root
Aggregate
@suksr
EventController
MongoDBEventRepository
EventModel
EventApplicationService
EventRepository
POST /events/{id}/activatePOST /events DELETE /events/{id}
InnerOuter
Outside
(Port)
(Adapter)
(Adapter)
(Port)
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
TACTICAL DESIGN
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
DDD suits best for the core subdomain
Movement
Build in-house Use/buy off-the-shelf product
Outsource to utility suppliers
- or -- or -
@suksr
- or -
Deco
mpo
se &
Map
Analy
se &
Disc
over
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
n
Arch
itect
&
Impl
emen
t
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Wardley Maps
Supporting GenericCore
INFRASTRUCTURE MAPPING
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Understand the involved components and their dependencies (position)
Posit
ion
Data Storage
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Understand the involved components and their dependencies (position)
Data StorageSearch Engine
Wardley MapsINFRASTRUCTURE MAPPING
Posit
ionInfra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Understand the involved components and their dependencies (position)
Data StorageSearch Engine
Compute Platform
Wardley MapsINFRASTRUCTURE MAPPING
Posit
ionInfra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Understand the involved components and their dependencies (position)
Data StorageSearch Engine
Compute Platform
VM
Wardley MapsINFRASTRUCTURE MAPPING
Posit
ionInfra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Data Storage
Search Engine
Compute Platform
VMMovement
Plot components alongevolution axes (movement)and use appropriate methodper evolution stage
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Data Storage
Search Engine
Compute Platform
VM
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Infrastructure & operational complexities
Wardley MapsINFRASTRUCTURE MAPPING
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Data related components & activities
Compute Platform
Data Storage
Search Engine
VM
Wardley MapsINFRASTRUCTURE MAPPING
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
DDD & Wardley Maps
Supporting GenericCore
TACTICAL DESIGN
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Search Engine
Compute Platform
Data Storage
VM
Service related components & activities
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
SubmissionHandling
EventMngmnt.
SessionEvaluation
ScheduleMngmnt. Messaging Account
Handling
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Search Engine
Compute Platform
Data Storage
VM
Service interaction related components &
activities
Wardley MapsINFRASTRUCTURE MAPPING
Infra
stru
ctur
e
command
query
Request-Driven
@suksr
API
API
Service Interactions
command
query
Request-Driven
Message Broker
publish subscribe
Event-Driven
@suksr
API
API
Service Interactions
command
query
Message Broker
publish subscribe
command
query
Request-Driven Hybrid
Message Broker
publish subscribe
Event-Driven
@suksr
API
API
API
Service Interactions
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Search Engine
Compute Platform
Data Storage
VM
Request-driven related components & activities
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Compute Platform
VM
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
Event-driven & hybrid related components &
activities
Message Broker
Search Engine
Data Storage
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Compute Platform
VM
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
Message Broker
Search Engine
Data Storage
Discuss & plan
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Compute Platform
VM
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
Message Broker
Search Engine
Data Storage
Discuss & plan
Open Source Software
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
Example
Message Broker
Search Engine Data
StorageCompute Platform
VM
Open Source Software
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
Message Broker
Search Engine Data
StorageCompute Platform
VM
Discuss & plan
Offload to cloud hosted services
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
Compute Platform VM
DB aaS
SE aaS
MB aaS
Offload to cloud hosted services
ID aaS
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
Compute Platform VM
DB aaS
SE aaS
MB aaS
Discuss & plan
Offload to container orchestration platform
ID aaS
Infra
stru
ctur
e
Managed by YOUManaged by PlatformHardware
O/S
Virtualization
Container
Runtime
O/S
Orchestration
µService
Container
Runtime
µService Service Discovery
Load Balancer
Config-Mngmt.
Monitoring
Log Aggreation
Health Checks
Recovery Scaling
@suksr
Container OrchestrationAPI Gateway
Containerized Microservice
Pod
Service
Volume
Deployment
Master Node
Worker NodeWorker Node
Ingress
Deployment Deployment
Container OrchestrationBASIC COMPONENTS OF KUBERNETES
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaS
Container Orchestrationw/ Kubernetes
Compute Platform
ID aaS
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaS
Container Orchestrationw/ Kubernetes
Compute Platform
Pod Deploym. Volume IngressService
New Primitives
ID aaS
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaS
Container Orchestrationw/ Kubernetes
Compute Platform
Pod Deploym. Volume IngressServiceSecretStatefulSet
CronJob
JobConfigMap
NetworkPolicy
ReplicaSet
DaemonSet
HorizontalPod Autoscaler
PersistentVolumeClaimEgress
more ...
ID aaS
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
OSS
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaS
Compute Platform
Container Orchestration
Discuss & plan
Offload application networking concerns
to a service mesh
ID aaS
Infra
stru
ctur
e
Circuit Breaker Timeout Retries
Kubernetes / Service Mesh
SidecarProxy
Application Networking Concerns
@suksr
Metrics Security
SidecarProxy
Distributed Tracing Log Aggregation
Separation Of ConcernsSERVICE MESH
Proxy Proxy
Microservice Microservice
Policy & Telemetry(Mixer)
Discovery & Configto Proxies
(Pilot)
Config(Galley)
TLS Certs to Proxies
(Citadel)
Data Plane
Control Plane
HTTP, gRPC, TCP
mTLS
Service MeshCOMPONENTS OF ISTIO
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaSContainer Orchestration
ID aaS
DestinationRule Gateway
ServiceEntry Policy
ServiceRole /-Binding ClusterRbac
Config
VirtualService
Service Mesh
Infra
stru
ctur
e
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Manage
Organiser
Build & Publish Communicate Signup/Signin
Speaker
Submit
Supporting GenericCore
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l D.
ScheduleSession Event Submission w/ Speakers
Build in-houseUse/buy off-the-shelf product
Outsource to utility suppliers
Wardley MapsINFRASTRUCTURE MAPPING
Submission H. Event M. Session Eval. Schedule M. Messaging Account H.
VM
DB aaSMB aaS
Worker Nodes Master Node
SE aaSContainer Orchestration
ID aaS
Service Mesh
Discuss & plan
Move to Serverless
Infra
stru
ctur
e
FunctionEvent
Event-Driven Workflow
Hardware Data StoreO/SVirtualization Container Runtime
Fully Managed By Third Party
Ephemeral Function
Pay-per-ExecutionAuto-Scaling
@suksr
triggers
Serverless w/ FaaSCHARACTERISTICS
Lambda
API Gateway
SNS
SQS
DynamoDB
Step Functions
Core AWS Serverless Building Blocks
S3
Kinesis
CloudWatch
Cognito
@suksr
IAM
and more
Serverless AWS BUILDING BLOCKS
ApiGatewayAdapter
DynamoDBAdapter
EventModel
EventApplicationService
EventRepository
DynamoDB
newEvent
API Gateway
Manage EventOrganiser
Event Management
ApiGatewayAdapter
DynamoDBAdapter
EventModel
EventApplicationService
EventRepository
Even
tPub
lishe
rSN
STop
icAda
pter
DynamoDB
SNS
newEvent activateEvent
API Gateway
Manage EventOrganiser
Event Management
ApiGatewayAdapter
DynamoDBAdapter
EventModel
EventApplicationService
EventRepository
Even
tPub
lishe
rSN
STop
icAda
pter
DynamoDB
SNS
newEvent activateEvent
API Gateway
Manage Event
DynamoDBAdapter
SessionModel
SessionApplicationService
SessionRepository
DynamoDB
SNSTopicAdaptereventActivated
Organiser
Event Management Session Handling
ApiGatewayAdapter
DynamoDBAdapter
EventModel
EventApplicationService
EventRepository
Even
tPub
lishe
rSN
STop
icAda
pter
DynamoDB
SNS
newEvent activateEvent
API Gateway
Manage Event
ApiGatewayAdapter
DynamoDBAdapter
SessionModel
SessionApplicationService
SessionRepository
DynamoDB
submitSession
API Gateway
Submit Session
SNSTopicAdaptereventActivated
S3Adapter
S3
pictureUploaded
Organiser Speaker
Event Management Session Handling
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Evaluate Submissions
Manage Event
Organiser
Build & PublishSchedule
Communicate w/ Speakers
Signup/Signin
Speaker
Submit Session
DDD & Wardley Maps
Supporting GenericCore
TACTICAL DESIGN
SubmissionHandling
EventMngmnt.
SessionEvaluation
Messaging Account Handling
ScheduleMngmnt.
Build in-house Use/buy off-the-shelf product
Outsource to utility suppliers
@suksr
Prob
lem
Spa
ceSo
lutio
n Sp
ace
Stra
tegi
c Des
ign
Tact
ical D
esig
nServerless w/ FaaS
API Gateway
Lambda DynamoDB S3 SNSCognito
SE aaS
Infra
stru
ctur
e
Serverless Infrastructure Providers
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Summary
@suksr
Know your users & user needs
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Summary
Supporting GenericCore
@suksr
Deco
mpo
se&
Map
Analy
se &
Disc
ov.
Prob
lem
Spa
ceSo
lutio
n Sp
.St
rate
gic D
esig
n
Know your users & user needs
Understand the problem first and
focus on core domain
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Summary
Supporting GenericCore
@suksr
Deco
mpo
se&
Map
Analy
se &
Disc
ov.
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l Des
ign
Arch
itect
&
Impl
emen
t - or -- or - - or -
Know your users & user needs
Understand the problem first and
focus on core domain
DDD suits well for your core domain
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Summary
Supporting GenericCore
@suksr
Deco
mpo
se&
Map
Analy
se &
Disc
ov.
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l Des
ign
Arch
itect
&
Impl
emen
t
Infra
stru
ctur
e
Know your users & user needs
Understand the problem first and
focus on core domain
DDD suits well for your core domain
Identify and outsource commodities
Valu
e Ch
ainIn
visib
leVi
sible
Genesis Custom-Built Product (+rental) Commodity (+utility)Evolution
Summary
Supporting GenericCore
@suksr
Deco
mpo
se&
Map
Analy
se &
Disc
ov.
Prob
lem
Spa
ceSo
lutio
n Sp
aceSt
rate
gic D
esig
nTa
ctica
l Des
ign
Arch
itect
&
Impl
emen
t
Infra
stru
ctur
e
Know your users & user needs
Understand the problem first and
focus on core domain
DDD suits well for your core domain
Identify and outsource commodities
Efficiency enables innovation
Susanne KaiserIndependent Tech Consultant