Join us as we take a deep dive into the architecture of the Salesforce platform, explain how multitenancy actually works, and how it affects you as a developer. Showing the technology we use and the design principles we adhere to, you'll see how our platform teams manage three major upgrades a year without causing any issues to existing development. We'll cover the performance and security implications around the platform to give you an understanding of how limits have evolved. By the end of the session you'll have a better grasp of the architecture underpinning Force.com and understand how to get the most out of it.
2. Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be
deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other
financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any
statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our
operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any
litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our
relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our
service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to
larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is
included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent
fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor
Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions
based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these
forward-looking statements.
4. Powering the Customer Company
Connected
Employees
Connected
Customers
Connected
Partners
Connected
Products
5. salesforce.com: Customer Company Architecture
Connected
Employees
Connected
Customers
Service
Sales
Any Social
Network
Connected
Products
Connected
Partners
Marketing
AppExchange
Back End
Systems
Data.com
Chatter
Work.com
Finance
Communities
Any Device
Force.com
Heroku
ERP
Fuel
Data Model
Trusted, Scalable Multi-Tenant Infrastructure
Any App
AppExchange
Apps
Public or Private
Apps
6. salesforce.com: Customer Company Architecture
Connected
Employees
Connected
Customers
Service
Sales
Any Social
Network
Connected
Products
Connected
Partners
Marketing
AppExchange
Back End
Systems
Data.com
Chatter
Work.com
Communities
Any Device
ERP
Finance
Force.com
Any App
Data Model
AppExchange
Apps
Public or Private
Apps
Trusted, Scalable Multi-Tenant Infrastructure
7. The Core of the Customer Company:
Multi-tenant Cloud Computing
Enterprise
Cloud Computing
Fast
No Hardware
No Software
Easy
Open
Automatic Upgrades
Any Device
Scalable
Data Portability
Flexible
Trusted
App Marketplace
Extensible
Transparency
Real-time Status
8. What salesforce.com does for you
We do
Infrastructure
Services
We do
Application
Services
We do
Operations
Services
YOU
get to focus on innovation
Network
Security
Authentication
Customize your CRM
Storage
Sharing
Availability
Build your data model
Operating System
Integration
Monitoring
Build your business logic
Database
Customization
Patch Mgmt
Build your user interface
App Server
Web Services
Upgrades
Web Server
API
Backup
Data Center
Multi-Language
NOC
10. One Cloud with Many Customers
Shared Elastic Services
One Data Store per Point of Deployment (Pod)
10K+ Customers per Pod
50+ Pods
All data segregated by customer
All operations include tenant ID
Disaster Recovery
Per tenant encryption keys
12. What Multi-tenancy means for salesforce.com R&D
One Version
No Legacy Teams
Bugs fixed for everyone
13. What Multi-tenancy means for salesforce.com R&D
One Version
Automation
No Legacy Teams
Bugs fixed for everyone
260K+ of our Tests
Run your tests as well
14. What Multi-tenancy means for salesforce.com R&D
One Version
Automation
No Legacy Teams
Bugs fixed for everyone
260K+ of our Tests
Run your tests as well
Pod Architecture
Staggered Releases
Scalability across all sizes
15. What Multi-tenancy means for salesforce.com R&D
One Version
Automation
No Legacy Teams
Bugs fixed for everyone
260K+ of our Tests
Run your tests as well
Pod Architecture
Predictability
Staggered Releases
Scalability across all sizes
Three major releases per year
Bug fixes every week
16. What Multi-tenancy means for salesforce.com R&D
One Version
Automation
No Legacy Teams
Bugs fixed for everyone
260K+ of our Tests
Run your tests as well
Pod Architecture
Predictability
Staggered Releases
Scalability across all sizes
Three major releases per year
Bug fixes every week
17. Key Architectural Principles
Stateless Appservers
Database system of record
No Database Definition Language (DDL) at Runtime
All tables partitioned by OrgId
Smart Primary Keys, Polymorphic Foreign Keys
Creative de-normalization and pivoting
Use every RDBMS feature & trick
18. Metadata, data, and pivot table structures store data
corresponding to virtual data structures
26. All data & metadata structures are partitioned to
improve performance and manageability
Tables hash partitioned by OrgId
Separate connection pools point to physical hosts
App tier is also dynamically partitioned by OrgId
Distributed metadata cache with transactional invalidation
27. Application Framework: a whole lot for free
Native Declarative features
Bulk Processing
The Recycle Bin
Full Text Search
Smart Bulk Data Manipulation Language (DML)
Web Services APIs
32. Data definition processing is optimized to avoid
performance hits or concurrency limits
Examples:
Sort all records by primary key before attempting DML
Operate on tables in deterministic order
Slot reallocation for field datatype change
Deferred calculation for new rollup-summary field
Background processing of mass changes
33. The Recycle Bin: Smart Undeletes
Individual object instances
(records)
Restore
Related object instances
(parent/child records)
Entire fields and objects
(dropped columns and tables)
35. Multi-tenancy delivers Blazing Performance
Massive Usage Growth
86
Billion
Massive Data Growth
65 Billion
records
Excellent Performance
transactions
per quarter
Target 300ms
13
Billion
transactions
per quarter
In 2009 we had 13B transactions per quarter.
Now we do that every 2 weeks.
6 Billion
records
40
Billion
custom
object
records
36. Multi-tenant file storage
Primary
Disaster Recovery
File Server
File Server
Appserver
Appserver
Appserver
File Server
File Server
File Server
File Server
File Server
File Server
File Server
File Server
Every file stored with:
• 8 online copies
• 2 tape copies
File Server
File Server
File Catalog
File Catalog
Tape Backup
Disk
Backup
Tape Backup
Disk
Backup
37. Multi-tenant Query Optimization Principles
Consistent SQL generation across the application
Deep awareness of pivot table structure
Flex schema does impose a cost
Tenant, user, object, fields statistics are crucial
No runaway queries allowed
Deep integration with the sharing model
38. Force.com’s query optimizer writes optimal queries
for internal data access operations
Multi-tenant optimizer
statistics
39. The optimizer considers pre-query selectivity
measurements when writing a query
Pre-Query Selectivity
Measurements
Write final database access query, forcing …
User
Filter
Low
Low
… nested loops join; drive using view of rows that the user can see.
Low
High
… use of index related to filter.
High
Low
… ordered hash join; drive using Data table.
High
High
… use of index related to filter.
40. Apex: Force.com’s procedural frontier
Variable
Declaration
Integer NUM = 10;
Account[] accs;
Commit
Transaction
// Clean up old data
accs = [select id from account where name like 'test%'];
delete accs;
commit;
Control
Structure
Array
Data
Operation
SOQL
Query
accs = new Account[NUM];
for (Integer i = 0; i < NUM; i++)
{
accs[i] = new Account(name='test ' + i, outstandingshares__c=i);
}
insert accs;
Contact[] cons = new Contact [0];
for (Account acc : accs)
{
cons.add(new Contact(lastName=acc.name + '1', accountid=acc.id));
cons.add(new Contact(lastName=acc.name + '2', accountid=acc.id));
}
insert cons;
41. Apex code is stored as metadata, interpreted at
runtime, and cached for scalability
42. Apex is deeply integrated with platform features
Bulk DML
Email and messaging
Asynchronous processing (Futures)
XmlStream / HTTP (RESTful) services classes
Declarative exposure as new Web Services
43. What Makes Us Different?
Customer Company Platform
Powered by Multi-tenancy
Social
Mobile
Open
Real-time
Feeds
Profiles
Files
Social Graph
Right Experience
Any Device
Customizable
Open Standards
Open Technologies
Open Interfaces
Open Languages
Real-time notifications
Real-time workflow
Real-time feeds
44. Where to go for more information...
http://developer.force.com/architect
http://developer.force.com/security
Other sessions
45.
46. We want to hear
from YOU!
Please take a moment to complete our
session survey
Surveys can be found in the “My Agenda”
portion of the Dreamforce app
Hinweis der Redaktion
Enterprise cloud computing is fast, easy, open, flexible, and trusted for every sized business.Let me explain how…Fast: the cloud doesn’t require you to install or configure any hardware or software.Easy: the cloud allows easy upgrades and has a pay as you go subscription model. Open: the cloud means that all of your applications are immediately accessible on any device, and your logic is portable.Flexible: the cloud includes a app marketplace that allows you to extend your applications using third party applications that you can add on to your deployments to make them even more effectiveEveryone: the cloud scales with your business, making it affordable for the smallest of businesses, but also for the largest enterprises.
Force.com faster, easier and lower risk than traditional single-tenant platforms.With force.com you can focus on innovation, not infrastructure. We believe that developers should be able to focus on building their applications vs. worrying about the hardware and software infrastructure required to run these applications. This approach allows IT organizations to build apps faster, with less resources and with no infrastructure impact.The reason this is possible is because force.com provides all of the infrastructure, application and operational service required to build and run enterprise-class business applications. There is no data center to manage … no hardware, storage or network to set up .. No backups or disaster recovery. We take care of all of this for youWe accelerate the development and deployment of your apps by proving many of the common application services or building blocks of enterprise apps as a service so you don’t have to re-build these for every app.Additionally from an operational perspective, we handle all the performance tuning, software patches and updates, backup and disaster recovery. All of this comes as a service and requires zero customer effort or attention.What all this means for you is that you can focus on your unique app vs. all of the hardware, software and operations required to run it. You focus on what’s unique: the data model, business logic and user interface of your app and we handle the rest.
No software or hardware for youSeamless upgradesNo legacy code or legacy developersNo bespoke features in coreEvery release goes to all our customersWe run 260K+ tests on every checkintrust.salesforce.comStaggered Releases
No software or hardware for youSeamless upgradesNo legacy code or legacy developersNo bespoke features in coreEvery release goes to all our customersWe run 260K+ tests on every checkintrust.salesforce.comStaggered Releases
No software or hardware for youSeamless upgradesNo legacy code or legacy developersNo bespoke features in coreEvery release goes to all our customersWe run 260K+ tests on every checkintrust.salesforce.comStaggered Releases
No software or hardware for youSeamless upgradesNo legacy code or legacy developersNo bespoke features in coreEvery release goes to all our customersWe run 260K+ tests on every checkintrust.salesforce.comStaggered Releases
No software or hardware for youSeamless upgradesNo legacy code or legacy developersNo bespoke features in coreEvery release goes to all our customersWe run 260K+ tests on every checkintrust.salesforce.comStaggered Releases