SlideShare a Scribd company logo
1 of 179
Download to read offline
PRACTICAL 
CONSIDERATIONS 
FOR MICRO SERVICES 
Sam Newman 
NDC London, December 2014 
1
14 PRACTICAL TIPS 
FOR MICROSERVICES 
Sam Newman 
NDC London, December 2014 
2
YOU WON’T BELIEVE 
WHAT THEY DO WITH 
MICROSERVICES IN 
THIS TALK! 
Sam Newman 
NDC London, December 2014 
3
SEE WHAT JENNIFER 
LAWRENCE THINKS 
ABOUT DISTRIBUTED 
SYSTEMS! 
Sam Newman 
NDC London, December 2014 
4
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
#ndclondon @samnewman
Customer 
Service 
Small 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
#ndclondon @samnewman
Customer 
Service 
Small 
Modelled Around Business Domain 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
#ndclondon @samnewman
Customer 
Service 
Small 
Modelled Around Business Domain 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
Autonomous 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
V1 
#ndclondon @samnewman
V2 
#ndclondon @samnewman
Go 
Java 
NodeJS 
Ruby 
#ndclondon @samnewman
Go 
NodeJS 
Ruby 
Clojure! 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
Where To Standardise? 
#ndclondon @samnewman
#©n d2cl0on1d3o nElectronic Arts Inc. @samnewman
#ndclondon @samnewman
Interfaces 
#ndclondon @samnewman
Interfaces 
Monitoring 
#ndclondon @samnewman
Interfaces 
Monitoring 
Deployment & Testing 
#ndclondon @samnewman
Architectural Safety 
#ndclondon @samnewman
#ndclondon @samnewman
Free For All 
#ndclondon @samnewman
Standardisation 
Free For All 
#ndclondon @samnewman
Standardisation 
TIP 1 / 14: Standardise in the gaps between services - 
be flexible about what happens inside the boxes 
Free For All 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman https://www.flickr.com/photos/garrymsmith/6108841070
Autonomy 
Communication 
#ndclondon @samnewman
Team Ownership 
#ndclondon @samnewman
Team Ownership 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
??? 
#ndclondon @samnewman
Trusted Committer / 
Roving Custodian 
TIP 2 / 14: Have a cle?a?r ?custodian model! 
#ndclondon @samnewman
Interfaces 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
Coupling Is Bad 
#ndclondon @samnewman
Integration Styles 
An Evolutionary View 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
#ndclondon @samnewman
Integration Styles 
An Evolutionary View 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
#ndclondon @samnewman
Integration Styles 
An Evolutionary View 
TIP 3 / 14: Be careful of RPC-mechanisms/shared 
serialisation protocols to avoid coupling 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database 
#ndclondon @samnewman
Database Database 
#ndclondon @samnewman
Database Database 
#ndclondon @samnewman
TIP 4 / 14: Separate the databases before separating services 
Database Database 
#ndclondon @samnewman
The Customer Is Always Right 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
TIP 5 / 14: Adopt a consumer first approach 
#ndclondon @samnewman
Monitoring 
#ndclondon @samnewman
#ndclondon @samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/ 
#ndclondon @samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/ 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
??? 
#ndclondon @samnewman
You have to get *much* 
better at monitoring 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
You are not a badass if you 
use an SSH Multiplexer 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
Response Time 
Response Time 
Response Time 
#ndclondon @samnewman
Response Time 
Response Time 
Response Time 
#ndclondon @samnewman
Response Time 
Response Time 
Response Time 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
TIP 6 / 14: Capture metrics, and logs, for each node, 
and aggregate them to get a rolled up picture 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
TIP 7 / 14: Use synthetic transactions to test 
production systems 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
ID: 123 
#ndclondon @samnewman
ID: 123 
ID: 123 
ID: 123 
#ndclondon @samnewman
ID: 123 
TIP 8 / 14: Use correlation IDs to track down nasty bugs 
ID: 123 
ID: 123 
#ndclondon @samnewman
Deployment 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
! 
#ndclondon @samnewman
! 
! 
#ndclondon @samnewman
! 
! 
! 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
TIP 9 / 14: Abstract out underlying platform 
differences to provide a uniform deployment 
mechanism 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
#ndclondon @samnewman
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
#ndclondon @samnewman
Inventory Accounts 
Mountebank 
http://www.mbtest.org 
#ndclondon @samnewman
Inventory 
Accounts 
Stub 
Mountebank 
http://www.mbtest.org 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
#ndclondon @samnewman
#ndclondon @samnewman
Browsers 
#ndclondon @samnewman
Timing 
Browsers 
#ndclondon @samnewman
Provisioning of Environments 
Timing 
Browsers 
#ndclondon @samnewman
Networks 
Provisioning of Environments 
Timing 
Browsers 
#ndclondon @samnewman
Deployment 
Networks 
Provisioning of Environments 
Timing 
Browsers 
#ndclondon @samnewman
Deployment 
Networks 
Provisioning of Environments 
Timing 
Browsers Diagnosis 
#ndclondon @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
#ndclondon @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
#ndclondon @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
#ndclondon @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
Prod 
#ndclondon @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
Prod 
#ndclondon @samnewman
#ndclondon @samnewman
https://github.com/realestate-com-au/pact 
#ndclondon @samnewman
TIP 10 / 14: Consumer Driven Tests to catch breaking changes 
https://github.com/realestate-com-au/pact 
#ndclondon @samnewman
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod 
TIP 11 / 14: Don’t let changes build up - release as 
soon as you can, and preferably one at a time!
Architectural Safety 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
http://www.flickr.com/photos/louish/5611657857/ 
#ndclondon @samnewman
Connection Pool 
#ndclondon @samnewman
Connection Pool 
#ndclondon @samnewman
Connection Pool 
#ndclondon @samnewman
Connection Pool 
#ndclondon @samnewman
Connection 
Pool 
Connection 
Pool 
#ndclondon @samnewman
Connection 
Pool 
Connection 
Pool 
#ndclondon @samnewman
Connection 
Pool 
Connection 
Pool 
#ndclondon @samnewman
Connection 
Pool 
Connection 
Pool 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
TIP 12 / 14: Use timeouts, circuit breakers and bulk-heads 
to avoid cascading failure 
#ndclondon @samnewman
Special Service Behaviour 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
Downstream 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
#ndclondon @samnewman
Integration 
Special Service Behaviour 
Metrics TIP 13 / 14: Consider Service Templates to make it 
easy to do the right thing! 
Downstream 
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
#ndclondon @samnewman
Choice 
Opportunity 
#ndclondon @samnewman
Choice 
Opportunity 
Complexity 
#ndclondon @samnewman
Choice 
Opportunity 
Monitoring Complexity 
Deployment 
Safety 
Integration 
#ndclondon @samnewman
Choice 
Opportunity 
TIP 14 / 14: Find your own balance 
Monitoring Complexity 
Deployment 
Safety 
Integration 
#ndclondon @samnewman
62 
Building 
Microservices 
DESIGNING FINE-GRAINED SYSTEMS 
Sam Newman
Designing For 
Rapid Release 
500 West Madison 
500 West Madison 
#ndclondon @samnewman
500 West Madison 
500 West Madison 
From Macro To Micro 
Designing For 
Rapid Release 
#ndclondon @samnewman
500 West Madison 
500 West Madison 
From Macro To Micro 
Designing For 
Rapid Release 
http://lanyrd.com/profile/samnewman/ 
#ndclondon @samnewman
THANKS! 
Any questions: 
@samnewman 
snewman@thoughtworks.com

