SlideShare a Scribd company logo
1 of 185
Download to read offline
PRINCIPLES OF
MICROSERVICES
Sam Newman
Velocity Santa Clara, May 2015
1
@samnewman@velocityconf
@samnewman@velocityconf
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
Small Autonomous services
that work together
@samnewman@velocityconf
5
Show Gilt, Groupon, Netflix, Amazon
@samnewman@velocityconf
5
Show Gilt, Groupon, Netflix, Amazon
@samnewman@velocityconf
5
Show Gilt, Groupon, Netflix, Amazon
@samnewman@velocityconf
@samnewman@velocityconf http://www.12factor.net/
@samnewman@velocityconf
Strategic Goals
Architectural
Principles
Design and Delivery
Practices
Enable scalable
business
More customers/transactions
Self-service for customers
Support entry into
new markets
Flexible operational processes
New products and operational
processes
Support innovation
in existing markets
Flexible operational processes
New products and operational
processes
Reduce inertia
Make choices that favour rapid
feedback and change, with reduced
dependencies across teams.
Eliminate accidental
complexity
Aggressively retire and replace
unnecessarily complex processes,
systems, and integrations so that we
can focus on the essential
complexity.
Consistent interfaces
and data flows
Eliminate duplication of data and
create clear systems of record, with
consistent integration interfaces.
No silver bullets
Off the shelf solutions deliver early
value but create inertia and
accidental complexity.
Standard REST/HTTP
Encapsulate legacy
Eliminate integration
databases
Consolidate and
cleanse data
Published integration
model
Small independent
Services
Continuous
deployment
Minimal customisation
of COTS/SAAS
@samnewman@velocityconf
Small Autonomous services
that work together
@samnewman@velocityconf
10
Principles Of
Microservices
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Deploy
Independently
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Deploy
Independently
Consumer First
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Consumer First
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
Consumer First
@samnewman@velocityconf
10
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
Consumer First
@samnewman@velocityconf
Presentation
Business Logic
Data Access
@samnewman@velocityconf
Presentation
Business Logic
Data Access
@samnewman@velocityconf
Presentation
Business Logic
Data Access
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
@samnewman@velocityconf
Accounts
Returns
Invoicing
Shipping
Inventory
Customer
Service
13https://www.flickr.com/photos/glimeend/5692801655/
14
14
Register a new customer
14
Register a new customer
Oil Change
14
Register a new customer
Emission Test
Oil Change
14
Register a new customer
Emission Test
Replace Tire
Oil Change
14
Register a new customer
Order parts
Emission Test
Replace Tire
Oil Change
14
Register a new customer
Order parts
Emission Test
Replace Tire
Oil Change
Send an invoice
14
Register a new customer
Order parts
Emission Test
Replace Tire
Oil Change
Send an invoice
Make a repair
14
Register a new customer
Order parts
Emission Test
Replace Tire
Oil Change
Send an invoice
Make a repair
Contact a customer
14
Register a new customer
Order parts
Emission TestReplace Tire
Oil Change
Send an invoice
Make a repair
Contact a customer
15
Customer
Management
Maintenance
Inventory
@samnewman@velocityconf
@samnewman@velocityconf
17
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔
Consumer First
@samnewman@velocityconf
17
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔
Consumer First
@samnewman@velocityconf
@samnewman@velocityconf
3 Months
2 Microservices
@samnewman@velocityconf
3 Months
2 Microservices
12 Months
10 Microservices
@samnewman@velocityconf
3 Months
2 Microservices
12 Months
10 Microservices
18 Months
60 Microservices
@samnewman@velocityconf
Infrastructure Automation
@samnewman@velocityconf
Infrastructure Automation
Automated Testing
@samnewman@velocityconf
Infrastructure Automation
Continuous Delivery
Automated Testing
@samnewman@velocityconf
20
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔
Consumer First
@samnewman@velocityconf
20
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation
Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔
Consumer First
@samnewman@velocityconf
DB
@samnewman@velocityconf
DB
@samnewman@velocityconf
DB
@samnewman@velocityconf
DB
@samnewman@velocityconf
DB
HIDE YOUR DATABASE
@samnewman@velocityconf
http://martinfowler.com/bliki/images/boundedContext/sketch.png
@samnewman@velocityconf
http://martinfowler.com/bliki/images/boundedContext/sketch.png
BOUNDED CONTEXTS
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
Client LibraryClient LibraryClient Library
@samnewman@velocityconf
Client Library
Client Library
Client Library
@samnewman@velocityconf
Client Library
Client Library
Client Library
@samnewman@velocityconf
Client Library
BE CAREFUL OF CLIENT LIBRARIES
Client Library
Client Library
@samnewman@velocityconf
24
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔ ✔
Consumer First
@samnewman@velocityconf
24
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔ ✔
Consumer First
@samnewman@velocityconf
@samnewman@velocityconf
What is autonomy?
@samnewman@velocityconf
What is autonomy?
Giving people as much freedom as possible
to do the job at hand
@samnewman@velocityconf
What is autonomy?
Giving people as much freedom as possible
to do the job at hand
@samnewman@velocityconf
DEVOLUTION?
@samnewman@velocityconf
SELF-SERVICE
https://www.flickr.com/photos/katsrcool/15184711908/
@samnewman@velocityconf
http://tech.gilt.com/post/102628539834/making-architecture-work-in-microservice
SHARED GOVERNANCE
@samnewman@velocityconf
OWNER-OPERATOR
https://www.flickr.com/photos/stevendepolo/5939055612
@samnewman@velocityconf
INTERNAL OPEN SOURCE
@samnewman@velocityconf
DUMB-PIPES, SMART ENDPOINTS
Magical Mystery Bus
@samnewman@velocityconf
Magical Mystery Bus
@samnewman@velocityconf
@samnewman@velocityconf
Customer
Enrolment
@samnewman@velocityconf
Create
Customer
Record
Customer
Enrolment
@samnewman@velocityconf
Create
Customer
Record
Customer
Enrolment
Create Loyalty
Account
@samnewman@velocityconf
Create
Customer
Record
Customer
Enrolment
Dispatch
Welcome Pack
Create Loyalty
Account
@samnewman@velocityconf
Create
Customer
Record
Customer
Enrolment
Dispatch
Welcome Pack
Create Loyalty
Account
Send Welcome
Email
@samnewman@velocityconf
Create
Customer
Record
Customer
Enrolment
Dispatch
Welcome Pack
Create Loyalty
Account
Send Welcome
Email
Completed
@samnewman@velocityconf
ORCHESTRATION
@samnewman@velocityconf
Customer
Service
create
ORCHESTRATION
@samnewman@velocityconf
Customer
Service
create
Loyalty
Bank
create
ORCHESTRATION
@samnewman@velocityconf
Customer
Service
create
Loyalty
Bank
create
Email
send email
ORCHESTRATION
@samnewman@velocityconf
Customer
Service
create
Loyalty
Bank
create
Email
send email
Whitemail
send package
ORCHESTRATION
@samnewman@velocityconf
CHOREOGRAPHED
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
customer created
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
customer created
Loyalty
Bank
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
customer created
Loyalty
Bank
Email
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
customer created
Loyalty
Bank
Email
Whitemail
@samnewman@velocityconf
CHOREOGRAPHED
Customer
Service
create
customer created
Loyalty
Bank
Email
Whitemail
Reporting
Dashboard
@samnewman@velocityconf
@samnewman@velocityconf
CHOREOGRAPHY OVER ORCHESTRATION
@samnewman@velocityconf
38
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Consumer First
@samnewman@velocityconf
38
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure Deploy
Independently
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Consumer First
@samnewman@velocityconf
ONE SERVICE PER-HOST
Host
Service
@samnewman@velocityconf
ONE SERVICE PER-HOST
Host
Service
Host
Service Service
Service Service
VS
@samnewman@velocityconf
CONSUMER-DRIVEN CONTRACTS
Shipping Inventory
@samnewman@velocityconf
CONSUMER-DRIVEN CONTRACTS
Expectations
Shipping Inventory
@samnewman@velocityconf
CONSUMER-DRIVEN CONTRACTS
Expectations
Shipping Inventory
@samnewman@velocityconf
CONSUMER-DRIVEN CONTRACTS
Expectations
Prod
Shipping Inventory
@samnewman@velocityconf
CONSUMER-DRIVEN CONTRACTS
Expectations
Prod
Shipping Inventory
@samnewman@velocityconf
https://github.com/realestate-com-au/pact
@samnewman@velocityconf
CO-EXIST ENDPOINTS
Customer Service
Shipping
@samnewman@velocityconf
CO-EXIST ENDPOINTS
Customer Service
Shipping
V2V1
@samnewman@velocityconf
CO-EXIST ENDPOINTS
Customer Service
Shipping
V2V1
@samnewman@velocityconf
CO-EXIST ENDPOINTS
Customer Service
Shipping
V2
@samnewman@velocityconf
43
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔
Consumer First
@samnewman@velocityconf
43
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔Consumer First
@samnewman@velocityconf
DOCUMENTATION
@samnewman@velocityconf
@samnewman@velocityconf
API GATEWAYS
@samnewman@velocityconf
SERVICE DISCOVERY
@samnewman@velocityconf
SERVICE DISCOVERY
@samnewman@velocityconf
SERVICE DISCOVERY
@samnewman@velocityconf
HUMANE REGISTRIES
@samnewman@velocityconf
49
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔
Consumer First✔
@samnewman@velocityconf
49
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Isolate Failure
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔
Consumer First✔
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
AVOID THE DISTRIBUTED SINGLE POINT OF FAILURE!
@samnewman@velocityconf
Strangler App
@samnewman@velocityconf
Strangler App
Legacy App
Legacy AppLegacy App
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
30 - 60 Concurrent Requests
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
30 - 60 Concurrent Requests
> 800 Concurrent Requests
@samnewman@velocityconf
Strangler App
Legacy App
Legacy App
Requests
Legacy App
30 - 60 Concurrent Requests
> 800 Concurrent Requests
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
Thread-pool
exhausted
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
Thread-pool
exhausted
No requests to other
downstream apps
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
Thread-pool
exhausted
No requests to other
downstream apps
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
Failing…slowly!
Thread-pool
exhausted
Requests
Building Up
No requests to other
downstream apps
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Thread Pool
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool Thread PoolThread Pool
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool Thread PoolThread Pool
Bulkhead
Downstream
Connections
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool Thread PoolThread Pool
Bulkhead
Downstream
Connections
@samnewman@velocityconf
Strangler App
Legacy App Legacy App Legacy App
Fix Timeouts
Thread Pool Thread PoolThread Pool
Bulkhead
Downstream
Connections
Circuit Breakers
@samnewman@velocityconf
55
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔
Isolate Failure✔ Consumer First✔
@samnewman@velocityconf
55
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Highly
Observable
✔ ✔ ✔
Decentralise All
The Things
✔
Deploy
Independently✔
Isolate Failure✔ Consumer First✔
@samnewman@velocityconf
@samnewman@velocityconf
STATS PAGES
@samnewman@velocityconf
STATS PAGES
@samnewman@velocityconf
AGGREGATION
@samnewman@velocityconf
LOGS
AGGREGATION
@samnewman@velocityconf
LOGS
STATS
AGGREGATION
@samnewman@velocityconf
CORRELATION IDS
@samnewman@velocityconf
CORRELATION IDS
ID 8964
@samnewman@velocityconf
CORRELATION IDS
ID 8964
ID 8964
ID 8964
ID 8964
ID 8964
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
@samnewman@velocityconf
SEMANTIC MONITORING
@samnewman@velocityconf
@samnewman@velocityconf
Principles Of
Microservices
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Deploy
Independently
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Deploy
Independently
Consumer First
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Consumer First
@samnewman@velocityconf
Principles Of
Microservices
Modelled Around
Business Domain
Culture Of
Automation Hide Implementation
Details
Decentralise All
The Things
Isolate Failure Deploy
Independently
Highly
Observable
Consumer First
@samnewman@velocityconf
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
http://buildingmicroservices.com/
@samnewman@velocityconf
Office Hours
@samnewman@velocityconf
Office Hours
(well, 30mins)
@samnewman@velocityconf
Office Hours
12.30pm on Thursday
(well, 30mins)
@samnewman@velocityconf
http://lanyrd.com/profile/samnewman/
Sam Newman
@samnewman
THANKS!

