The answer to your question depends on the business model you want for your clients.
Multitenant Database can be a real headache if some databases are heavily populated
See my old posts
Getting back to your Question ...
If you have a high-end client you probably would want a dedicated VM for that client. You could probably charge that high-end client more $$$ for having a private database that could be isolated from application and hardware maintenances if other clients need servicing.
If you have many clients with very lightweight data, those clients could have their databases hosted in multitenant fashions.
Here is another issue that could arise : If their is a common schema change all clients must have, then high-end clients would have their own schedule for maintenances independent of their multitenant counterparts. Perhaps adding indexes to tables could be done for clients with lots of data whereas you could hold off adding indexes for smaller client databases.
What is interesting is this : If a query performs well for one client and not for another, then you have to decide if a query can be improved for the one client on a dedicated VM or for all clients (dedicated or not). This can make query performance come at a premium (on your time and/or money).
To answer your question
- Have a new client with a very large database start on a dedicated VM
- Have a new client with a small database automatically generated in a multitenant environment
- As a client in the multitenant environment get larger, you can migrate it to a dedicate VM and introduce a different pricing model
Make sure the pricing model is properly supported
- Cheaper pricing model for subscribers to the multitenant environment
- More expensive model for dedicate subscribers (of course, factoring in the price of a separate VM per client)