under the covers of salesforce (eugene rusalev)
TRANSCRIPT
Salesforce statistics
• 22 North America instances, 6 EMEA instances and 2 APAC instances
• 25 sandbox instances
• 1,300,000,000+ daily transactions
• 24,000 database transactions per second at peak (equivalent to a page view on other sites)
• 15,000+ hardware systems
• > 22 PB of raw SAN storage capacity
www.vrpinc.com
Software Technologies Employed
• Linux for development and primary production systems
• Solaris 10 w/ ZFS
• Jetty
• Oracle
• Solr
• Memcache
• Apache QPID
• QFS
• Puppet, Razor
• Perl, Python
• Nagios
• Perforce, Git, Subversion
www.vrpinc.com
Hardware topology
POD
• Self-contained set of hardware
• Each customer is in one pod
• Each pod services many customers
• Data persistence and System of Record
• Data processing
• Hardware mirroring
www.vrpinc.com
Data centers
Location Function
• San Jose, CA Main Production Data Center
• Chicago, IL Production Data Center
• Reston, VA Production & Back-up Data Center
• Singapore Production Data Center
• Japan Production Data Center
• San Francisco, CA R&D Lab and Tape Archive
• London, UK Production Data Center
www.vrpinc.com
Data infrastructure Building Blocks
• Relational Database
• Distributed File System
• Search
www.vrpinc.com
Relational Database
• Sharding / Partitioning
Shard based on customer
• High availability
8 machine database cluster
Automatic failover
www.vrpinc.com
Relational Database
• Backups
3 lag databases
Near Real-time
2 Hour
48 Hour
Tape / Disk
• Disaster Recovery
Hardware block-level replication
www.vrpinc.com
Distributed File System
• Binary Object Store
• Homegrown Technology called FileForce
• Optimized for High Availability
www.vrpinc.com
Search
• Full-text search capability
• Wide variety of data to support:
• Structured data: id, email, phone number
• Unstructured data: long documents, short chatter posts
• Real-time indexing and querying
• 90% of events indexed in < 3 mins
• Lucene & Solr
www.vrpinc.com
Multitenancy
• Tenant = Organization (aka Company)
• Each Organization has many sub-tenants (aka Users, Private model)
www.vrpinc.com
Multitenancy
www.vrpinc.com
Server
OS
Database
App Server
Storage
Network
App 1App
1
App
2 App
3
Buy, Install, Build, Tune, Upgrade
Single-Tenant
(On-Premise or Hosted)Multi-Tenant
Innovation. Not Infrastructure
Server
OS
Database
App Server
Storage
Network
App 2
Server
OS
Database
App Server
Storage
Network
App 3
One Company
Many App Stacks
Many Companies
One Shared Stack
Multitenant database
• To support Custom Objects, Salesforce uses:
• Arbitrary Transaction Support
• Locking
• Row caching
• To support Custom Objects, we don’t use:
• Native data typing
• Native indexing
• Foreign Key Constraints
• Query Optimization
• Stats Collection
www.vrpinc.com