August 01, 2018 , ☕️ 3 min read
The idea of separating application into a smaller parts is nothing new, there are other programming paradigms which address this same concept However, recent technology advances coupled with an increasing expectation of integrated “digital experiences” have given rise to a new breed of development tools and techniques used to meet the needs of modern business applications.
A small autonomous services that works together
that not detailed definition let’s discuss it more
Small and focused on doing one thing well, when it comes to how small is small enough the smaller the service the more you maximize the benefits and the down sides of microservices, in a monolithic codebase it can be difficult to know where a change needs to be made because the codebase getting larger overtime, so we keep trying to ensuere code quality by creating abstraction or modules the drive to have related code grouped together is an important concept this comes to single responsibility principles, that’s why we focus our services boundaries on business boundaries making it obvious where code lives for a given piece of functionality where the service focused on an explicit boundaries.
**Autonomous, **it means that the microservice is a separated entity that might be deployed as an isolated service on platform or it might has it’s own operation system process.
This blog is my notes on chapter 1 from Building microservices book for sam newman and it’s a part of my blog series discuss microservice architecture.