More Related Content

What's hot

Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014Sam Newman
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro gotoSam Newman
 
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 ServerlessSam Newman
 
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 VersionSam Newman
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014Sam Newman
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservicesSam Newman
 
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 microservicesSam Newman
 
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?Sam Newman
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and MicroservicesSam Newman
 
Ramp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowRamp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowDan Lapham
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVEPeter Rozek
 
2012: Putting your robots to work: security automation at Twitter
2012: Putting your robots to work: security automation at Twitter2012: Putting your robots to work: security automation at Twitter
2012: Putting your robots to work: security automation at TwitterNeil Matatall
 
Google Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitGoogle Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitMike Arnesen
 
The UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryThe UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryPeter Rozek
 
Performance and UX
Performance and UXPerformance and UX
Performance and UXPeter Rozek
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018Jamie Indigo
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptCatalyst
 
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...Can Google properly crawl and index JavaScript? SEO Experiments - Results and...
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...Onely
 
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHOD
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHODHOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHOD
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHODChristoph C. Cemper
 

What's hot (20)

Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
From macro to micro goto
From macro to micro   gotoFrom macro to micro   goto
From macro to micro goto
 
It's a trap!
It's a trap!It's a trap!
It's a trap!
 
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
 
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
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
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
 
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?
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and Microservices
 
