Considerations when developing in a multi-tenant environment
We've briefly mentioned what Salesforce is in the introduction, but it's also important to know what the Lightning Platform is before we start talking about multi-tenancy. The Lightning Platform is the infrastructure in which companies can enable one or more of the aforementioned cloud products, install apps from the AppExchange (the Salesforce store), or build their own custom apps.
Using the platform alone—that is, without one of the core cloud products such as Sales Cloud or Service Cloud—is also possible through Salesforce's platform as a service (PaaS) option. In a similar way to their CRM application, customers can pay a monthly fee to access the shared resources and build custom apps through PaaS.
The biggest benefits of using or buying a cloud service product is that everything is taken care of by the provider – that is, the servers, storage space, the infrastructure, networks, security, backups, and upgrades.
Some characteristics of using cloud-based services are as follows:
- They are subscription-based models
- They have low startup fees
- They have fixed and predictable costs (that is, you pay as you use the service)
- They are scalable
- They include regular, automated upgrades
- They are multi-tenancy platforms; this means that multiple customers use (or share) the same instance
These are important features to bear in mind when talking about multi-tenancy!