Your SlideShare is downloading. ×
0
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Principles of microservices   velocity
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Principles of microservices velocity

1,024

Published on

Microservices are small services with independent lifecycles that work together. There is an underlying tension in that definition – how independent can you be when you have to be part of a whole? …

Microservices are small services with independent lifecycles that work together. There is an underlying tension in that definition – how independent can you be when you have to be part of a whole? I’ve spent much of the last couple of years trying to understand how to find the right balance, and in this talk/tutorial I’ll be presenting the core seven principles that I think represent what makes microservices tick.

After a brief introduction of what microservices are and why they are important, we’ll spend the bulk of the time looking at the principles themselves, wherever possible covering real-world examples and technology:

- Modelled around business domain – using techniques from domain-driven design to find service boundaries leads to better team alignment and more stable service boundaries, avoiding expensive cross-service changes.
- Culture of automation – all organisations that use microservices at scale have strong cultures of automation. We’ll look at some of their stories and think about which sort of automation is key.
- Hide implementation details – how do you hide the detail inside each service to avoid coupling, and ensure each service retains its autonomous nature?
- Decentralize all the things! – we have to push power down as far as we can, and this goes for both the system and organisational architecture. We’ll look at everything from autonomous self-contained teams and internal open source, to using choreographed systems to handle long-lived business transactions.
- Deploy independently – this is all about being able to deploy safely. So we’ll cover everything from deployment models to consumer-driven contracts and the importance of separating deployment from release.
- Isolate failure – just making a system distributed doesn’t make it more stable than a monolithic application. So what do you need to look for?
- Highly observable – we need to understand the health of a single service, but also the whole ecosystem. How?

In terms of learning outcomes, beginners will get a sense of what microservices are and what makes them different, whereas more experienced practitioners will get insight and practical advice into how to implement them.

