Recently there’s been a lot of articles, hypes and debates on microservices. Twitter is a good place to start. If you’re like me, you’re probably wondering what the fuss is about. What is a microservice? What are the benefits? I had all this questions racing through my mind when I first heard about microservices. Based on my research and findings, I will give you a brief introduction to what I can make of microservices. If you are a software developer or project manager, you can read loads of articles on the internet to make an informed decision.
Just as the name implies, the concept of a Microservice Architectural pattern is “to split your application into set of smaller, interconnected services”. According to Adrian Cockroft,
> Microservices are a loosely coupled Service-Oriented Architecture (SOA) with bounded contexts.
So much for being a beginners approach. In simple terms, loosely coupled means dependency is reduced (I love the word dependency). When updates are made to a part of the system, updates will not be required for other parts in the system because coupling/ dependency is reduced.
Microservices have been around for quite a while actually, but with the revolution of web services it explains the hype.
###Benefits of Microservices
– Evolutionary design: Adding new services to your application is relatively easy. This architectural pattern can handle changes in business capabilities
– Developed independently: Developers choose the technology they would use in building a service. The team of developers are typically small and focus on a particular service.
– Independent deployable unit: Each service developed can be deployed independently. Without affecting the whole application.
– Easy to scale
It all sounds too good, but there are disadvantages that come with this architectural pattern. However, depending on the type of application or project you are working on, you decide if the pros outweigh the cons; and if using a microservice architectural pattern is what you need.
For more information on Microservice Architectural Pattern, you can have a look at this guest post by Chris Richardson on [nginx](http://nginx.com/blog/introduction-to-microservices/). He’s doing a 7-part series on designing, building, and deploying microservices.