You are on page 1of 26

Microservices

Matthew Renze
SOFTWARE CONSULTANT

@matthewrenze www.matthewrenze.com
Overview Bounded Context
Microservices
Pros and Cons
Demo
Components

Users

UI Sales Support Inventory

Business Sales Support Inventory

Data Access Sales Support Inventory

Database
Problem Domain

Sales Support
Sales opportunity Support ticket
Contact Customer
Sales person Support person
Product Product
Sales territory Resolution
Single Domain Model

Customer

Sales Sales Support


Product Resolution
Territory Opportunity Ticket

Employee
Overlapping Contexts

Sales
Support
Customer

Sales Sales Support


Product Resolution
Territory Opportunity Ticket

Employee
Bounded Contexts

Sales Support
Contact Customer

Sales Sales Support


Product Product Resolution
Territory Opportunity Ticket

Support
Sales Person
Person
Cross-boundary Entities

Sales Support

Contact Customer
Contact ID Customer ID
Contact Type Contact ID
Name Contact Type
Total Revenue Name
Open Tickets
Microservices

Support
Subdivide monoliths
Clearly-defined interfaces
Sales Inventory
Small teams
Independent
Similar to SOA
Marketing Admin
Microservices

Sales Support

Bounded context Team Team

Cohesion/coupling Micro- Micro-


service service
Single domain of knowledge
Consistent data model Domain Domain

Independence

Database Database
Microservices

Sales Support

How small? Team Team


Contact Customer
Where to divide?
Product Product

Microservice per aggregate root Sale Ticket

Database per bounded context Domain Domain

Database Database
Microservices
Why Use Microservices?

Support

Pros
Flatter cost curve Sales Inventory

Cohesion/coupling
Independence
Marketing Admin
Why Use Microservices?

Pros Cons
Flatter cost curve Higher up-front cost
Cohesion/coupling Conway’s Law
Independence Distributed system costs
Microservice Demo

Sales Inventory

Users
Microservice Demo

Sales System

Orders Sales Inventory


Setup 1
Setup 2
Show SalesController (API)
Show Create Sale Command
Show IInventoryService Interface
Show Inventory Service Class
Show IWebClient Interface
Show WebClient Class
Wrap-up
Summary Bounded Context
Microservices
Pros and Cons
Demo

You might also like