Glossary ● What is a Microservice

Different Perspectives

An application may be described from multiple, concurrent perspectives. In this post, we will describe an application from the perspective of its

  • organization into components
  • organization into packages
  • organization into processes

Organization into Components

Figure 1. An Application as a Set of Components

Organization into Packages

Figure 2. An Application as a Set of Packages

Organization into Processes

Figure 3. An Application as a Set of Processes

Monolithic vs Microservice-based

Figure 4.
  • An application is a purely monolithic application if all components are organized into one package.
  • An application is a purely microservice-based application if each component is organized into one package.
Figure 5.

Why Packages? Why not Processes?

Why should components be mapped onto packages and not onto processes as the defining characteristic of monolithic and microservice-based applications?

Figure 6. 3-Tier Application

Conclusion

Whether an application is a monolithic application or a microservice-based application is a function over the application’s relationship between its organization into components and its organization into packages:

  • An application is a purely monolithic application if all components are organized into one package.
  • An application is a purely microservice-based application if each component is organized into one package.

About this post

Concise and accurate definitions are essential to communicate complex concepts, both to technical and non-technical stakeholders. If we do not share a common vocabulary, we cannot share a common understanding!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store