More Related Content

What's hot

Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Amazon Web Services
 

What's hot (20)

Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
 
Serverless computing
Serverless computingServerless computing
Serverless computing
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
DevOps culture
DevOps cultureDevOps culture
DevOps culture
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
SRE-iously! Reliability!
SRE-iously! Reliability!SRE-iously! Reliability!
SRE-iously! Reliability!
 
Testing Ansible
Testing AnsibleTesting Ansible
Testing Ansible
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
AWS January 2016 Webinar Series - Introduction to Docker on AWS
AWS January 2016 Webinar Series - Introduction to Docker on AWSAWS January 2016 Webinar Series - Introduction to Docker on AWS
AWS January 2016 Webinar Series - Introduction to Docker on AWS
 
Introduction to AWS Device Farm
Introduction to AWS Device FarmIntroduction to AWS Device Farm
Introduction to AWS Device Farm
 
Automating AWS security and compliance
Automating AWS security and compliance Automating AWS security and compliance
Automating AWS security and compliance
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 

Viewers also liked

NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
Gosuke Miyashita
 
Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?
VMware Tanzu
 
Domain Driven Design in the Browser - Cameron Edwards
Domain Driven Design in the Browser - Cameron EdwardsDomain Driven Design in the Browser - Cameron Edwards
Domain Driven Design in the Browser - Cameron Edwards
Hakka Labs
 

