Role of an Architect

A project's architect focuses on 3 key tasks:

  • Decomposing the business problem
  • Establishing service granularity
  • Defining service interfaces

An architect’s role on a software project is to provide a working model of the problem that needs to be solved. The job of the architect is to provide the scaffolding against which developers will build their code so that all the pieces of the application fit together.

In microservices architecture, the business problem is broken down into small chunks that represent discrete domains of activity. These chunks encapsulate the business rules and the data logic associated with a particular part of the business domain.

Although, it is not always feasible to encapsulate the business rules to carry out a single transaction in a single microservice. There will often be situations where you need to have groups of microservices working across different parts of the business domain to coordinate and complete an entire transaction. An architect tears apart the service boundaries of a set of microservices by looking at where the data domain doesn’t seem to fit together. For example, an architect might look at a business flow that’s to be carried out by code and realize that they need both customer and product information. i.e. multiple tables are involved. The presence of two discrete data domains is a good indication that multiple microservices are at play. How the two different parts of the business transaction interact usually becomes the service interface for the microservices.

results matching ""

    No results matching ""