Journey of building a Saas product – Micro Service
Introduction
Micro-service is basically an architecture to loosely couple services from an application. Let’s dig deeper then. What is a service when we talk about building an application?
For a Saas perspective, usually for an enterprise application, there are many components/functions/feature is running while serving the default webpage. Those components/functions/feature can be business logic, emailing service, notification service, cron job and many more.
Application
For a larger organization, they can even break up API per module into different micro-service. This allow for the development team to break into functional team to work according to their functional API.
From a integration perspective, by designing such a loosely coupled architecture. Within the same application is also capable of running multiple different programming language. For a long and computing intensive function, can be run on C++, while using NodeJS to manage the medicore stuff.
There is this library call BullJS in the npm ecosystem which I highly recommend. This is another way to stitch up NodeJS application with their micro-service through REDIS. Totally bypass the need of restful endpoint, as well as persist those call in the case of crashes.
Project
The Saas product I am currently working on is still at the very begining stage and solo developer. Therefore, in order to start leveraging on such architecture is overkill for now.
Keep it simple for now and start building application on the back-end, until we see the need to start spawning those.