Ramp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowRamp up your Mobile Content Slideshow
Ramp up your Mobile Content Slideshow
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVE
 
2012: Putting your robots to work: security automation at Twitter
2012: Putting your robots to work: security automation at Twitter2012: Putting your robots to work: security automation at Twitter
2012: Putting your robots to work: security automation at Twitter
 
Google Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitGoogle Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummit
 
The UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryThe UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQuery
 
Performance and UX
Performance and UXPerformance and UX
Performance and UX
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
 
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...Can Google properly crawl and index JavaScript? SEO Experiments - Results and...
Can Google properly crawl and index JavaScript? SEO Experiments - Results and...
 
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHOD
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHODHOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHOD
HOW TO INCREASE YOUR TRAFFIC 5X WITH THIS ONE SEO METHOD
 

Viewers also liked

Custodian*24 Monitor Sales Presentation
Custodian*24 Monitor Sales PresentationCustodian*24 Monitor Sales Presentation
Custodian*24 Monitor Sales Presentationwebhostingguy
 
Mutual funds
Mutual fundsMutual funds
Mutual fundssanky58
 
Intro To Factoring
Intro To FactoringIntro To Factoring
Intro To FactoringChris Lehnes
 
3 Best Practices for eDiscovery Custodian Interviews
3 Best Practices for eDiscovery Custodian Interviews3 Best Practices for eDiscovery Custodian Interviews
3 Best Practices for eDiscovery Custodian InterviewsD4
 
Operating Systems As a Product
Operating Systems As a ProductOperating Systems As a Product
Operating Systems As a ProductHarshit Srivastava
 
Operating system
Operating systemOperating system
Operating systemyogitamore3
 
vidddu A small presentation on,
vidddu A small presentation on, vidddu A small presentation on,
vidddu A small presentation on, mostreturnvidu
 
Factoring Trinomials
Factoring TrinomialsFactoring Trinomials
Factoring TrinomialsDon Simmons
 
Factoring & forfaiting
Factoring & forfaitingFactoring & forfaiting
Factoring & forfaitingTanuj Poddar
 
Chapter 22_Insurance Companies and Pension Funds
Chapter 22_Insurance Companies and Pension FundsChapter 22_Insurance Companies and Pension Funds
Chapter 22_Insurance Companies and Pension FundsRusman Mukhlis
 
Factoring & Forfaiting
Factoring & ForfaitingFactoring & Forfaiting
Factoring & Forfaitingharshil19987
 
Factoring and Forfaiting
Factoring and ForfaitingFactoring and Forfaiting
Factoring and ForfaitingLakshman Singh
 
Financial intermediation
Financial intermediationFinancial intermediation
Financial intermediationKijuto JP
 

Viewers also liked (20)

Custodian*24 Monitor Sales Presentation
Custodian*24 Monitor Sales PresentationCustodian*24 Monitor Sales Presentation
Custodian*24 Monitor Sales Presentation
 
Mutual funds
Mutual fundsMutual funds
Mutual funds
 
Intro To Factoring
Intro To FactoringIntro To Factoring
Intro To Factoring
 
Factoring
FactoringFactoring
Factoring
 
3 Best Practices for eDiscovery Custodian Interviews
3 Best Practices for eDiscovery Custodian Interviews3 Best Practices for eDiscovery Custodian Interviews
3 Best Practices for eDiscovery Custodian Interviews
 
Mutual fund
Mutual fundMutual fund
Mutual fund
 
Operating Systems As a Product
Operating Systems As a ProductOperating Systems As a Product
Operating Systems As a Product
 
Operating system
Operating systemOperating system
Operating system
 
vidddu A small presentation on,
vidddu A small presentation on, vidddu A small presentation on,
vidddu A small presentation on,
 
Money 3.0
Money 3.0Money 3.0
Money 3.0
 