Viewers also liked (20)

Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
 
Microservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software DevelopmentMicroservices: Architecture for Agile Software Development
Microservices: Architecture for Agile Software Development
 
Monitoring Gengo using Saas
Monitoring Gengo using SaasMonitoring Gengo using Saas
Monitoring Gengo using Saas
 
NoSQLに関するまとめ
NoSQLに関するまとめNoSQLに関するまとめ
NoSQLに関するまとめ
 
DevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for KubernetesDevOps Days Boston 2017: Developer first workflows for Kubernetes
DevOps Days Boston 2017: Developer first workflows for Kubernetes
 
Microservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New YorkMicroservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New York
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVC
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
Beyond design patterns and principles - writing good OO code
Beyond design patterns and principles - writing good OO codeBeyond design patterns and principles - writing good OO code
Beyond design patterns and principles - writing good OO code
 
2011 iska - tim m - domain driven design
2011   iska - tim m - domain driven design2011   iska - tim m - domain driven design
2011 iska - tim m - domain driven design
 
Automation of functional tests using JMeter Part II (in Polish)
Automation of functional tests using JMeter Part II (in Polish)Automation of functional tests using JMeter Part II (in Polish)
Automation of functional tests using JMeter Part II (in Polish)
 
Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?
 
Architecture Principles CodeStock
Architecture Principles CodeStock Architecture Principles CodeStock
Architecture Principles CodeStock
 
