Preparing For a Future Microservices Journey Using Wardley Maps - - PowerPoint PPT Presentation

preparing for a future microservices journey using
SMART_READER_LITE
LIVE PREVIEW

Preparing For a Future Microservices Journey Using Wardley Maps - - PowerPoint PPT Presentation

Preparing For a Future Microservices Journey Using Wardley Maps DDD & Susanne Kaiser Independent Tech Consultant @suksr Microservices Architecture Market Key Trends USD ~33 Billion Loose Coupling Market Size (USD Billion) CAGR ~17%


slide-1
SLIDE 1

Preparing For a Future Microservices Journey Using Wardley Maps

Susanne Kaiser Independent Tech Consultant @suksr

DDD &

slide-2
SLIDE 2

Source: https://www.marketresearchfuture.com/reports/microservices-architecture-market-3149

Microservices Architecture Market

Key Trends

Loose Coupling Deployment Domain Driven Design

2016 2017 2018 2019 2020 2021 2022 2023

USD ~33 Billion Market Size (USD Billion) CAGR ~17%

slide-3
SLIDE 3

Source: https://www.infoq.com/articles/architecture-trends-2019/

slide-4
SLIDE 4

Source: https://www.infoq.com/articles/architecture-trends-2019/

slide-5
SLIDE 5

Source: https://en.wikipedia.org/wiki/Hype_cycle#/media/File:Gartner_Hype_Cycle.svg

Microservices ?

Gartner Hype Cycle

slide-6
SLIDE 6

@suksr

slide-7
SLIDE 7

@suksr High cohesion within a service Loose coupling between services

slide-8
SLIDE 8

@suksr High cohesion within a service Loose coupling between services

slide-9
SLIDE 9

@suksr

Data Store

slide-10
SLIDE 10

Data Store

@suksr

Config./Setup Maintenance Integration

slide-11
SLIDE 11

Hardware O/S Virtualization Container Runtime

@suksr

slide-12
SLIDE 12

API Hardware O/S Virtualization Container Runtime

@suksr

slide-13
SLIDE 13

API Hardware O/S Virtualization Container Runtime

@suksr

API API Integration

slide-14
SLIDE 14

API Hardware O/S Virtualization Container Runtime

@suksr

API API Security

slide-15
SLIDE 15

API API API Service Discovery

  • 1. Register
  • 3. Connect
  • 2. Discover

Hardware O/S Virtualization Container Runtime

@suksr

slide-16
SLIDE 16

API API API Service Discovery Load-Balancer Hardware O/S Virtualization Container Runtime

@suksr

slide-17
SLIDE 17

API API API Service Discovery API Timeout-Handling Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer

slide-18
SLIDE 18

API API API Service Discovery API Timeout-Handling Retries Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer

slide-19
SLIDE 19

API API API Service Discovery API Timeout-Handling Retries Idempotency Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer

slide-20
SLIDE 20

API API API Service Discovery API Timeout-Handling Retries Bulk- heads Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-21
SLIDE 21

API API API Service Discovery API Timeout-Handling Retries Bulk- Heads Circuit Breaker Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-22
SLIDE 22

API API API Service Discovery API Timeout-Handling Retries Bulk- heads Circuit Breaker Message Broker Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-23
SLIDE 23

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Circuit Breaker Message Broker API-Gateway Hardware O/S Virtualization Container Runtime

@suksr

Idempotency

slide-24
SLIDE 24

API API API Service Discovery API Timeout-Handling Retries Bulk- heads Message Broker API-Gateway Circuit Breaker Config-Mngmt. Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-25
SLIDE 25

API API API Service Discovery API Timeout-Handling Retries Bulk- heads Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-26
SLIDE 26

API API API Service Discovery API Timeout-Handling Retries Bulk- heads Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM

Checkout Test Build

CI/CD Pipeline

Deploy

Hardware O/S Virtualization Container Runtime

@suksr

Load-Balancer Idempotency

slide-27
SLIDE 27

Recovery API API API Service Discovery API Timeout-Handling Retries Bulk- heads Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM

Checkout Test Build

CI/CD Pipeline

Deploy

Hardware O/S Virtualization Container Runtime Backup

