Microservices Architecture Explained Simply

Luci Bro
3 min readMay 11, 2022

Microservices are one of the architectural approaches for building distributed software applications. Organizations are adopting Microservice architecture to achieve faster delivery, better resiliency, and higher safety as the scale of their systems increases. Over the past decade, microservices have been used in different forms while they shared some common characteristics.

“Microservices are small, autonomous services that work together.” Sam Newman

One of the significant differences that sets microservices apart from architectures like monolithic is how the entire system is broken into smaller functions that are running independently within a bounded context. Each microservice can then be extended and deployed without affecting any other microservices that are running.

Comparison between Monolithic and Microservices

As of today, there is no precise definition for the term microservices; there are, however, common characteristics that every software must possess to be able to claim the term microservices for itself. These characteristics are but are not limited to:

Small in Size: How large or small each service is supposed to be is a relative term that is varying based on different factors such as whether the services are being designed around high-level business requirements like Customer Authentication/Authorization or at function level such as Customer Login/logout functionality. Having said that, based on some survey that was conducted by analyzing different teams in 40 companies, having services that are really small with under 100 LOC, or very large with above 1000 LOC are rarely practiced. It also shows that services are focused and narrowed on performing one particular task.

Bounded in Context: In a microservice architecture, each service is en- capsulated around a particular business capability, and a subset of those capabilities creates a domain. These encapsulated services operate within the boundary of the domain and do not get exposed to the rest of the system. This can then result to have better autonomy, decentralized management, and easier for the services to be repealed and replaced. If there is a need for…