In the world of technology, “multi” is quite a common term: multi-tasking when talking about phones, multi-tenant when discussing cloud solutions, and multi-universe in the context of superhero movies. Oh, wait – we will not be focusing on that last part in this book.

When we mention multi-tenant, we are referring to a model where a single software instance serves multiple clients. All these clients use the same code base, resources, and infrastructure but are isolated from each other and operate independently.

Multi-tenant can be likened to a hotel; let us call it the Dark Side of the Moon. Hotel guests arrive and use the same plumbing, service, building, and communal areas, but each has their own room, accessible only to them and the management.

This model is frequently adopted by hosting companies and cloud solution providers. It offers various advantages. Easy software updates and scaling are possible while simultaneously catering to many clients.

However, security is paramount for the client. Using the hotel analogy, what would happen if you received an access card but mistakenly went to the wrong floor? Guided by habit rather than checking the number, you would find yourself entering and settling into a bed already occupied by John Doe. (A story based on true events.) I assume you would be very surprised, and more importantly, you would never patronize that hotel again. The same principle applies to multi-tenant structures; companies uphold stringent security standards, creating barriers between one client’s data and another’s. The next diagram is a simple explanation of what such a structure looks like:

Figure 2.1: Multi-tenant architecture

Why am I delving into this? Because Salesforce, regarded as a leader in cloud technology (they do have a cloud in their logo; come on!), employs multi-tenancy. This enables them to provide services to millions of clients while maintaining high quality, efficiency, and security. But we might wonder what would happen if Salesforce changed its structure, and each org became a separate server. I think I can describe it by quoting an ABBA song: Money, Money, Money…

So, how does Salesforce implement such a solution? Salesforce utilizes advanced resource allocation and monitoring technology to ensure that every tenant can use their designated number of resources, such as computing power, memory, and storage. This technology uses flexible resource throttling and load balancing. This is why Salesforce can dynamically adapt to tenants’ requirements while guaranteeing real-time computing power for all.

Salesforce has been perfecting this multi-tenant technology for many years, achieving levels of performance, scalability, and security previously thought unreachable.

How to attain such a structure? Naturally, it is not simple. Every tenant receives a unique ID.

Each ID is subject to stringent access controls. When a user logs in to the system, they are verified for the correct username and password, assigned to a specific org, and given access to the ID. This ensures that the user only views their data.

But how can a tenant customize their space? Let us go back to the “Dark Side of the Moon” hotel example. What if the staff did not allow us to bring in and unpack our luggage, limiting us to just those small shampoos? That would not be convenient. That is why almost every software operating in a multi-tenant structure provides the ability to customize its software to meet client needs. The first and most crucial element is isolating the configuration and personalization of each client, allowing them to tailor their environment to their vision of the ideal CRM. The second is deeper customization, such as adding their components. Salesforce has achieved a very high level in this field, as the system allows for the use of Apex, Visualforce, or Lightning Components. And the last is integration, connecting the environment with external applications.

Yet, what would modern technologies be without challenges? For some, it is defeating the main boss on a console; for others, it is preparing a meal; for multi-tenant technology, the challenges include resource management, conflicts between tenants, updates and modifications, and compatibility of custom solutions.

Let us discuss each of these, starting with resource management. In our example hotel, there are many guests, but what if one guest took all the hot water? The remaining guests would be displeased. Therefore, Salesforce equitably distributes its computing power. Every tenant gets exactly as much as the others.

Conflicts – well, there probably is not a person in the world peaceful enough to never have had a conflict. In hotels, various situations can arise that may affect other guests. For example, the unfortunate Mr. Doe caused a short circuit, resulting in a power outage on the entire floor. As a result, Ms. Doe could not connect her laptop to the scheduled meeting and missed the opportunity to sell an excellent consulting project – a bit of a butterfly effect, right?

Similarly, in Salesforce, certain actions can affect others. However, currently, Salesforce closely monitors everything on the orgs, ensuring such situations rarely occur.

Leave a Reply

Your email address will not be published. Required fields are marked *