Understanding microservices and when to adopt them
As with all good buzzwords, there's no single view on what exactly microservices are. However, there's good consensus on the general idea behind it. That is, an architectural style and approach to designing applications as suites of independently deployable and loosely coupled services. These services are "small" and specialized, and the communication protocols are lightweight (typically an HTTP resource API). Furthermore, services can be written in different programming languages and use different storage technologies. You may have already heard these things or already know this much about microservices. So, what's all the fuss about, and why should you use microservices? Let's take a more in-depth look.
Why microservices?
A microservices architecture is perhaps best understood when contrasted with the traditional monolithic style that it is meant to replace. A monolithic application is designed...