I'm sure I'm not the first hitting this problem but I haven't found any useful question/answer on StackOverflow.
I've started working in a company that proposes a SaaS solution which uses App Service and Azure SQL Database. The architecture is
- Multi-Tenant at app level
- Single-Tenant at database level
a bit like this:
Naturally we have problems estimating costs at the end of the month.
My solution would be to put in place Azure Cost Management connector in Power BI but even that will not help me estimate exactly the costs of the App service per customer.
Microsoft itself suggests to Allocate costs by using resource tags but even that way isn't precise enough for me:
With this tagging strategy, it's easy to filter the cost information to a single stamp. It's also easy to find the cost of the tenant-specific resources, such as the total cost of the database for tenant C. Shared components don't have a tenant-id tag, but the cost of the shared components for a stamp can be divided between the tenants who are assigned to use that stamp or shard.
So once again Microsoft is underlining that the only way to calculate costs precisely is to go full Single-Tenant (Tenant C in the example).
Do you agree that going Single-Tenant at App and database level is the only way out?
Can you give me a few examples of how you address this problem in your company?