2015-07-09

The Microservice is not what it seems to be

The microservice hype where every application that uses a service should be implemented as a series of microservices is a little unhealthy. Like most technologies; if you don't know what you are getting yourself into there will be problems...

It is almost two months since Fowler wrote this excellent piece explaining that while microservices definitely bring value and are beneficial in a the more complex applications it is not always the right thing to use since there is a price.

I especially want to point out the idea that the two extremes; microservices and monolithic services are not the only options. Smaller "monoliths" with well defines boundaries (as microservices have) should also be considered because different situations call for different solutions.

2 comments:

  1. What is really missing from the majority speakers referring to Microservices are the concept of in-process services. The majority of microservices should not be exposed to the wire but merely exposed via in memory transport. Seriously what purpose is there for scaling up your DAL microservice? How is this magically going to help anything? So now you have 1 website, 1 business microservice, and 3 DAL microservices. The only word for that is absurd.

    Now running the DAL in-process of the business microservice, that brings alot of sanity to scale out to 3. Especially since 1 website can likely (easily?) handle the load that 3 business microservices would be able to handle with real logic in them. Of course that brings the next question, regardless of where your 3 DALs sit, can your database handle it? Probably not if it's a highly relational model, if it's a very flat denormalized model I would also expect a single database to be able to handle the load of numerous logic microservices.

    ReplyDelete