The architecture of the Salesforce can be understood as a series of layers. Each layer of the architecture has different features and functionality. Each layer is described below:
Figure 1 : The Salesforce Architecture
The multi-tenant architecture means one common application for multiple groups or clients. In such an architecture, multiple clients use the same server, but their oaks are isolated from each other. It means the data of one client is secure and isolated from other groups or clients.
Because of multi-tenancy, any developer can develop an application, upload it on the cloud, and easily share it with multiple clients or groups. Multiple users share the same server and applications, hence it is very cost-effective. In Salesforce, because of this multi-tenant architecture, all customers' data is saved in a single database.
The Salesforce platform follows the meta-data development model. The metadata means data about the data. Salesforce stores the metadata in the shared database along with the data. It means it stores the data as well as what data does.
The tenant-specific data ensures that the common data is only shared with one tenant, not with another tenant or group. This ensures the security of the data even in the shared database.
Figure 2 : Metadata Architecture
The metadata driven platform makes it easy for customization and scaling up as the amount of data or concurrent user instances increase.
The Salesforce metadata-driven model allows the developers to create their applications easily with the help of various tools. But sometimes developers need some more functionalities for their apps to make some modifications. To make such modifications, Salesforce provides a powerful APIs. These APIs helps the developers to customize the Salesforce application. These APIs allows the various bits of programming to interface with each other and trade data. Without knowing many details, we can connect our apps with other apps.
The API provides a simple but powerful, and open way to programmatically access the data and any app running on the Salesforce platform. These APIs helps the developers to access apps from any location, using any programming language that supports Web services, like Java, PHP, C#, or .NET.