· Cập nhật lần cuối

Identify Monoliths, microservices and serverless

softwarearchitecture

Introduction

Technology terminology evolves over time. There are concepts that get stuck in the past, not everyone keeps up with what you interpret, or sometimes concepts get carried away by misconceptions.

Monoliths

In addition to scaling vertically, a monolith can also scale horizontally.

If multiple applications must be redeployed simultaneously whenever one component changes, it’s not microservices but rather distributed monolith.

A simple web app is a multi-component system. Even the simplest monolith consists of UI → Web server → Application → SQL/NoSQL.

What defines it as a monolith?

Tight coupling defines it as a monolith.

Microservices

Running a database per service can be costly and challenging to maintain in a microservice system.

If multiple applications share the same data, they are not microservices. Each microservice manages its own type of data.

There are various ways to logically separate data in databases, including logical databases, namespaces, and tables.

What defines it as a microservice?

Serverless

Serverless is not about using AWS Lambda or Google Cloud Functions for on-demand built or FaaS.

The key aspects of serverless are:

What defines it as serverless?

References