Domain Driven Design in the Browser - Cameron Edwards
Domain Driven Design in the Browser - Cameron EdwardsDomain Driven Design in the Browser - Cameron Edwards
Domain Driven Design in the Browser - Cameron Edwards
 
Domain-driven design - tactical patterns
Domain-driven design - tactical patternsDomain-driven design - tactical patterns
Domain-driven design - tactical patterns
 
Go-jek's Go-Food Chatbot
Go-jek's Go-Food ChatbotGo-jek's Go-Food Chatbot
Go-jek's Go-Food Chatbot
 
DDD patterns that were not in the book
DDD patterns that were not in the bookDDD patterns that were not in the book
DDD patterns that were not in the book
 

Similar to Principles of microservices velocity

Competing in the Next SaaS Wave
Competing in the Next SaaS WaveCompeting in the Next SaaS Wave
Competing in the Next SaaS Wave
Amity
 
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
The Excellence Center
 
AS Lead to Cash Highlevel Process FlowWIP
AS Lead to Cash Highlevel Process FlowWIPAS Lead to Cash Highlevel Process FlowWIP
AS Lead to Cash Highlevel Process FlowWIP
Juliann Hendon
 

Similar to Principles of microservices velocity (20)

Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc oslo
 
遷移到雲端的成功秘訣
遷移到雲端的成功秘訣遷移到雲端的成功秘訣
遷移到雲端的成功秘訣
 
Competing in the Next SaaS Wave
Competing in the Next SaaS WaveCompeting in the Next SaaS Wave
Competing in the Next SaaS Wave
 
2016 10 intelligent change management final
2016 10 intelligent change management final2016 10 intelligent change management final
2016 10 intelligent change management final
 
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
Mohamed Fouad Yassin Presentation for 3rd SS Bahrain Forum [updateds]
 
The Excellence Center Presentation for 3rd Six Sigma Forum in Bahrain
The Excellence Center Presentation for 3rd Six Sigma Forum in BahrainThe Excellence Center Presentation for 3rd Six Sigma Forum in Bahrain
The Excellence Center Presentation for 3rd Six Sigma Forum in Bahrain
 
The Excellence Center’s presentation for 3rd Six Sigma Forum in Bahrain
The Excellence Center’s presentation for 3rd Six Sigma Forum in Bahrain The Excellence Center’s presentation for 3rd Six Sigma Forum in Bahrain
The Excellence Center’s presentation for 3rd Six Sigma Forum in Bahrain
 
Continuous delivery in 10 easy mistakes, and how to do better - Kim van Wilge...
Continuous delivery in 10 easy mistakes, and how to do better - Kim van Wilge...Continuous delivery in 10 easy mistakes, and how to do better - Kim van Wilge...
Continuous delivery in 10 easy mistakes, and how to do better - Kim van Wilge...
 
Sad Presentation
Sad PresentationSad Presentation
Sad Presentation
 
20180509 (codemotion) continuous delivery
20180509   (codemotion) continuous delivery20180509   (codemotion) continuous delivery
20180509 (codemotion) continuous delivery
 
How to Get the Best User Experience for Your Customers With: CA View® / CA De...
How to Get the Best User Experience for Your Customers With: CA View® / CA De...How to Get the Best User Experience for Your Customers With: CA View® / CA De...
How to Get the Best User Experience for Your Customers With: CA View® / CA De...
 
Webinar: Small Cells Going to Volume
Webinar: Small Cells Going to VolumeWebinar: Small Cells Going to Volume
Webinar: Small Cells Going to Volume
 
BMW Showcase - Celosphere 2019
BMW Showcase - Celosphere 2019BMW Showcase - Celosphere 2019
BMW Showcase - Celosphere 2019
 
Value Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to SuccessValue Stream Transformation: 10 Keys to Success
Value Stream Transformation: 10 Keys to Success
 
Combining Network Optimization and Cost to Serve
Combining Network Optimization and Cost to ServeCombining Network Optimization and Cost to Serve
Combining Network Optimization and Cost to Serve
 
AS Lead to Cash Highlevel Process FlowWIP
AS Lead to Cash Highlevel Process FlowWIPAS Lead to Cash Highlevel Process FlowWIP
AS Lead to Cash Highlevel Process FlowWIP
 
B2B Advertising, Personalization, and Landing Page Best Practices
B2B Advertising, Personalization, and Landing Page Best PracticesB2B Advertising, Personalization, and Landing Page Best Practices
B2B Advertising, Personalization, and Landing Page Best Practices
 
Cigniti joint webinar with Soasta - Agile DevOps: Test-driven IT Environment ...
Cigniti joint webinar with Soasta - Agile DevOps: Test-driven IT Environment ...Cigniti joint webinar with Soasta - Agile DevOps: Test-driven IT Environment ...
Cigniti joint webinar with Soasta - Agile DevOps: Test-driven IT Environment ...
 
Milestones on the Omni-Channel Journey
Milestones on the Omni-Channel JourneyMilestones on the Omni-Channel Journey
Milestones on the Omni-Channel Journey
 
Developing Relationship with Channel Partners
Developing Relationship with Channel Partners Developing Relationship with Channel Partners
Developing Relationship with Channel Partners
 

More from Sam Newman

Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014
Sam Newman
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
Sam Newman
 

More from Sam Newman (20)

Hiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesHiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservices
 
It's a trap!
It's a trap!It's a trap!
It's a trap!
 
Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice Organisation
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min Version
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and Microservices
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub World
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The Serverless
 
AppSec & Microservices - Velocity 2016
AppSec & Microservices - Velocity 2016AppSec & Microservices - Velocity 2016
AppSec & Microservices - Velocity 2016
 
AppSec And Microservices
AppSec And MicroservicesAppSec And Microservices
AppSec And Microservices
 
Deploying and Scaling Microservices
Deploying and Scaling MicroservicesDeploying and Scaling Microservices
Deploying and Scaling Microservices
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneyQCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
 
Testing & deploying microservices - XP Days Ukraine 2014
Testing & deploying microservices  - XP Days Ukraine 2014Testing & deploying microservices  - XP Days Ukraine 2014
Testing & deploying microservices - XP Days Ukraine 2014
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
Practical microservices - NDC 2014
Practical microservices  - NDC 2014Practical microservices  - NDC 2014
Practical microservices - NDC 2014
 
Practical microservices - javazone 2014
Practical microservices -  javazone 2014Practical microservices -  javazone 2014
Practical microservices - javazone 2014
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014
 
Practical microservices - YOW 2013
Practical microservices  - YOW 2013Practical microservices  - YOW 2013
Practical microservices - YOW 2013
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
 

Recently uploaded

Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
lizamodels9
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
Matteo Carbone
 

Recently uploaded (20)

Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceEluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 

Principles of microservices velocity