Have you ever tried to guess the architecture from the giants such as Facebook, Amazon, Alibaba, Tokopedia, etc? They provide many services for us. We can get them from any platform such as a web or mobile. You can imagine how big it is. How much computer resources they need.
That is called Monolithic. It is software architecture in which all of the modules are into a single program. It is simple to develop, test, deploy, and scale. This kind of software architecture is suitable for starters.
Microservices is the opposite. It is software architecture where all services are modular. They are all independent but communicate with each other. They could be made in different programming languages, different platforms, and different computers.
For example, an application presented in Web, Android, and iOS. All services are giving JSON as the output. They communicate using the REST API. All services have their own servers or resources. They have some databases that can be only accessed by specific services. Let's say that the application is an eCommerce. The services could be Users, Products, Orders, Payments, etc.
- Simple REST API with TypeScript
- Cracking SQL Interview
- Cascading Style Sheets (CSS)
- HyperText Markup Language (HTML)