Library / Case Studies
Performance Optimization for the Greater China Region at Salesforce - Jeff Cheng, Enterprise Architect at Salesforce
Salesforce+ is a free platform offering live and on‑demand access to Salesforce’s biggest events—Dreamforce, TDX, Connections, Tableau Conference, and more. Enjoy unlimited access to our entire video library at no cost; just sign up with your Trailblazer account to become a member. Salesforce+ will illuminate the…
By Salesforce engineers · Salesforce · Added 2026-10-12
All content belongs to Salesforce engineers / Salesforce. We only link to it and give credit. Report a problem
Learn this case study
About 37 min left. Your work is saved as you go.
What you are about to study
Salesforce explains a real system. You should know the basics: caching, queues and replication.
Ideas you will meet
- Distributed Systems
- Consensus, time, failure and the fundamentals of scale-out.
What we already know about this
Our own lessons on these ideas. Read them here before you start, so it makes sense.
Advanced Distributed Systems · 12 minCloud architecture principlesRegions, zones, identity, autoscaling and a checklist of design pillars for reviewing a cloud architecture, from reliability to cost.Read here
The building blocks
- Region: a geographic area with several data-centre groups. Choose by user latency, data-residency rules, service availability and price.
- Availability zone (AZ): an isolated failure domain inside a region (own power, cooling and network), connected to others by fast links. Spread an app across at least two zones.
- Edge locations: points of presence for CDN and DNS close to users.
- Identity and access management (IAM): who or what may do which action on which resource. Users, groups, roles for services, and policies that allow or deny actions.
- Compute choices: virtual machines, containers (managed Kubernetes or container services), and functions (serverless). See the cloud models and serverless lessons.
- Storage choices: block, file and object (see the storage lesson), managed databases, caches and queues.
- Networking: private networks, subnets, routing, security groups and gateways; keep databases in private subnets and expose only load balancers.
100%Figure SDA-ADS-08-1 · A typical multi-zone web architecture · © forcsguy.com
Design pillars (a review checklist)
Cloud providers publish similar frameworks. In plain words, ask these questions of any design:
- Operational excellence: can we deploy safely and often, see what the system is doing and learn from incidents? (Automation, infrastructure as code, runbooks, dashboards.)
- Security: who can do what? Is data encrypted in transit and at rest, are secrets managed, are permissions minimal, is activity logged?
- Reliability: what fails, and what happens then? (Redundancy across zones, health checks, backups and tested restores, graceful degradation, recovery time and data loss targets.)
- Performance efficiency: are we using the right resource types and scaling to demand? (Caching, right-sizing, choosing the right data store, measuring.)
- Cost optimisation: do we know where money goes and can we cut waste? (Tags and budgets, right-sizing, autoscaling, reserved or committed use for steady load, lifecycle rules for storage.)
- Sustainability: are we avoiding idle capacity and unneeded data and compute?
Treat the pillars as trade-offs, not a score: more reliability usually costs more; more security can slow delivery. Write down the choice and the reason.
Practical rules
- Design for failure: assume instances, zones and dependencies fail. Prefer stateless services and managed, replicated state.
- Disaster recovery is chosen by two numbers: how much data you can lose (RPO) and how long you can be down (RTO). Strategies range from backup and restore (cheap, slow) through pilot light and warm standby to active-active across regions (costly, fast).
- Autoscale carefully: scale on a metric tied to load, set minimum and maximum, allow warm-up, and test scale-in.
- Least privilege and no long-lived keys: use roles and short-lived credentials; rotate and audit.
- Everything as code so environments are reproducible and reviewable.
- Observe: metrics, logs and traces from day one, with alerts on user-facing symptoms.
- Know the shared responsibility split: the provider secures the cloud; you secure what you put in it.
- Avoid unnecessary lock-in where it is cheap, but do not contort a design to be portable at the cost of using good managed services.
Real-world reading
Related reading
- Load Balancing infrastructure to support more than 1.3 billion users at FacebookFacebook engineers · FacebookCase Studies
- Scaling Load Balancing Infra to Support 1.3 Billion Users at Facebook - Patrick Shuff, Production Engineer at FacebookFacebookYouTube
- Static stability using Availability ZonesAmazon Builders' Library · Amazon Web ServicesBlogs
- MySQL High Availability at GitHubGitHub Engineering · GitHubCase Studies
Show 6 moreShow fewer
- Google SRE Book: Load Balancing in the DatacenterGoogle SRE team · GoogleBlogs
- GitHub Availability Report: June 2023GitHub Engineering · GitHubCase Studies
- Scaling Backend at Uber - Matt Ranney, Chief Systems Architect at UberUberYouTube
- Performance Optimization for the Greater China Region at Salesforce - Jeff Cheng, Enterprise Architect at SalesforceSalesforce engineers · SalesforceCase Studies
- Scaling Data Infrastructure at Spotify - Matti (Lepistö) Pehrs, SpotifySpotify - MattiYouTube
- Scaling Infrastructure at Etsy - Bethany Macri, Engineering Manager at EtsyEtsyYouTube
Go deeper on this
A path through videos, articles, other case studies and code on the same ideas as Performance Optimization for the Greater China Region at Salesforce - Jeff Cheng, Enterprise Architect at Salesforce.
Warm upGet the vocabulary first.
Books · Free from the author
Concurrent and Distributed Systems (Cambridge lecture notes)
Eight lectures on time, broadcast, replication, consensus and transactions, with notes, slides and video. Free from the author under CC BY-SA.
University of CambridgeIntermediate
Books · Free from the author
Computer Networks: A Systems Approach
How networks are built and why: protocols, routing, congestion control and the internet's architecture. The authors publish it free online under CC BY 4.0.
Systems ApproachIntermediate
WatchHow others solve the same problem, on video.
Videos belong to their creators and play from YouTube. More on YouTube (opens in a new tab)
ReadEngineers explain it in their own words.
Blogs · Free from the author · Read here
Scalable Web Architecture and Distributed Systems
A full chapter on the building blocks of large websites: availability, performance, reliability, scalability, caches, proxies, indexes, load balancers and queues. Free to read here under CC BY 3.0.
The Architecture of Open Source ApplicationsBeginner40 min
Papers · Read here
Facebook’s photo storage
This paper describes Haystack, an object storage system optimized for Facebook’s Photos application. Facebook currently stores over 260 billion images, which translates to over 20 petabytes of data.
USENIXIntermediate
See it in another companyThe same ideas, a different system.
Case Studies · Read here
Aroma: Using ML for Code Recommendation at Facebook
Thousands of engineers write the code to create our apps, which serve billions of people worldwide. This is no trivial task—our services have grown so diverse and complex that the codebase contains…
FacebookIntermediate
Case Studies · Read here
Brooklin: Distributed Service for Near Real-Time Data Streaming at LinkedIn
Brooklin—a distributed service for streaming data in near real-time and at scale—has been running in production at LinkedIn since 2016, powering thousands of data streams and over 2 trillion messages per day. Today, w...
LinkedInIntermediate
Read the codeSee how it looks when it is real.
GitHub
Engineering Blogs
A huge directory of company engineering blogs to learn from real production systems.
kilimchoiIntermediate
GitHub
Awesome Scalability
Curated reading list of articles on the architecture of scalable, reliable systems.
binhnguyennusIntermediate
Keep learning
Loading community…