SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Salesforce.com’s Multi-tenant Architecture
How we do the magic we do…
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.
Doug Merrett
Principal Architect – Northern Europe
Powering the Customer Company

Connected
Employees

Connected
Customers

Connected
Partners

Connected
Products
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
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
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
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
Multi-tenancy
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
What is in a Pod
What Multi-tenancy means for salesforce.com R&D
One Version
No Legacy Teams
Bugs fixed for everyone
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
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
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
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
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
Metadata, data, and pivot table structures store data
corresponding to virtual data structures
The Objects table stores metadata about custom
objects (tables)
The Fields table stores metadata about custom fields
(columns)
The Data heap table stores all structured data
corresponding to custom objects
A single slot can store various types of data that
originate from different objects
The Indexes pivot table manages tenant-specific
selective indexes
The UniqueFields pivot table facilitates uniqueness
for custom fields
The Relationships pivot table facilitates referential
integrity and optimizes joins
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
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
Force.com’s native Application Framework provides
declarative development, no coding
Validation rules and simple formulas:
Business analysts can “code” these
Not so simple: Rollup-summary fields provide for
easy cross-object summaries
Force.com’s bulk processing optimizations reduce
overhead for data loads
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
The Recycle Bin: Smart Undeletes

 Individual object instances
(records)

Restore

 Related object instances
(parent/child records)
 Entire fields and objects
(dropped columns and tables)
Multi-tenant search

Java
Java
Java
Java
Java
Java
Application
Java
Application
Java
Application
Application
Application
Application
Application
Servers
Servers
Application
Servers
Servers
Servers

Search
Query
Query
Query
Search
Hosts
Hosts
Hosts
Hosts
Servers

Servers
Servers
Servers

Backup

DB

FFX

DR
Replication

Production

Search
Query
Query
Query
Search
Hosts
Hosts
Hosts
Hosts
Servers
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
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
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
Force.com’s query optimizer writes optimal queries
for internal data access operations

Multi-tenant optimizer
statistics
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.
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;
Apex code is stored as metadata, interpreted at
runtime, and cached for scalability
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
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
Where to go for more information...
http://developer.force.com/architect
http://developer.force.com/security

Other sessions
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
Understanding Multitenancy and the Architecture of the Salesforce Platform

Weitere ähnliche Inhalte

Was ist angesagt?

Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce IntegrationJoshua Hoskins
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSai Jithesh ☁️
 
Salesforce Sales Cloud: Best Practices to Win More Deals
Salesforce Sales Cloud: Best Practices to Win More DealsSalesforce Sales Cloud: Best Practices to Win More Deals
Salesforce Sales Cloud: Best Practices to Win More DealsCloud Analogy
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsSalesforce Developers
 
Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningsuresh
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsDhanik Sahni
 
Salesforce Community Cloud
Salesforce Community CloudSalesforce Community Cloud
Salesforce Community CloudJayant Jindal
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelSalesforce Developers
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfMohith Shrivastava
 
Salesforce administrator training presentation slides
Salesforce administrator training presentation slides Salesforce administrator training presentation slides
Salesforce administrator training presentation slides Salesforce Associates
 
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...Edureka!
 
Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2Stephen Edache Paul
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetupMuleSoft Meetup
 
Introduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - BasicIntroduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - Basicsanskriti agarwal
 

Was ist angesagt? (20)

Commerce Cloud 101
Commerce Cloud 101Commerce Cloud 101
Commerce Cloud 101
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
 
Salesforce PPT.pptx
Salesforce PPT.pptxSalesforce PPT.pptx
Salesforce PPT.pptx
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & Agile
 
Salesforce Sales Cloud: Best Practices to Win More Deals
Salesforce Sales Cloud: Best Practices to Win More DealsSalesforce Sales Cloud: Best Practices to Win More Deals
Salesforce Sales Cloud: Best Practices to Win More Deals
 
Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightning
 
Salesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic EventsSalesforce Streaming event - PushTopic and Generic Events
Salesforce Streaming event - PushTopic and Generic Events
 
Introduction to salesforce ppt
Introduction to salesforce pptIntroduction to salesforce ppt
Introduction to salesforce ppt
 
Salesforce Community Cloud
Salesforce Community CloudSalesforce Community Cloud
Salesforce Community Cloud
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdf
 
Salesforce administrator training presentation slides
Salesforce administrator training presentation slides Salesforce administrator training presentation slides
Salesforce administrator training presentation slides
 
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...
Introduction to Salesforce | Salesforce Tutorial for Beginners | Salesforce T...
 
Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2Salesforce intro session_for_students_v2
Salesforce intro session_for_students_v2
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetup
 
Introduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - BasicIntroduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - Basic
 

Ähnlich wie Understanding Multitenancy and the Architecture of the Salesforce Platform

Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkSalesforce Developers
 
Integration Strategies in a SaaS Environment
Integration Strategies in a SaaS EnvironmentIntegration Strategies in a SaaS Environment
Integration Strategies in a SaaS Environmentdreamforce2006
 
Dreamforce 2017: Salesforce DX - an Admin's Perspective
Dreamforce 2017:  Salesforce DX - an Admin's PerspectiveDreamforce 2017:  Salesforce DX - an Admin's Perspective
Dreamforce 2017: Salesforce DX - an Admin's PerspectiveMike White
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudSalesforce Developers
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Salesforce Deutschland
 
Salesforce DX for admins - Sydney world tour
Salesforce DX for admins - Sydney world tourSalesforce DX for admins - Sydney world tour
Salesforce DX for admins - Sydney world tourTechforce Services
 
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Engineering
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIJeff Douglas
 
Mds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introMds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introDavid Scruggs
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrationsdreamforce2006
 
Apply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsApply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsPeter Chittum
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Sudipta Deb ☁
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 
Creating an Enterprise CSS Framework: A Salesforce UX Case Study
Creating an Enterprise CSS Framework: A Salesforce UX Case StudyCreating an Enterprise CSS Framework: A Salesforce UX Case Study
Creating an Enterprise CSS Framework: A Salesforce UX Case Studyuxpin
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comSteven Herod
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchPeter Chittum
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreTom Gersic
 

Ähnlich wie Understanding Multitenancy and the Architecture of the Salesforce Platform (20)

Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Integration Strategies in a SaaS Environment
Integration Strategies in a SaaS EnvironmentIntegration Strategies in a SaaS Environment
Integration Strategies in a SaaS Environment
 
Dreamforce 2017: Salesforce DX - an Admin's Perspective
Dreamforce 2017:  Salesforce DX - an Admin's PerspectiveDreamforce 2017:  Salesforce DX - an Admin's Perspective
Dreamforce 2017: Salesforce DX - an Admin's Perspective
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the Cloud
 
Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...Unlock SAP - Release the potential of your existing backend systems with Sale...
Unlock SAP - Release the potential of your existing backend systems with Sale...
 
Salesforce DX for admins - Sydney world tour
Salesforce DX for admins - Sydney world tourSalesforce DX for admins - Sydney world tour
Salesforce DX for admins - Sydney world tour
 
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
 
Mds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce introMds cloud saturday 2015 salesforce intro
Mds cloud saturday 2015 salesforce intro
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrations
 
Apply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsApply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday Problems
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 
Creating an Enterprise CSS Framework: A Salesforce UX Case Study
Creating an Enterprise CSS Framework: A Salesforce UX Case StudyCreating an Enterprise CSS Framework: A Salesforce UX Case Study
Creating an Enterprise CSS Framework: A Salesforce UX Case Study
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Designing custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.comDesigning custom REST and SOAP interfaces on Force.com
Designing custom REST and SOAP interfaces on Force.com
 
Boxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too MuchBoxcars and Cabooses: When One More XHR Is Too Much
Boxcars and Cabooses: When One More XHR Is Too Much
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
 

Mehr von Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mehr von Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Kürzlich hochgeladen

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Understanding Multitenancy and the Architecture of the Salesforce Platform

  • 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.
  • 3. Doug Merrett Principal Architect – Northern Europe
  • 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
  • 11. What is in a Pod
  • 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
  • 19. The Objects table stores metadata about custom objects (tables)
  • 20. The Fields table stores metadata about custom fields (columns)
  • 21. The Data heap table stores all structured data corresponding to custom objects
  • 22. A single slot can store various types of data that originate from different objects
  • 23. The Indexes pivot table manages tenant-specific selective indexes
  • 24. The UniqueFields pivot table facilitates uniqueness for custom fields
  • 25. The Relationships pivot table facilitates referential integrity and optimizes joins
  • 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
  • 28. Force.com’s native Application Framework provides declarative development, no coding
  • 29. Validation rules and simple formulas: Business analysts can “code” these
  • 30. Not so simple: Rollup-summary fields provide for easy cross-object summaries
  • 31. Force.com’s bulk processing optimizations reduce overhead for data loads
  • 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

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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