Today I attended a full day workshop presented by Sam Newman and Scott Shaw on micro-services. Most people seemed pretty up with the why of micro-services, if you’re not James Lewis and Martin Fowler have talked at length on the subject. The workshop covered a wide range of topics and gave an excellent overview of the how and what of micro-services, something which is still lacking in literature (but is coming, see below).
I have seen Sam talk before, in fact his talk at Building Microservices. A lot of the concepts were very familiar to me, however being a workshop meant that there was significant discussion around those ideas. This gave me a great deal of insight into the thinking around micro-services and how people have dealt with the trade offs and choices they present.
It was especially nice to have confirmation that some of the ways I am heading with Biarri’s architecture are tried and tested paths. This goes doubly for the contract testing library good friend of mine has been encouraging me to port to Python for Biarri’s use.
A few other books, videos and tools popped up in the talk which I have noted for further investigation:
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
- Implementing Domain-Driven Design by Vaughn Vernon
- discovered last week.
- Postel’s law: Be conservative in what you do, be liberal in what you accept from others (often reworded as Be conservative in what you send, be liberal in what you accept”). A useful principle for micro-service communication.
- Hystrix, a latency and fault tolerance library” by Netflix. Probably overkill for Biarri’s architecture but it could come in handy in the future.
- 12factor.net, SaaS app principles which I also discovered last week but re-affirms it’s usefulness.
- A video by Stuart Halloway (I think) dealing with real time data and versioning. I did a google and couldn’t find a link so I am going to chase up Sam about it.
In all well worth my time.