Factoring Trinomials
Factoring TrinomialsFactoring Trinomials
Factoring Trinomials
 
Financial intermederies
Financial intermederiesFinancial intermederies
Financial intermederies
 
Mutual fund ppt
Mutual fund pptMutual fund ppt
Mutual fund ppt
 
Factoring & forfaiting
Factoring & forfaitingFactoring & forfaiting
Factoring & forfaiting
 
Chapter 22_Insurance Companies and Pension Funds
Chapter 22_Insurance Companies and Pension FundsChapter 22_Insurance Companies and Pension Funds
Chapter 22_Insurance Companies and Pension Funds
 
Factoring services
Factoring servicesFactoring services
Factoring services
 
Factoring & Forfaiting
Factoring & ForfaitingFactoring & Forfaiting
Factoring & Forfaiting
 
Factoring and Forfaiting
Factoring and ForfaitingFactoring and Forfaiting
Factoring and Forfaiting
 
Wealth Management
Wealth Management Wealth Management
Wealth Management
 
Financial intermediation
Financial intermediationFinancial intermediation
Financial intermediation
 

Similar to Practical microservices - NDC 2014

Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...HostedbyConfluent
 
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam NewmanINTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newmanapidays
 
Deploying & operating microservices
Deploying & operating microservicesDeploying & operating microservices
Deploying & operating microservicesThoughtworks
 
Truly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsTruly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsJohn Eckman
 
MoMoMcr Android Wear
MoMoMcr Android WearMoMoMcr Android Wear
MoMoMcr Android WearImran Younis
 
Harnessing Domain Driven Design
Harnessing Domain Driven DesignHarnessing Domain Driven Design
Harnessing Domain Driven DesignCapgemini
 
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...We Are Marketing
 
Digital Copycats: Escaping Plato's Cave (SXSW17)
Digital Copycats: Escaping Plato's Cave (SXSW17)Digital Copycats: Escaping Plato's Cave (SXSW17)
Digital Copycats: Escaping Plato's Cave (SXSW17)Will Anderson
 
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)Nathan Ingram
 
Analytics That Drive The Value Of Content
Analytics That Drive The Value Of Content  Analytics That Drive The Value Of Content
Analytics That Drive The Value Of Content Pajama Program
 
SDN Meet up Glasgow | 2018
SDN Meet up Glasgow | 2018SDN Meet up Glasgow | 2018
SDN Meet up Glasgow | 2018Snook
 
Lessons learned scrum mastering distributed teams - Agile Lyon 2019
Lessons learned scrum mastering distributed teams -  Agile Lyon 2019Lessons learned scrum mastering distributed teams -  Agile Lyon 2019
Lessons learned scrum mastering distributed teams - Agile Lyon 2019Antonio COBO CUENCA
 
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Daniel Bryant
 
Beyond Digital - IAS Workshop 2011
Beyond Digital - IAS Workshop 2011Beyond Digital - IAS Workshop 2011
Beyond Digital - IAS Workshop 2011Samantha Starmer
 
Beyond Digital - IA Summit 2010 Workshop
Beyond Digital - IA Summit 2010 WorkshopBeyond Digital - IA Summit 2010 Workshop
Beyond Digital - IA Summit 2010 WorkshopSamantha Starmer
 
Sam Newman_Designing For Habitability.pdf
Sam Newman_Designing For Habitability.pdfSam Newman_Designing For Habitability.pdf
Sam Newman_Designing For Habitability.pdfVMware Tanzu
 
Setting AMP for Success at #BrightonSEO
Setting AMP for Success at #BrightonSEOSetting AMP for Success at #BrightonSEO
Setting AMP for Success at #BrightonSEOAleyda Solís
 
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv Meetup
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv MeetupDigital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv Meetup
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv MeetupMark Alves
 
Setting The Agenda For Tomorrow's PR
Setting The Agenda For Tomorrow's PRSetting The Agenda For Tomorrow's PR
Setting The Agenda For Tomorrow's PRNeville Hobson
 
Salesforce Commerce Cloud & SEO - 5 Lessons.pptx
Salesforce Commerce Cloud & SEO - 5 Lessons.pptxSalesforce Commerce Cloud & SEO - 5 Lessons.pptx
Salesforce Commerce Cloud & SEO - 5 Lessons.pptxEdwin Romero
 