@suksr

Load-Balancer Scaling Idempotency

slide-28
SLIDE 28

µService

@suksr

slide-29
SLIDE 29

Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/S Virtualization Container Runtime

Checkout Test Build

CI/CD Pipeline

Deploy

µService Backup Recovery

@suksr

Scaling Maintenance Integration Security

slide-30
SLIDE 30

Domain Driven Design (DDD) – Terminology

Strategic Design Tactical Design Bounded Context Ubiquitous Language Core Subdomain Supporting Subdomain Generic Subdomain Problem Space Solution Space Context Maps Anti-Corruption Layer Shared Kernel Open Host Service Separate Ways Partnership Customer-Supplier Conformist Domain Model Entity Value Object Aggregate Repository Factory Application Service Domain Service Domain Event

@suksr

slide-31
SLIDE 31

Hardware Data Store

API

API-Gateway

Service Discovery Load-Balancer

Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/S Virtualization Container Runtime Checkout Test Build

CI/CD Pipeline

Deploy µService Backup Recovery Scaling Maintenance Integration Security

Strategic Design Tactical Design Problem Space Solution Space Bounded Context Ubiquitous Language Core Subdomain Supporting Subdomain Generic Subdomain Context Maps Anti-Corruption Layer Shared Kernel Open Host Service Separate Ways Partnership Customer-Supplier Conformist Domain Model Entity Value Object Aggregate Repository Factory Application Service Domain Service Domain Event @suksr

slide-32
SLIDE 32

Value Chain

I n v i s i b l e V i s i b l e

Evolution

Visualisation of a value chain’s evolution

Genesis Custom-Built Product (+rental) Commodity (+utility) P

  • s

i t i

  • n

Movement

Wardley Maps BY SIMON WARDLEY

Uncharted Industrialised @suksr

slide-33
SLIDE 33

Wardley Maps – VALUE CHAIN

Who are your users?

Value Chain

I n v i s i b l e V i s i b l e

@suksr

slide-34
SLIDE 34

Wardley Maps – VALUE CHAIN

Who are your users? What are your users’ needs?

Value Chain

I n v i s i b l e V i s i b l e

@suksr

slide-35
SLIDE 35

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?

Value Chain

I n v i s i b l e V i s i b l e P

  • s

i t i

  • n

@suksr

slide-36
SLIDE 36

Wardley Maps – LANDSCAPE

Value Chain

I n v i s i b l e V i s i b l e

Evolution

Components along evolution axes

Genesis Custom-Built Product (+rental) Commodity (+utility) P

  • s

i t i

  • n

Movement

@suksr

slide-37
SLIDE 37

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Everything evolves

Past Current Future

Supply Competition Demand Competition

Uncharted Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-38
SLIDE 38

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Everything evolves

Past Current Future

Continuous adaption

Wardley Maps – PATTERNS

Movement

Evolution @suksr

slide-39
SLIDE 39

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Past Current Future

Characteristics change

Uncharted Undefined market Uncertain Unpredictable Rare Poorly understood Forming market Learning on use Increasing understanding Slowly increasing consumption Rapid increases in learning Growing market Learning on operation Increasing education Rapidly increasing consumption Rapid increase in use Mature market Known / accepted Stable Widespread and stabilising Commonly understood (in term of use) Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-40
SLIDE 40

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Efficiency enables innovation

Uncharted Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-41
SLIDE 41

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Efficiency enables innovation

Uncharted Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-42
SLIDE 42

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Efficiency enables innovation

Uncharted Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-43
SLIDE 43

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Efficiency enables innovation

Uncharted Industrialised

Wardley Maps – PATTERNS

Movement

@suksr

slide-44
SLIDE 44

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Wardley Maps – PRINCIPLES

Use appropriate methods per evolution stage

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr

slide-45
SLIDE 45

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Use appropriate methods per evolution stage

Wardley Maps – PRINCIPLES

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr

slide-46
SLIDE 46

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Use appropriate methods per evolution stage

Wardley Maps – PRINCIPLES

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr

slide-47
SLIDE 47

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Know your users & focus on user needs

Wardley Maps – PRINCIPLES

