Design Constraint: Every Salesforce Customer Uses Shared Infrastructure

Salesforce is built on what we refer to as a “Multitenant Architecture.”

Multitenancy – where many customers share the same infrastructure and database – is what enables Salesforce to deliver its application and services to tens of thousands of customers running on the same version of Salesforce.

A common analogy used to describe multitenancy is owning a house vs. renting a condo. In the days before cloud computing, IT had to maintain the computing infrastructure that drove the performance and availability of custom and packaged software applications.

Just like owning a house where you could tear down walls, build out additions, or add new infrastructure services such as electrical or plumbing, owning the infrastructure enabled IT to tune or upgrade the underlying infrastructure to scale software applications.

With Salesforce, we don’t own the house anymore. Salesforce is like a highrise where thousands of tenants rent condos.

While these condos are beautiful and spacious, we now have to adhere to constraints that we never did when we owned a house. We’re given four walls and we have to learn to live within them.

We can use any infrastructure services we want to, but since we are sharing these services with thousands of other tenants, there are limits in place to prevent any one tenant from hogging them all.

Why does multitenancy matter to us as developers? Because without it, we would have to spend a great deal of our time maintaining infrastructure and software releases.

By having every customer on the same hardware and the same version of the Salesforce application, we no longer have  to worry about all of the moving pieces that make up the underlying architecture.

When we moved from our house to our condo in the sky, Salesforce took over handling the infrastructure, allowing us to shift our focus to developing innovative applications that take full advantage of the power of the underlying platform and help our organizations or clients do business in new ways.

With three releases to Salesforce and the Lightning Platform happening each year, multitenancy also enables a virtuous cycle of innovation where end users and developers get access to upgraded features and functions every few months.

While many developers new to Salesforce and the Lightning Platform may see the constraints of a mutitentant architecture as a roadblock, learning to embrace these constraints and live within resource limitations is a fundamental conceptual leap that developers have to make in order to have any success with Apex.