Explaining the Salesforce architecture
The power of the Salesforce platform is its cloud nature: everything is stored in a safe and trusted cloud with data centers spread across the world.
This architecture doesn't simply mean that your code and data is stored in someone else's computer (that's how cloud haters ironically describe the cloud), but that your data is placed in data centers with the highest levels of security (that would cost your company many dollars to run the same, in terms of hardware, resources, people, and maintenance).
The most important feature of this cloud is multitenancy. Multitenancy refers to a software architecture in which a single instance of software (the Salesforce platform itself) runs on a specific server and serves multiple tenants, where a tenant is a group of users (your company's CRM) who share common access and privileges on that software instance (your CRM's specific customization).
This means that your CRM customizations (called metadata) and data are in the same place where other Salesforce customers' metadata and data reside, but the architecture is so well structured and secure that you will never be able to access that data and customizations (you'll only see what you own).
As pictured in the Trailhead module at https://trailhead.salesforce.com/content/learn/modules/starting_force_com/starting_understanding_arch, you can think of Salesforce as an apartment building: your specific CRM owns one or more apartments and has neighbors with which your company shares some of the resources (stairs, elevator, electricity, water supplies, common spaces, and so on). Regardless of your own apartment size, Salesforce guarantees the same level of service, such as computing power, data storage, access performance, and core features (authentication, reporting performances, and so on).
This is a winning approach, as it delivers the following:
- Scalability: A multi-tenant infrastructure makes it easy to increase capacity when more resources are required. If a server is upgraded, the whole client base takes advantage of it.
- Performance: The nature of multitenancy allows optimum performance maximization, letting any client use the right amount of resources it needs.
- Service: With a single platform to administer, the Salesforce cloud shares maintenance plans and software upgrades (one software code base to rule them all) among all its clients.
- Upgrades: Given that there is a single centralized software that runs the base of the platform, software updates are seamless, which leads to more robust software and the possibility of constantly delivering new and upgraded features (each Salesforce main release takes place in about 5 minutes). The Salesforce platform provides three main upgrades a year – winter, spring, and summer releases – which usually brings tens of new features as well as platform improvements and bug fixes. If you are curious about all the different logos each release has produced, take a look at SFDC Monkey's blog attempt to list them all, at https://sfdcmonkey.com/salesforce-release-logo-journey/. Jump to https://www.salesforce.com/releases/ to have a look at the latest release.
- Metadata: Metadata is just data about data, which means that metadata describes how data is shaped and accessed, defining user interfaces, automation processes, and security access rules (and way more than this). Metadata is stored in the Salesforce platform along with actual data, so each Salesforce customer can define its own way to represent and use its data through metadata definitions, without affecting other customers in the same multitenant architecture and without being affected by frequent platform seamless upgrades.
It is no surprise that this whole book is focused on the ways that the platform lets you manipulate metadata and data with low code usage.
Before starting our journey through Salesforce customization, let's talk about a fun way to learn stuff about Salesforce.