For an effective and efficient Microservices architecture, it is imperative to let business capabilities determine microservices. In essence, we mean the business capabilities model should influence the modularity, granularity, and composition of the microservices, which in turn are the decomposition of an extensive application into manageable chunks.

At the outset, it is better to level-set the terms of business capabilities and microservices.

Microservices are loosely coupled atomic services that decompose an application into modular and elemental building blocks. It is a construct to move away from monolithic applications and instead thinks small and focus on bounding the concept and context of a little piece of functionality into a repeatable service.

Business capabilities are what a business does and can do and focus on the “What” and not the how. Business capabilities are logical, stable, and foundational. They abstract what a company does and can do into a level of abstraction that is useful and practical. Capabilities are business-friendly terms and are a bridge from business to IT fostering understanding and alignment.

In companies where concepts of business architecture and business capability mapping are well-established, one of the typical business architecture deliverables is a decomposition of the business into logical, multi-level groups of capabilities. Of course, the level of depth and granularity of the enterprise business capabilities map varies between organizations. Still, we at Capstera prefer to decompose the business capabilities to levels 3, 4, and beyond to achieve specificity and precision.  

How do Business Capabilities determine Microservices?

For example, let us take a simple example from something most of us are familiar with – Placing a Trade in an Online Brokerage Account. 

The process goes like the following:

Business Capabilities Determine Microservices - stock trading process example

 

 

The business capabilities involved in realizing this process may look as follows. (Please note that these are example capabilities; in this sample illustration, we are not rigorous with capability levels, granularity, and grouping.)

Business Capabilities determine Microservices

Moreover, the Microservices that are involved may be listed as follows (again, these are just examples and include a combination of Micro and Mini Services):

Business Capabilities determine Microservices

 

 

Overall a conceptual diagram of how business capabilities determine microservices may look like the diagram below:

Business Capabilities determine Microservices

 

In your company, do you let the business capabilities determine the microservices? How is the concept working in practice?

Related Products: