Welcome to the guide for setting up the multi-tenant SaaS I built for my codelab at Google DevFest Lagos 2024, titled ‘Building a Multi-Tenant SaaS with Microservices on Kubernetes,’ using a microservices architecture.
This guide will help you deploy and run the microservices both locally and in a production environment (Kubernetes). The multi-tenant SaaS consists of a total of six services, working together to ensure the SaaS operates as expected as shown below.
- Authentication Service
- Billing Service
- Notification Service
- API Middleware
- Mailing Service
- Database Service (mysql)
Before starting, ensure you have the following installed:
- Docker Desktop
- Docker Compose (for local setup)
- Kubernetes CLI - for production setup (
kubectl
)
Follow the instructions in local-setup.md to run all services locally.
Check production-setup.md for steps on deploying the microservices to a Kubernetes cluster using CIVO.
For more details on how the microservices are designed and interact with each other, check out the architecture overview.