Scale comes in dimensions: data volume, user volume, transaction volume, integration volume.
Data volume:
- Set OWD with performance in mind. Private OWD on millions of records = expensive sharing recalc.
- Use Custom Indexes on filter-heavy fields (request via Salesforce Support).
- Use Skinny Tables for hot read paths (request via Salesforce).
- Avoid Roll-Up Summary on millions of children — use scheduled aggregation instead.
- Plan archive strategy — move old data to Big Objects or external warehouses.
User volume:
- License optimisation (right-size licenses per user).
- Permission set groups for bulk assignment.
- Performance test with concurrent users; identify bottlenecks.
- Lightning page performance — components add up.
Transaction volume:
- Bulkify triggers, flows.
- Async for heavy work; reserve sync for user-facing.
- Batch Apex for nightly / scheduled large-data work.
- Platform Cache for hot reads.
- Selective queries — every SOQL must hit indexes.
Integration volume:
- Bulk API 2.0 for large inbound data.
- Pub/Sub API + CDC for outbound real-time.
- Mulesoft / iPaaS for orchestration.
- Change Data Capture for replication to data warehouse.
- API Limit monitoring — 24-hour caps.
- Connected Apps with throttling — don't let one client consume everything.
Sharing recalc strategy:
- Defer Sharing Calculations during bulk loads.
- Architect sharing rules to minimise recalc surface.
Reporting:
- Standard reports degrade past ~1M rows. Move to CRM Analytics or external warehousing.
- Reporting Snapshots for historical analytics without re-querying.
Monitoring:
- Event Monitoring for slow queries, governor-limit pressure.
- Setup -> System Overview for object row counts approaching LDV.
- Custom dashboards tracking integration health, transaction volume.
Architectural patterns:
- Hub-and-spoke — one Salesforce org as hub, others as spokes.
- Data tiering — recent/active in Salesforce; older in data warehouse.
- CQRS-like — separate read paths from write paths.
- Async by default — sync only when latency requirement demands.
Senior architects plan for scale early. Decisions made at 100K records often won't survive 100M; foresight matters.
