20140612

Microserve This

If you develop in the "SOA" space, I highly recommend reading Martin Fowler's great overview of microservices.

Martin thinks that microservices are a very promising architectural style for agile & evolutionary development of services-based solutions, and I tend to agree based on my services-based solution development experiences.


In particular, Martin's characterization of microservices development at Netflix - exposing battle-tested libraries to teams through microservices that they can mash up - is spot-on.  This is a flexible & scalable approach I think, and Netflix has obviously got a lot right on a grand scale.


One of Martin's other great points - albeit probably unexpected to some - is that teams should generally start with monolithic applications then jackhammer them into microservices as needed.

Evolutionary, needs-driven, JIT architecture sometimes seems like "low road" development, making overarchitecting and looking too far ahead tempting; but it is a sound approach in my experience - helping teams find what works and what needs to evolve through refactoring.