It is not completely unexpected that people consider microservices a latest fad, but software developers for decades have been chasing the same dream founded on sound software development principles of reusable components, easy deployment, distributed code , a tiered scalable architecture and compartmentalization of ideas.

Over the last 15 years (at least), we’ve seen several runs at creating technology with these requirements with varied success. ActiveX, COM & DCOM, CORBA, SOAP, SOA, REST, XML, JSON, the list of TLAs is never ending. Microservices is just the latest implementation of those good principles using the latest technology as an evolutionary increment from the last iteration. I highlighted some of the attractions of service driven development in this post (Considering Thick Client JavaScript Apps) from 4 years ago when I discussed how attractive a development model on these principles could be.

What is interesting about Microservices though is how close it is to previous iterations since the evolutionary leaps are getting smaller which means either we are close to completing the evolutionary process, or we have nowhere else to evolve to.