Presented at NDC London, December 2014
Microservice architectures can lead to easier to change, more maintainable systems which can be more secure, performant and stable than previous designs. But what are the practical concerns associated with running more fine-grained systems, and what are the new things you’ll need to know if you want to embrace the power of smaller services without the new sources of complexity making your life a nightmare? This talk will delve deeper into the characteristics of well-behaved services, and will define some clear principles your services should follow. It will also discuss in more depth some of the challenges associated with managing and monitoring more complex distributed systems. We’ll discuss how you can design services to be more fault-tolerant, what technologies may exist in your own platform to get you started. We’ll end by giving some pointers as to when you should consider microservice architectures, and how you should go about introducing them in your own organisation.
29. Standardisation
TIP 1 / 14: Standardise in the gaps between services -
be flexible about what happens inside the boxes
Free For All
#ndclondon @samnewman
51. Integration Styles
An Evolutionary View
Data Oriented Procedure
Oriented
Document
Oriented
Resource
Oriented
#ndclondon @samnewman
52. Integration Styles
An Evolutionary View
Data Oriented Procedure
Oriented
Document
Oriented
Resource
Oriented
#ndclondon @samnewman
53. 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
166. Integration
Special Service Behaviour
Metrics TIP 13 / 14: Consider Service Templates to make it
easy to do the right thing!
Downstream
#ndclondon @samnewman