Similar to Practical microservices - NDC 2014 (20)

Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
 
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam NewmanINTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
 
Deploying & operating microservices
Deploying & operating microservicesDeploying & operating microservices
Deploying & operating microservices
 
Truly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsTruly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User Goals
 
MoMoMcr Android Wear
MoMoMcr Android WearMoMoMcr Android Wear
MoMoMcr Android Wear
 
Harnessing Domain Driven Design
Harnessing Domain Driven DesignHarnessing Domain Driven Design
Harnessing Domain Driven Design
 
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...
It's a long Way to the Top if you Wanna Rock 'n' Roll: Main Drivers & How Con...
 
Digital Copycats: Escaping Plato's Cave (SXSW17)
Digital Copycats: Escaping Plato's Cave (SXSW17)Digital Copycats: Escaping Plato's Cave (SXSW17)
Digital Copycats: Escaping Plato's Cave (SXSW17)
 
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)
Mastering the Client Consultation - The SCOPE Strategy (WordCamp Orlando 2017)
 
Analytics That Drive The Value Of Content
Analytics That Drive The Value Of Content  Analytics That Drive The Value Of Content
Analytics That Drive The Value Of Content
 
SDN Meet up Glasgow | 2018
SDN Meet up Glasgow | 2018SDN Meet up Glasgow | 2018
SDN Meet up Glasgow | 2018
 
Lessons learned scrum mastering distributed teams - Agile Lyon 2019
Lessons learned scrum mastering distributed teams -  Agile Lyon 2019Lessons learned scrum mastering distributed teams -  Agile Lyon 2019
Lessons learned scrum mastering distributed teams - Agile Lyon 2019
 
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
 
Beyond Digital - IAS Workshop 2011
Beyond Digital - IAS Workshop 2011Beyond Digital - IAS Workshop 2011
Beyond Digital - IAS Workshop 2011
 
Beyond Digital - IA Summit 2010 Workshop
Beyond Digital - IA Summit 2010 WorkshopBeyond Digital - IA Summit 2010 Workshop
Beyond Digital - IA Summit 2010 Workshop
 
Sam Newman_Designing For Habitability.pdf
Sam Newman_Designing For Habitability.pdfSam Newman_Designing For Habitability.pdf
Sam Newman_Designing For Habitability.pdf
 
Setting AMP for Success at #BrightonSEO
Setting AMP for Success at #BrightonSEOSetting AMP for Success at #BrightonSEO
Setting AMP for Success at #BrightonSEO
 
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv Meetup
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv MeetupDigital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv Meetup
Digital Marketing Tips: Twitter, Instagram, Pinterest, Video - SEMdmv Meetup
 
Setting The Agenda For Tomorrow's PR
Setting The Agenda For Tomorrow's PRSetting The Agenda For Tomorrow's PR
Setting The Agenda For Tomorrow's PR
 
Salesforce Commerce Cloud & SEO - 5 Lessons.pptx
Salesforce Commerce Cloud & SEO - 5 Lessons.pptxSalesforce Commerce Cloud & SEO - 5 Lessons.pptx
Salesforce Commerce Cloud & SEO - 5 Lessons.pptx
 

More from Sam Newman

Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice OrganisationSam Newman
 
Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc osloSam Newman
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocitySam Newman
 
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 JourneySam Newman
 
Designing for rapid release goto 2012
Designing for rapid release   goto 2012Designing for rapid release   goto 2012
Designing for rapid release goto 2012Sam Newman
 
Surfing the event stream
Surfing the event streamSurfing the event stream
Surfing the event streamSam Newman
 

More from Sam Newman (6)

Rip It Up - The Microservice Organisation
Rip It Up  - The Microservice OrganisationRip It Up  - The Microservice Organisation
Rip It Up - The Microservice Organisation
 
Principles of microservices ndc oslo
Principles of microservices   ndc osloPrinciples of microservices   ndc oslo
Principles of microservices ndc oslo
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
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
 
Designing for rapid release goto 2012
Designing for rapid release   goto 2012Designing for rapid release   goto 2012
Designing for rapid release goto 2012
 
Surfing the event stream
Surfing the event streamSurfing the event stream
Surfing the event stream
 

Recently uploaded

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Practical microservices - NDC 2014