Build in-house / Agile Use/buy off-the-shelf product / Lean Outsource to utility suppliers / Six Sigma @suksr

slide-48
SLIDE 48

Domain Driven Design

Ubiquitous Language Domain Knowledge

Understanding the problem domain first before solving it

Problem Domain Domain Experts Development Teams Collaboration @suksr

slide-49
SLIDE 49

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

DDD & Wardley Maps

Problem Domain

Strategic Design

DDD Patterns & Practices

Tactical Design

@suksr

S t r a t e g i c D e s i g n T a c t i c a l D e s i g n

slide-50
SLIDE 50

Value Chain

I n v i s i b l e V i s i b l e 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

P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A n a l y s e & D i s c

  • v

e r

slide-51
SLIDE 51

Value Chain

I n v i s i b l e V i s i b l e 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

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A n a l y s e & D i s c

  • v

e r D e c

  • m

p

  • s

e & M a p High-Level Design Decisions

slide-52
SLIDE 52

Value Chain

I n v i s i b l e V i s i b l e 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

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A n a l y s e & D i s c

  • v

e r A r c h i t e c t & I m p l e m e n t High-Level Design Decisions Low-Level Design Decisions D e c

  • m

p

  • s

e & M a p

slide-53
SLIDE 53

A n a l y s e & D i s c

  • v

e r

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Distilling the problem domain & discovering the core subdomain

DDD & Wardley Maps

Core Subdomain Problem Domain

STRATEGIC DESIGN (PROBLEM SPACE)

Supporting Subdomain Generic Subdomain @suksr

P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

slide-54
SLIDE 54

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Distilling the problem domain & discovering the core subdomain

DDD & Wardley Maps

Core Subdomain Problem Domain Competitive advantage Complex Changes often Build in-house

STRATEGIC DESIGN (PROBLEM SPACE)

Supporting Subdomain Generic Subdomain @suksr

A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

slide-55
SLIDE 55

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Distilling the problem domain & discovering the core subdomain

DDD & Wardley Maps

Core Subdomain Problem Domain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf

STRATEGIC DESIGN (PROBLEM SPACE)

Supporting Subdomain Generic Subdomain @suksr

A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

slide-56
SLIDE 56

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Distilling the problem domain & discovering the core subdomain

DDD & Wardley Maps

Core Subdomain Problem Domain Competitive advantage Complex Changes often Build in-house No competitive advantage Quite simple Does not change often Prefer to buy/use off-the-shelf No competitive advantage Generally complex Does not change often Buy/use off-the-shelf / outsource

STRATEGIC DESIGN (PROBLEM SPACE)

Supporting Subdomain Generic Subdomain @suksr

A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

slide-57
SLIDE 57

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Model Driven Design

DDD & Wardley Maps

STRATEGIC 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

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n

slide-58
SLIDE 58

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Bounded Contexts

DDD & Wardley Maps

STRATEGIC 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

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-59
SLIDE 59

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Know your users & focus on user needs

Submit Session

DDD & Wardley Maps

STRATEGIC DESIGN (PROBLEM SPACE) Speaker

@suksr

A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

slide-60
SLIDE 60

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

STRATEGIC DESIGN (PROBLEM SPACE)

Discovering subdomains

Supporting Generic Core @suksr

A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n

slide-61
SLIDE 61

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

STRATEGIC DESIGN (SOLUTION SPACE)

Supporting Generic Core

Event Evaluation Account Schedule Message Session

Domain Models

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n

slide-62
SLIDE 62

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

Event Evaluation Account Schedule Message Speaker Session CfP

STRATEGIC DESIGN (SOLUTION SPACE)

Domain Models

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-63
SLIDE 63

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

Event Evaluation Account Schedule Message Speaker Profile Submitted Session CfP Settings Recipient Open CfP Evaluated Session Scheduled Session

STRATEGIC DESIGN (SOLUTION SPACE)

Domain Models

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-64
SLIDE 64

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

STRATEGIC DESIGN (SOLUTION SPACE)

Bounded Contexts

Linguistic/semantic boundary Model integrity boundary

