What are Microservices and Microservice Architecture?

Microservices by Paul Downey - https://www.flickr.com/photos/psd/

A few of my colleagues have been asking whether we should use microservices for our application design pattern. As usual I’m always a little behind the times on new design patterns so some research was needed…

A quick search on the web brought up a few interesting articles/resources:

In summary:

  • The microservice design pattern originated around 2012 and became more established from 2014.
  • Definition:

Microservices – also known as the microservice architecture – is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.

Credit: http://microservices.io/

  • Microservice patterns focus more on the product than projects – it breaks apart monolithic applications into product focused modular services.
  • Building an application can mean that you need to call multiple microservices at the same time to support the required application capability.
  • SOA is a strategic initiative to change the IT of the whole enterprise, separating it into different services, thereby allowing the enterprise to be more flexible.
  • Microservices are a way to structure a specific application, involving only the team responsible for the application.

 

Thanks to Paul Downey https://www.flickr.com/photos/psd/ for the post image.