Wednesday, June 17, 2015

Microservices,Cutting Through the Gordian Knot by Ian Cooper

First off, if you have a beard like Ian Cooper you have my respect. Secondly, as stated in a previous post, I am not an expert on micro services so I might not do these presentations the justice they deserve. The points that were discussed in the talk are:
  • ·         Managing Complexity
  • ·         Implementing Micro services
  • ·         Breaking up a Monolith
  • ·         Operating  Micro services

The presentation started with a historical run through of the problems of scaling the team size as the complexity of the software increases. To handle the problem of complexity Mr. Cooper went through decomposing the code and create loose coupling. The decomposition was first described through sub-routines and then discussed through a layering architecture. The benefits of a layered architecture are of course the decomposition and the loose coupling as well as high cohesion.  

At low to medium complexity the monolithic component design is suggested to be used. However when the complexity of the software becomes so great that it is desirable to use multiple teams that can be work in isolation Mr. Cooper suggests that it is time to break up the project in smaller components. Historicaly this has been done through RPC calls but Mr. Cooper goes through all the problems with using RPC style communicating for interacting between the components.

The initial discussion of design evolving over the decades culminates in the introduction of service providers. In the seminar the service is defined by:
  • ·         Autonomous
  • ·         Explicit Boundary
  • ·         Is a Bounded Context
  • ·         Is a Business Capability
  • ·         Eventually Consistent
  • ·         Decentralized Governance

Following the definition of the service the size of the service is discussed. To highlight this the drawbacks of an monolithic component are compared with the problems of  a swarm of “nano” services.


Due to the time constraint of the talk the presentation of breaking up a monolith and operating micro service became quite rushed.  Even though the end of the talk became quite hard to take in since it was a lot of information in rapid succession I found the seminar to be quite good.  

No comments:

Post a Comment