Event Evaluation Account Schedule Message Submitted Session CfP Settings Recipient Open CfP Evaluated Session Scheduled Session Speaker Profile Session Evaluation Submission Handling Event Mngmnt. Schedule Mngmnt. Messaging Account Handling

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-65
SLIDE 65

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

STRATEGIC DESIGN (SOLUTION SPACE)

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

Bounded Contexts

Ownership boundary Linguistic/semantic boundary Model integrity boundary @suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-66
SLIDE 66

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

STRATEGIC DESIGN (SOLUTION SPACE)

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

Bounded Contexts

Ownership boundary Linguistic/semantic boundary Model integrity boundary Physical boundary

SCM Data store CI/CD Artefact

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S t r a t e g i c D e s i g n S

  • l

u t i

  • n

S p a c e

slide-67
SLIDE 67

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

TACTICAL DESIGN

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

Architectural Patterns

Architectural patterns can differ per Bounded Context, e.g.

Layered Architecture Hexagonal Architecture CQRS

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n t

slide-68
SLIDE 68

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

TACTICAL DESIGN

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

Business Logic Implementation Patterns

Business logic implementation patterns can differ per Bounded Context, e.g.

Domain Model Active Record Transaction Script

@suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n t

slide-69
SLIDE 69

Example

BC: EVENT MANAGEMENT

Event create: Event activate reschedule rename EventId id: string Name create: Name name: string EventStatus CREATED ACTIVATED DEACTIVATED deactivate Description create: Description desc: string Period create: Period start: Date end: Date

Value Object Entity Aggregate Root Aggregate @suksr EventController MongoDBEventRepository

EventModel

EventApplicationService EventRepository

POST /events/{id}/activate POST /events DELETE /events/{id}

Inner Outer Outside

(Port) (Adapter) (Adapter) (Port)

slide-70
SLIDE 70

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

TACTICAL DESIGN

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

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 -

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

e r P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n t

slide-71
SLIDE 71

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Wardley Maps

Supporting Generic Core

INFRASTRUCTURE MAPPING

@suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Understand the involved components and their dependencies (position)

P

  • s

i t i

  • n

Data Storage I n f r a s t r u c t u r e

slide-72
SLIDE 72

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Understand the involved components and their dependencies (position)

Data Storage Search Engine

Wardley Maps

INFRASTRUCTURE MAPPING

P

  • s

i t i

  • n

I n f r a s t r u c t u r e

slide-73
SLIDE 73

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Understand the involved components and their dependencies (position)

Data Storage Search Engine Compute Platform

Wardley Maps

INFRASTRUCTURE MAPPING

P

  • s

i t i

  • n

I n f r a s t r u c t u r e

slide-74
SLIDE 74

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Understand the involved components and their dependencies (position)

Data Storage Search Engine Compute Platform VM

Wardley Maps

INFRASTRUCTURE MAPPING

P

  • s

i t i

  • n

I n f r a s t r u c t u r e

slide-75
SLIDE 75

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Data Storage Search Engine Compute Platform VM Movement

Plot components along evolution axes (movement) and use appropriate method per evolution stage

Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

I n f r a s t r u c t u r e

slide-76
SLIDE 76

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Data Storage Search Engine Compute Platform VM Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Infrastructure & operational complexities

Wardley Maps

INFRASTRUCTURE MAPPING

I n f r a s t r u c t u r e

slide-77
SLIDE 77

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Data related components & activities

Compute Platform Data Storage Search Engine VM

Wardley Maps

INFRASTRUCTURE MAPPING

I n f r a s t r u c t u r e

slide-78
SLIDE 78

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

DDD & Wardley Maps

Supporting Generic Core

TACTICAL DESIGN

@suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Search Engine Compute Platform Data Storage VM

Service related components & activities

I n f r a s t r u c t u r e

slide-79
SLIDE 79

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D . Schedule Session Event Submission w/ Speakers Submission Handling Event Mngmnt. Session Evaluation Schedule Mngmnt. Messaging Account Handling

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Search Engine Compute Platform Data Storage VM

Service interaction related components & activities

Wardley Maps

INFRASTRUCTURE MAPPING

