The verdict in three sentences
Moving from software deployed customer by customer to a multi-tenant SaaS costs CAD 60,000 to 180,000 (about EUR 40,000 to 120,000) and 4 to 8 months for a mid-sized Toronto software vendor. Your isolation model (row, schema or dedicated database) sets infrastructure cost between CAD 4 and 60 per customer per month and shapes your answers to enterprise security questionnaires. For most B2B vendors with 50 to 2,000 customers, row-level isolation with row-level security, plus dedicated databases for premium customers, is the best trade-off.
The three isolation models compared
A vendor that runs one instance per customer on separate servers often pays CAD 90 to 220 per customer per month in hosting and spends days on every update. Multi-tenancy shares code and infrastructure. The remaining question is how to separate data.
| Criterion | Row isolation (RLS) | Schema per customer | Dedicated database |
|---|---|---|---|
| Infrastructure cost per customer | CAD 4 to 12 / month | CAD 12 to 27 / month | CAD 30 to 60 / month |
| Isolation level | Logical, enforced by PostgreSQL | Stronger logical | Physical |
| Back up and restore one customer | Complex (filtered export) | Simple (schema dump) | Very simple |
| Schema migration (update) | 1 migration for all | N migrations to orchestrate | N migrations to orchestrate |
| Practical customer limit | 10,000 and more | 500 to 2,000 | 100 to 500 without automation |
| Fit with enterprise requirements | Medium | Good | Excellent |
| Refactoring development cost | CAD 60,000 to 105,000 | CAD 82,000 to 135,000 | CAD 105,000 to 180,000 |
PostgreSQL row-level security enforces the "tenant_id" filter inside the database itself: even if a developer forgets a condition in a query, the database refuses to return another customer's data. That is the safeguard most home-grown "multi-tenant" SaaS products lack.
Refactoring budget and schedule
| Workstream | Estimated cost (CAD) | Duration | Watch-out |
|---|---|---|---|
| Audit of existing system and architecture choice | 7,500 to 15,000 | 3 to 4 weeks | Map per-customer customisations |
| Tenant layer (identification, routing, RLS) | 15,000 to 37,500 | 4 to 8 weeks | Automated isolation tests are mandatory |
| Multi-organisation auth and SSO | 9,000 to 22,500 | 3 to 5 weeks | SAML or OIDC for enterprise accounts |
| Subscription billing and quotas | 7,500 to 22,500 | 3 to 4 weeks | Stripe Billing or equivalent |
| Migration of existing customer data | 12,000 to 45,000 | 4 to 10 weeks | Migrate in waves, 10 customers at a time |
| Observability, backups, disaster recovery | 9,000 to 37,500 | 2 to 4 weeks | Per-customer restore tested |
The most underestimated item is migration: each customer often has years of specific settings. Turn them into configurable options rather than code branches, or you will rebuild one product per customer on shared infrastructure.
Security and compliance
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Host in Canada (AWS Canada Central, Azure Toronto, OVHcloud Beauharnois) to simplify PIPEDA and Ontario public-sector requirements. Plan encryption at rest, per-tenant access logs, an annual penetration test (CAD 6,000 to 18,000) and a backup retention policy. For healthcare or public-sector customers, data residency rules may require dedicated databases for a subset of customers: a hybrid model then becomes natural.
Mini case study
Daniel, CTO of a Toronto vendor of practice-management software for veterinary clinics, runs 180 customers, each on its own server at CAD 110 per month, so CAD 19,800 per month in hosting, plus 2 days of updates per customer per release. He picks row isolation with RLS, plus 10 dedicated databases for clinic chains. Refactoring: CAD 127,000 over 6 months. New infrastructure: 170 customers at CAD 9 plus 10 customers at CAD 45, so CAD 1,980 per month. Savings: CAD 17,820 per month, plus about 300 person-days of updates avoided per year. Estimated payback: 7 months on hosting alone.
FAQ
How much does a multi-tenant SaaS refactor cost? Between CAD 60,000 and 180,000 (EUR 40,000 to 120,000) depending on the isolation model and the number of customers to migrate. Timelines run 4 to 8 months.
Is row-level security safe enough? Yes when it is enforced by the database and covered by automated cross-tenant isolation tests. Many SaaS products with over 10,000 customers rely on it.
When should I choose a dedicated database? For customers who require it contractually, health data, or enterprise accounts willing to pay CAD 300 to 750 more per month. Beyond 300 databases, automation becomes essential.
How do I migrate without disrupting customers? In waves of 5 to 10 customers, with an overnight cut-over window and a planned rollback. Migrating 180 customers usually takes 6 to 10 weeks.
Do I need to rewrite everything? Rarely: 50 to 70 % of business logic is usually kept. The work focuses on data access, authentication and per-customer configuration.
Let's scope your project. We audit your current software, recommend the right isolation model and price the refactor at CAD 60,000 to 180,000 with a wave-based migration plan. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.