← Back to Writing
August 24, 2026 · 2 min

Running One SaaS in Five Countries

SaaSDevOpsProduct

Happy Pet Tech has businesses live in India, the UAE, Australia, the Philippines, and Thailand. Five countries is enough to force a clear answer to one question: what is allowed to differ between regions, and what absolutely is not?

What must be identical: the software

Every region runs the same artifact. The pipeline builds once and deploys that build everywhere, with configuration as the only difference between environments. The alternative is drift, where regions slowly stop being the same product and a deploy that works in four countries fails in the fifth for reasons nobody can reproduce. I wrote more about the pipeline side in CI/CD with GitLab for a Pet-Tech SaaS.

What differs: configuration, not code

Regional differences live in per-tenant configuration, next to everything else that varies between businesses: which modules are on, what things are called, country-specific settings. The application branches on config, and the moment a country-specific if shows up in application code, the single-codebase promise starts leaking. This is the same mechanism that lets one codebase serve both groomers and vet clinics, which I covered in Architecting a Multi-Tenant SaaS.

Meeting customers on their channel

Appointment reminders go out on WhatsApp. In most of our markets, that’s the channel where a message gets seen, and a reminder nobody sees does nothing for no-shows. The booking calendar drives it: grooming, boarding, and clinic visits get scheduled, reminders go out automatically, and fewer people forget to show up.

Releases respect the spread

With customers from Manila to Dubai, there is no deploy window that’s off-hours everywhere. Someone is always in the middle of their workday when a release goes out. That’s a big part of why deploys are staged: a release reaches a slice first and continues only if metrics hold, so a bad one stops before it reaches all five countries at once.

M
Manthan T.
Systems Engineer · mnthan.com