I n f r a s t r u c t u r e

slide-80
SLIDE 80

command query

Request-Driven

@suksr

API API

Service Interactions

slide-81
SLIDE 81

command query

Request-Driven

Message Broker publish subscribe

Event-Driven

@suksr

API API

Service Interactions

slide-82
SLIDE 82

command query Message Broker publish subscribe command query

Request-Driven Hybrid

Message Broker publish subscribe

Event-Driven

@suksr

API API API

Service Interactions

slide-83
SLIDE 83

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Search Engine Compute Platform Data Storage VM

Request-driven related components & activities

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. I n f r a s t r u c t u r e

slide-84
SLIDE 84

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Compute Platform VM

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H.

Event-driven & hybrid related components & activities

Message Broker Search Engine Data Storage I n f r a s t r u c t u r e

slide-85
SLIDE 85

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Compute Platform VM

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. Message Broker Search Engine Data Storage

Discuss & plan

I n f r a s t r u c t u r e

slide-86
SLIDE 86

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Compute Platform VM

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. Message Broker Search Engine Data Storage

Discuss & plan Open Source Software

I n f r a s t r u c t u r e

slide-87
SLIDE 87

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS

Example

Message Broker Search Engine Data Storage Compute Platform VM

Open Source Software

I n f r a s t r u c t u r e

slide-88
SLIDE 88

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS Message Broker Search Engine Data Storage Compute Platform VM

Discuss & plan Offload to cloud hosted services

I n f r a s t r u c t u r e

slide-89
SLIDE 89

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE 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 I n f r a s t r u c t u r e

slide-90
SLIDE 90

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE 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

  • rchestration platform

ID aaS I n f r a s t r u c t u r e

slide-91
SLIDE 91

Managed by YOU Managed by Platform Hardware 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 Orchestration

API Gateway

slide-92
SLIDE 92

Containerized Microservice Pod Service Volume

Deployment Master Node Worker Node Worker Node Ingress Deployment Deployment

Container Orchestration

BASIC COMPONENTS OF KUBERNETES

slide-93
SLIDE 93

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS VM DB aaS MB aaS Worker Nodes Master Node SE aaS

Container Orchestration w/ Kubernetes

Compute Platform ID aaS

slide-94
SLIDE 94

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS VM DB aaS MB aaS Worker Nodes Master Node SE aaS

Container Orchestration w/ Kubernetes

Compute Platform Pod Deploym. Volume Ingress Service

New Primitives

ID aaS

slide-95
SLIDE 95

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS VM DB aaS MB aaS Worker Nodes Master Node SE aaS

Container Orchestration w/ Kubernetes

Compute Platform Pod Deploym. Volume Ingress Service Secret Stateful Set Cron Job Job Config Map Network Policy Replica Set Daemon Set Horizontal Pod Autoscaler Persistent Volume Claim Egress more ... ID aaS I n f r a s t r u c t u r e

slide-96
SLIDE 96

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. OSS VM DB aaS MB aaS Worker Nodes Master Node SE aaS Compute Platform Container Orchestration

Discuss & plan Offload application networking concerns to a service mesh

ID aaS I n f r a s t r u c t u r e

slide-97
SLIDE 97

Circuit Breaker Timeout Retries Kubernetes / Service Mesh Sidecar Proxy

Application Networking Concerns

@suksr

Metrics Security Sidecar Proxy Distributed Tracing Log Aggregation

Separation Of Concerns

SERVICE MESH

slide-98
SLIDE 98

Proxy Proxy Microservice Microservice Policy & Telemetry (Mixer) Discovery & Config to Proxies (Pilot) Config (Galley) TLS Certs to Proxies (Citadel)

Data Plane Control Plane

HTTP, gRPC, TCP mTLS

Service Mesh

COMPONENTS OF ISTIO

slide-99
SLIDE 99

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. VM DB aaS MB aaS Worker Nodes Master Node SE aaS Container Orchestration ID aaS Destination Rule Gateway Service Entry Policy ServiceRole /

  • Binding ClusterRbac

Config Virtual Service

Service Mesh

I n f r a s t r u c t u r e

slide-100
SLIDE 100

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Manage