Published in: Business, Software
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,024
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
40
Comments
0
Likes
15
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PRINCIPLES OF MICROSERVICES Sam Newman Velocity Santa Clara, May 2015 1
  • 2. @samnewman@velocityconf
  • 3. @samnewman@velocityconf Sam Newman Building Microservices DESIGNING FINE-GRAINED SYSTEMS
  • 4. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 5. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service Small Autonomous services that work together
  • 6. @samnewman@velocityconf 5 Show Gilt, Groupon, Netflix, Amazon
  • 7. @samnewman@velocityconf 5 Show Gilt, Groupon, Netflix, Amazon
  • 8. @samnewman@velocityconf 5 Show Gilt, Groupon, Netflix, Amazon
  • 9. @samnewman@velocityconf
  • 10. @samnewman@velocityconf http://www.12factor.net/
  • 11. @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
  • 12. @samnewman@velocityconf Small Autonomous services that work together
  • 13. @samnewman@velocityconf 10 Principles Of Microservices
  • 14. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain
  • 15. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain Culture Of Automation
  • 16. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details
  • 17. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things
  • 18. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things Deploy Independently
  • 19. @samnewman@velocityconf 10 Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things Deploy Independently Consumer First
  • 20. @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
  • 21. @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
  • 22. @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
  • 23. @samnewman@velocityconf Presentation Business Logic Data Access
  • 24. @samnewman@velocityconf Presentation Business Logic Data Access
  • 25. @samnewman@velocityconf Presentation Business Logic Data Access
  • 26. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 27. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 28. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 29. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 30. @samnewman@velocityconf Accounts Returns Invoicing Shipping Inventory Customer Service
  • 31. 13https://www.flickr.com/photos/glimeend/5692801655/
  • 32. 14
  • 33. 14 Register a new customer
  • 34. 14 Register a new customer Oil Change
  • 35. 14 Register a new customer Emission Test Oil Change
  • 36. 14 Register a new customer Emission Test Replace Tire Oil Change
  • 37. 14 Register a new customer Order parts Emission Test Replace Tire Oil Change
  • 38. 14 Register a new customer Order parts Emission Test Replace Tire Oil Change Send an invoice
  • 39. 14 Register a new customer Order parts Emission Test Replace Tire Oil Change Send an invoice Make a repair
  • 40. 14 Register a new customer Order parts Emission Test Replace Tire Oil Change Send an invoice Make a repair Contact a customer
  • 41. 14 Register a new customer Order parts Emission TestReplace Tire Oil Change Send an invoice Make a repair Contact a customer
  • 42. 15 Customer Management Maintenance Inventory
  • 43. @samnewman@velocityconf
  • 44. @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
  • 45. @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
  • 46. @samnewman@velocityconf
  • 47. @samnewman@velocityconf 3 Months 2 Microservices
  • 48. @samnewman@velocityconf 3 Months 2 Microservices 12 Months 10 Microservices
  • 49. @samnewman@velocityconf 3 Months 2 Microservices 12 Months 10 Microservices 18 Months 60 Microservices
  • 50. @samnewman@velocityconf Infrastructure Automation
  • 51. @samnewman@velocityconf Infrastructure Automation Automated Testing
  • 52. @samnewman@velocityconf Infrastructure Automation Continuous Delivery Automated Testing
  • 53. @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
  • 54. @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
  • 55. @samnewman@velocityconf DB
  • 56. @samnewman@velocityconf DB
  • 57. @samnewman@velocityconf DB
  • 58. @samnewman@velocityconf DB
  • 59. @samnewman@velocityconf DB HIDE YOUR DATABASE
  • 60. @samnewman@velocityconf http://martinfowler.com/bliki/images/boundedContext/sketch.png
  • 61. @samnewman@velocityconf http://martinfowler.com/bliki/images/boundedContext/sketch.png BOUNDED CONTEXTS
  • 62. @samnewman@velocityconf
  • 63. @samnewman@velocityconf
  • 64. @samnewman@velocityconf Client LibraryClient LibraryClient Library
  • 65. @samnewman@velocityconf Client Library Client Library Client Library
  • 66. @samnewman@velocityconf Client Library Client Library Client Library
  • 67. @samnewman@velocityconf Client Library BE CAREFUL OF CLIENT LIBRARIES Client Library Client Library
  • 68. @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
  • 69. @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
  • 70. @samnewman@velocityconf
  • 71. @samnewman@velocityconf What is autonomy?
  • 72. @samnewman@velocityconf What is autonomy? Giving people as much freedom as possible to do the job at hand
  • 73. @samnewman@velocityconf What is autonomy? Giving people as much freedom as possible to do the job at hand
  • 74. @samnewman@velocityconf DEVOLUTION?
  • 75. @samnewman@velocityconf SELF-SERVICE https://www.flickr.com/photos/katsrcool/15184711908/
  • 76. @samnewman@velocityconf http://tech.gilt.com/post/102628539834/making-architecture-work-in-microservice SHARED GOVERNANCE
  • 77. @samnewman@velocityconf OWNER-OPERATOR https://www.flickr.com/photos/stevendepolo/5939055612
  • 78. @samnewman@velocityconf INTERNAL OPEN SOURCE
  • 79. @samnewman@velocityconf DUMB-PIPES, SMART ENDPOINTS Magical Mystery Bus
  • 80. @samnewman@velocityconf Magical Mystery Bus
  • 81. @samnewman@velocityconf
  • 82. @samnewman@velocityconf Customer Enrolment
  • 83. @samnewman@velocityconf Create Customer Record Customer Enrolment
  • 84. @samnewman@velocityconf Create Customer Record Customer Enrolment Create Loyalty Account
  • 85. @samnewman@velocityconf Create Customer Record Customer Enrolment Dispatch Welcome Pack Create Loyalty Account
  • 86. @samnewman@velocityconf Create Customer Record Customer Enrolment Dispatch Welcome Pack Create Loyalty Account Send Welcome Email
  • 87. @samnewman@velocityconf Create Customer Record Customer Enrolment Dispatch Welcome Pack Create Loyalty Account Send Welcome Email Completed
  • 88. @samnewman@velocityconf ORCHESTRATION
  • 89. @samnewman@velocityconf Customer Service create ORCHESTRATION
  • 90. @samnewman@velocityconf Customer Service create Loyalty Bank create ORCHESTRATION
  • 91. @samnewman@velocityconf Customer Service create Loyalty Bank create Email send email ORCHESTRATION
  • 92. @samnewman@velocityconf Customer Service create Loyalty Bank create Email send email Whitemail send package ORCHESTRATION
  • 93. @samnewman@velocityconf CHOREOGRAPHED
  • 94. @samnewman@velocityconf CHOREOGRAPHED Customer Service create
  • 95. @samnewman@velocityconf CHOREOGRAPHED Customer Service create customer created
  • 96. @samnewman@velocityconf CHOREOGRAPHED Customer Service create customer created Loyalty Bank
  • 97. @samnewman@velocityconf CHOREOGRAPHED Customer Service create customer created Loyalty Bank Email
  • 98. @samnewman@velocityconf CHOREOGRAPHED Customer Service create customer created Loyalty Bank Email Whitemail
  • 99. @samnewman@velocityconf CHOREOGRAPHED Customer Service create customer created Loyalty Bank Email Whitemail Reporting Dashboard
  • 100. @samnewman@velocityconf
  • 101. @samnewman@velocityconf CHOREOGRAPHY OVER ORCHESTRATION
  • 102. @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
  • 103. @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
  • 104. @samnewman@velocityconf ONE SERVICE PER-HOST Host Service
  • 105. @samnewman@velocityconf ONE SERVICE PER-HOST Host Service Host Service Service Service Service VS
  • 106. @samnewman@velocityconf CONSUMER-DRIVEN CONTRACTS Shipping Inventory
  • 107. @samnewman@velocityconf CONSUMER-DRIVEN CONTRACTS Expectations Shipping Inventory
  • 108. @samnewman@velocityconf CONSUMER-DRIVEN CONTRACTS Expectations Shipping Inventory
  • 109. @samnewman@velocityconf CONSUMER-DRIVEN CONTRACTS Expectations Prod Shipping Inventory
  • 110. @samnewman@velocityconf CONSUMER-DRIVEN CONTRACTS Expectations Prod Shipping Inventory
  • 111. @samnewman@velocityconf https://github.com/realestate-com-au/pact
  • 112. @samnewman@velocityconf CO-EXIST ENDPOINTS Customer Service Shipping
  • 113. @samnewman@velocityconf CO-EXIST ENDPOINTS Customer Service Shipping V2V1
  • 114. @samnewman@velocityconf CO-EXIST ENDPOINTS Customer Service Shipping V2V1
  • 115. @samnewman@velocityconf CO-EXIST ENDPOINTS Customer Service Shipping V2
  • 116. @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
  • 117. @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
  • 118. @samnewman@velocityconf DOCUMENTATION
  • 119. @samnewman@velocityconf
  • 120. @samnewman@velocityconf API GATEWAYS
  • 121. @samnewman@velocityconf SERVICE DISCOVERY
  • 122. @samnewman@velocityconf SERVICE DISCOVERY
  • 123. @samnewman@velocityconf SERVICE DISCOVERY
  • 124. @samnewman@velocityconf HUMANE REGISTRIES
  • 125. @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✔
  • 126. @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✔
  • 127. @samnewman@velocityconf
  • 128. @samnewman@velocityconf
  • 129. @samnewman@velocityconf
  • 130. @samnewman@velocityconf
  • 131. @samnewman@velocityconf
  • 132. @samnewman@velocityconf AVOID THE DISTRIBUTED SINGLE POINT OF FAILURE!
  • 133. @samnewman@velocityconf Strangler App
  • 134. @samnewman@velocityconf Strangler App Legacy App Legacy AppLegacy App
  • 135. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App
  • 136. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App
  • 137. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App
  • 138. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App 30 - 60 Concurrent Requests
  • 139. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App 30 - 60 Concurrent Requests > 800 Concurrent Requests
  • 140. @samnewman@velocityconf Strangler App Legacy App Legacy App Requests Legacy App 30 - 60 Concurrent Requests > 800 Concurrent Requests
  • 141. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool
  • 142. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool Failing…slowly!
  • 143. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool Failing…slowly!
  • 144. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool Failing…slowly! Thread-pool exhausted
  • 145. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool Failing…slowly! Thread-pool exhausted No requests to other downstream apps
  • 146. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool Failing…slowly! Thread-pool exhausted No requests to other downstream apps
  • 147. @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
  • 148. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Thread Pool
  • 149. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool
  • 150. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool
  • 151. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool Thread PoolThread Pool
  • 152. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool Thread PoolThread Pool Bulkhead Downstream Connections
  • 153. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool Thread PoolThread Pool Bulkhead Downstream Connections
  • 154. @samnewman@velocityconf Strangler App Legacy App Legacy App Legacy App Fix Timeouts Thread Pool Thread PoolThread Pool Bulkhead Downstream Connections Circuit Breakers
  • 155. @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✔
  • 156. @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✔
  • 157. @samnewman@velocityconf
  • 158. @samnewman@velocityconf STATS PAGES
  • 159. @samnewman@velocityconf STATS PAGES
  • 160. @samnewman@velocityconf AGGREGATION
  • 161. @samnewman@velocityconf LOGS AGGREGATION
  • 162. @samnewman@velocityconf LOGS STATS AGGREGATION
  • 163. @samnewman@velocityconf CORRELATION IDS
  • 164. @samnewman@velocityconf CORRELATION IDS ID 8964
  • 165. @samnewman@velocityconf CORRELATION IDS ID 8964 ID 8964 ID 8964 ID 8964 ID 8964
  • 166. @samnewman@velocityconf
  • 167. @samnewman@velocityconf
  • 168. @samnewman@velocityconf
  • 169. @samnewman@velocityconf SEMANTIC MONITORING
  • 170. @samnewman@velocityconf
  • 171. @samnewman@velocityconf Principles Of Microservices
  • 172. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain
  • 173. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain Culture Of Automation
  • 174. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details
  • 175. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things
  • 176. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things Deploy Independently
  • 177. @samnewman@velocityconf Principles Of Microservices Modelled Around Business Domain Culture Of Automation Hide Implementation Details Decentralise All The Things Deploy Independently Consumer First
  • 178. @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
  • 179. @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
  • 180. @samnewman@velocityconf Sam Newman Building Microservices DESIGNING FINE-GRAINED SYSTEMS http://buildingmicroservices.com/
  • 181. @samnewman@velocityconf Office Hours
  • 182. @samnewman@velocityconf Office Hours (well, 30mins)
  • 183. @samnewman@velocityconf Office Hours 12.30pm on Thursday (well, 30mins)
  • 184. @samnewman@velocityconf http://lanyrd.com/profile/samnewman/
  • 185. Sam Newman @samnewman THANKS!

×