For anyone who has been developing web applications for 10 years or more, the recent rise of microservices sounds a lot like a development approach we already knew – service oriented architecture (SOA). Both architectures are focused on breaking up large monolithic applications into collections of smaller independent services, and both come with the promise of simplifying development.
So, what sets them apart? Are microservices really just “SOA done right”? How do the two approaches differ? More importantly, are microservices really better than SOA, or are we doomed to repeat the same mistakes of the past?