Organiser

Build & Publish Communicate Signup/Signin

Speaker

Submit

Supporting Generic Core @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D .

Schedule Session Event Submission w/ Speakers

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers

Wardley Maps

INFRASTRUCTURE MAPPING

Submission H. Event M. Session Eval. Schedule M. Messaging Account H. VM DB aaS MB aaS Worker Nodes Master Node SE aaS Container Orchestration ID aaS Service Mesh

Discuss & plan Move to Serverless

I n f r a s t r u c t u r e

slide-101
SLIDE 101

Function Event

Event-Driven Workflow

Hardware Data Store O/S Virtualization Container Runtime

Fully Managed By Third Party Ephemeral Function Pay-per-Execution Auto-Scaling

@suksr

triggers

Serverless w/ FaaS

CHARACTERISTICS

slide-102
SLIDE 102

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

slide-103
SLIDE 103

ApiGatewayAdapter DynamoDBAdapter EventModel EventApplicationService EventRepository DynamoDB newEvent API Gateway Manage Event

Organiser

Event Management

slide-104
SLIDE 104

ApiGatewayAdapter DynamoDBAdapter EventModel EventApplicationService EventRepository EventPublisher SNSTopicAdapter DynamoDB SNS newEvent activateEvent API Gateway Manage Event

Organiser

Event Management

slide-105
SLIDE 105

ApiGatewayAdapter DynamoDBAdapter EventModel EventApplicationService EventRepository EventPublisher SNSTopicAdapter DynamoDB SNS newEvent activateEvent API Gateway Manage Event DynamoDBAdapter SessionModel SessionApplicationService SessionRepository DynamoDB SNSTopicAdapter eventActivated

Organiser

Event Management Session Handling

slide-106
SLIDE 106

ApiGatewayAdapter DynamoDBAdapter EventModel EventApplicationService EventRepository EventPublisher SNSTopicAdapter DynamoDB SNS newEvent activateEvent API Gateway Manage Event ApiGatewayAdapter DynamoDBAdapter SessionModel SessionApplicationService SessionRepository DynamoDB submitSession API Gateway Submit Session SNSTopicAdapter eventActivated S3Adapter S3 pictureUploaded

Organiser Speaker

Event Management Session Handling

slide-107
SLIDE 107

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Evaluate Submissions Manage Event

Organiser

Build & Publish Schedule Communicate w/ Speakers Signup/Signin

Speaker

Submit Session

DDD & Wardley Maps

Supporting Generic Core

TACTICAL DESIGN

Submission Handling Event Mngmnt. Session Evaluation Messaging Account Handling Schedule Mngmnt.

Build in-house Use/buy off-the-shelf product Outsource to utility suppliers @suksr

P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n

Serverless w/ FaaS

API Gateway Lambda DynamoDB S3 SNS Cognito SE aaS I n f r a s t r u c t u r e

slide-108
SLIDE 108

Serverless Infrastructure Providers

slide-109
SLIDE 109

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Summary

@suksr

Know your users & user needs

slide-110
SLIDE 110

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Summary

Supporting Generic Core @suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

. P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p . S t r a t e g i c D e s i g n

Know your users & user needs Understand the problem first and focus on core domain

slide-111
SLIDE 111

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Summary

Supporting Generic Core @suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

. P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n 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

slide-112
SLIDE 112

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Summary

Supporting Generic Core @suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

. P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n t I n f r a s t r u c t u r 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

slide-113
SLIDE 113

Value Chain

I n v i s i b l e V i s i b l e Genesis Custom-Built Product (+rental) Commodity (+utility)

Evolution

Summary

Supporting Generic Core @suksr

D e c

  • m

p

  • s

e & M a p A n a l y s e & D i s c

  • v

. P r

  • b

l e m S p a c e S

  • l

u t i

  • n

S p a c e S t r a t e g i c D e s i g n T a c t i c a l D e s i g n A r c h i t e c t & I m p l e m e n t I n f r a s t r u c t u r 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

slide-114
SLIDE 114

Susanne Kaiser Independent Tech Consultant @suksr susanne@kaiser-consulting.net