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:
- Microservices on Wikipedia
- Microservice Architecture by Chris Richardson
- Microservices by Martin Fowler and James Lewis
- Microservices and SOA By Bob Rhubart (Oracle OTN)
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.