ποΈ
Salesforce Platform Fundamentals
Multi-tenant architecture, standard vs custom objects, declarative vs programmatic tools, Lightning Apps, and AppExchange.
β±οΈ Estimated reading time: 45 minutes
The Salesforce Platform and Multi-Tenant Architecture
Salesforce is a cloud-based platform operating under a multi-tenant model. This means all organizations (customers) share the same physical infrastructure β servers, database, and codebase β but each organization has its data and configurations completely isolated.
Why is the multi-tenant model important?
- Automatic updates: Salesforce releases 3 updates per year (Winter, Spring, Summer) applied to all orgs simultaneously without customer intervention.
- No infrastructure management: No servers to maintain, update, or scale.
- Economy of scale: Sharing resources reduces cost per user.
Metadata-Driven Architecture:
Salesforce separates data from metadata. Metadata defines the platform's structure and behavior: objects, fields, flows, page layouts, profiles, etc. When an administrator creates a custom field, they are creating metadata β not directly modifying the database structure.
This architecture allows each org to have a completely different configuration without modifying the shared codebase.
Governor Limits:
To ensure no tenant monopolizes shared resources, Salesforce enforces strict limits:
Key exam concept: If a question describes a scenario where a process fails without apparent explanation, consider whether a Governor Limit is being violated.
Why is the multi-tenant model important?
- Automatic updates: Salesforce releases 3 updates per year (Winter, Spring, Summer) applied to all orgs simultaneously without customer intervention.
- No infrastructure management: No servers to maintain, update, or scale.
- Economy of scale: Sharing resources reduces cost per user.
Metadata-Driven Architecture:
Salesforce separates data from metadata. Metadata defines the platform's structure and behavior: objects, fields, flows, page layouts, profiles, etc. When an administrator creates a custom field, they are creating metadata β not directly modifying the database structure.
This architecture allows each org to have a completely different configuration without modifying the shared codebase.
Governor Limits:
To ensure no tenant monopolizes shared resources, Salesforce enforces strict limits:
| Resource | Limit |
|---|---|
| Custom fields per object | 800 |
| Relationships per object (Lookup + MD) | 40 (25 Lookup + 2 MD) |
| Validation rules per object | 500 |
| Custom objects per org | 2,000 (Enterprise Edition) |
| Compiled formula characters | 5,000 |
| Record-Triggered Flows per object | No hard limit, but 1 recommended |
| SOQL queries per transaction (sync) | 100 |
| DML records per transaction | 10,000 |
Key exam concept: If a question describes a scenario where a process fails without apparent explanation, consider whether a Governor Limit is being violated.
π― Key Points
- β Multi-tenant: all customers share infrastructure but data is isolated
- β Metadata-Driven: customization is stored as metadata, not changes to the codebase
- β 3 releases per year: Winter, Spring, Summer β automatic updates
- β Governor Limits protect performance for all tenants
- β Most asked limits: 800 custom fields, 5,000 compiled formula chars, 100 SOQL per transaction
Standard, Custom, and External Objects
Objects in Salesforce are equivalent to tables in a relational database. Each object contains fields (columns) and records (rows).
Standard Objects:
Included with Salesforce with predefined functionality:
Cannot be deleted but can be customized by adding fields, modifying page layouts, and creating validation rules.
Custom Objects:
Created for specific business needs. Identified by the
For a custom object to be visible you need:
1. Create a Custom Tab for the object.
2. Configure the Page Layout with desired fields.
3. Assign CRUD permissions in the user's Profile or Permission Set.
4. Include the Tab in the corresponding Lightning App.
External Objects:
Identified by the
Big Objects:
Designed to store massive data volumes (billions of records) such as historical or audit data. Suffix
Suffix comparison (frequent exam question):
Standard Objects:
Included with Salesforce with predefined functionality:
| Object | Main Function | Key Relationship |
|---|---|---|
| Account | Companies, organizations | Parent of Contact, Opportunity, Case |
| Contact | People associated with accounts | Child of Account |
| Opportunity | Potential deals/sales | Has stages (Stage) and monetary values |
| Lead | Unqualified prospects | Converts to Account + Contact + Opportunity |
| Case | Support issues/requests | Has status, priority, origin |
| Campaign | Marketing campaigns | Related to Leads and Contacts |
| Task / Event | Activities | Polymorphic (WhatId, WhoId) |
| Product / Pricebook | Catalog and pricing | Products associate to Opportunities via OpportunityLineItem |
Cannot be deleted but can be customized by adding fields, modifying page layouts, and creating validation rules.
Custom Objects:
Created for specific business needs. Identified by the
__c suffix (example: Project__c, Invoice__c).For a custom object to be visible you need:
1. Create a Custom Tab for the object.
2. Configure the Page Layout with desired fields.
3. Assign CRUD permissions in the user's Profile or Permission Set.
4. Include the Tab in the corresponding Lightning App.
External Objects:
Identified by the
__x suffix. Connect to data stored outside Salesforce (SAP, external databases) without importing data. Use Salesforce Connect (OData or Cross-Org adapter). Data is queried in real-time.Big Objects:
Designed to store massive data volumes (billions of records) such as historical or audit data. Suffix
__b. Limited functionality (don't support triggers, flows, or standard reports).Suffix comparison (frequent exam question):
| Suffix | Type | Example |
|---|---|---|
| (none) | Standard object | Account, Contact |
__c | Custom object/field | Invoice__c, Amount__c |
__r | Relationship reference | Account__r.Name |
__x | External object | SAP_Order__x |
__b | Big Object | Audit_Log__b |
__mdt | Custom Metadata Type | Config_Setting__mdt |
__e | Platform Event | Order_Placed__e |
π― Key Points
- β Standard objects cannot be deleted, only customized
- β Lead Conversion automatically creates Account + Contact + Opportunity
- β For a Custom Object to be visible: Tab + Page Layout + Permissions + App
- β External Objects (__x) query external data in real-time without importing
- β Suffixes __c, __r, __x, __b, __mdt, __e are frequent exam questions
Declarative vs Programmatic Development
One of the most important PAB exam questions is knowing when to use a declarative (no-code) vs programmatic (code) solution.
Declarative Tools (Point-and-Click):
- Flow Builder (automation)
- Validation Rules
- Formula Fields
- Process Builder (legacy, do not use for new development)
- Workflow Rules (legacy)
- Approval Processes
- Lightning App Builder (interface design)
- Schema Builder (visual data modeling)
- Report Builder (reports and dashboards)
- Page Layouts, Record Types, Quick Actions
Programmatic Tools (require code):
- Apex: Java-like programming language for complex server logic.
- Visualforce: Custom web pages (legacy, replaced by LWC).
- Lightning Web Components (LWC): Modern UI components based on web standards.
- SOQL/SOSL: Data query languages.
- Apex Triggers: Logic that executes before/after database operations.
Salesforce exam rule: ALWAYS prefer the declarative solution unless technically impossible. Salesforce promotes the "clicks, not code" principle.
When DO you need code (Apex/LWC)?
- Logic requiring more than 100 SOQL queries in a transaction.
- Complex integrations with external web services (REST/SOAP callouts).
- Highly customized user interfaces not achievable with standard components.
- Massive data processing (Batch Apex).
- Real-time logic with extreme performance requirements.
- Functionality that doesn't exist in declarative tools.
When are Flows + declarative tools sufficient?
- Creating or updating records based on criteria.
- Sending emails based on record changes.
- Creating dynamic forms for users (Screen Flows).
- Automating approvals.
- Scheduling recurring tasks (Schedule-Triggered Flows).
- Most standard business logic.
Declarative Tools (Point-and-Click):
- Flow Builder (automation)
- Validation Rules
- Formula Fields
- Process Builder (legacy, do not use for new development)
- Workflow Rules (legacy)
- Approval Processes
- Lightning App Builder (interface design)
- Schema Builder (visual data modeling)
- Report Builder (reports and dashboards)
- Page Layouts, Record Types, Quick Actions
Programmatic Tools (require code):
- Apex: Java-like programming language for complex server logic.
- Visualforce: Custom web pages (legacy, replaced by LWC).
- Lightning Web Components (LWC): Modern UI components based on web standards.
- SOQL/SOSL: Data query languages.
- Apex Triggers: Logic that executes before/after database operations.
Salesforce exam rule: ALWAYS prefer the declarative solution unless technically impossible. Salesforce promotes the "clicks, not code" principle.
When DO you need code (Apex/LWC)?
- Logic requiring more than 100 SOQL queries in a transaction.
- Complex integrations with external web services (REST/SOAP callouts).
- Highly customized user interfaces not achievable with standard components.
- Massive data processing (Batch Apex).
- Real-time logic with extreme performance requirements.
- Functionality that doesn't exist in declarative tools.
When are Flows + declarative tools sufficient?
- Creating or updating records based on criteria.
- Sending emails based on record changes.
- Creating dynamic forms for users (Screen Flows).
- Automating approvals.
- Scheduling recurring tasks (Schedule-Triggered Flows).
- Most standard business logic.
π― Key Points
- β Fundamental exam principle: always choose the declarative solution first (clicks > code)
- β Flow Builder replaces Process Builder and Workflow Rules (both are legacy)
- β Apex is only needed when declarative tools cannot meet the requirement
- β LWC replaces Visualforce for modern custom interfaces
- β If an exam question offers both Flow AND Apex for the same scenario, the answer is Flow
AppExchange, Editions, and Salesforce Environments
AppExchange is Salesforce's marketplace where you install applications (apps), Lightning components, and third-party solutions. It's like Salesforce's "app store."
AppExchange listing types:
- Apps (Managed Packages): Complete packaged solutions (e.g., DocuSign, Conga).
- Lightning Components: Individual reusable components for App Builder.
- Flow Templates: Prebuilt automation templates.
- Bolt Solutions: Community/portal templates.
- Consulting Partners: Consulting services (not software).
Important for the exam: AppExchange solutions go through a mandatory Security Review by Salesforce before being published.
Salesforce Editions:
For the exam: Enterprise Edition is the standard reference. Most questions assume Enterprise.
Environment Types:
- Production: Live environment with real business data. There is only ONE.
- Sandbox: Copy of the production environment for development and testing. You can have multiple.
- Developer Edition: Free org for learning and developing (NOT a sandbox).
- Scratch Org: Temporary development environment (Salesforce DX). Self-destructs after a configured period.
- Trailhead Playground: Free org for practicing on Trailhead.
Important concept: Production and Sandbox are connected (same org), enabling Change Sets for migrating configurations. Developer Edition and Scratch Orgs are independent orgs.
AppExchange listing types:
- Apps (Managed Packages): Complete packaged solutions (e.g., DocuSign, Conga).
- Lightning Components: Individual reusable components for App Builder.
- Flow Templates: Prebuilt automation templates.
- Bolt Solutions: Community/portal templates.
- Consulting Partners: Consulting services (not software).
Important for the exam: AppExchange solutions go through a mandatory Security Review by Salesforce before being published.
Salesforce Editions:
| Edition | Custom Objects | Storage | Sandbox | For whom |
|---|---|---|---|---|
| Essentials | 5 | Limited | No | Small businesses |
| Professional | 50 | 10 GB | Developer | SMBs |
| Enterprise | 200 | 10 GB + 20MB/user | Dev + Dev Pro + Partial | Medium-large companies |
| Unlimited | 2,000 | 10 GB + 120MB/user | All types | Large enterprises |
| Developer Edition | 400 | 5 MB | No (it IS a sandbox itself) | Development and testing |
For the exam: Enterprise Edition is the standard reference. Most questions assume Enterprise.
Environment Types:
- Production: Live environment with real business data. There is only ONE.
- Sandbox: Copy of the production environment for development and testing. You can have multiple.
- Developer Edition: Free org for learning and developing (NOT a sandbox).
- Scratch Org: Temporary development environment (Salesforce DX). Self-destructs after a configured period.
- Trailhead Playground: Free org for practicing on Trailhead.
Important concept: Production and Sandbox are connected (same org), enabling Change Sets for migrating configurations. Developer Edition and Scratch Orgs are independent orgs.
π― Key Points
- β AppExchange requires Security Review before publishing apps
- β Enterprise Edition is the standard PAB exam reference
- β Production and Sandbox are connected (same org); Developer Edition and Scratch Orgs are independent
- β Developer Edition is NOT a sandbox β it's a free independent org
- β Scratch Orgs are temporary and used with Salesforce DX (modern development)