1. 1 Cloud Saturday Atlanta
Introduction to Salesforce
David Scruggs
@davescruggs
Principal Solution Engineer, Salesforce
2. 2 Cloud Saturday Atlanta
David Scruggs
Salesforce
Not blogging right now, but my opinions are still my opinions
dscruggs@salesforce.com
@davescruggs
I started off doing robotics work in the early 1990’s, then moved to
startups through the rest of the 90’s.Afterwards, I’ve been a
technical specialist in Java, .NET, and Cloud technologies for the
past 15 years.
My Bio
5. 5 Cloud Saturday Atlanta
See website for more info and directions
atlanta.cloudsaturday.com
Continue the conversation…
6. 6 Cloud Saturday Atlanta
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.
Safe Harbor
8. 8 Cloud Saturday Atlanta
Global Enterprise Cloud Data Centers
Expanding Multiple Sites Worldwide
San Jose (SJL)
SF Dev (SFM) Chicago (CHI)
Washington DC
(WAS)
Ashburn (ASG)
London (LON)
Frankfurt (FRF)
Paris (PAR)
Tokyo (TYO)
Existing
In Development
Phoenix (PHX) Dallas (DAL)
9. 9 Cloud Saturday Atlanta
Highly Scalable Architecture
Service isolation and redundant design ensures availability
• Instances
– Consistent deployment size
– Easy to scale
– Repeatable
• Instance Groups
– Shared service isolation
within a Data Center
• Data Centers
– Consistent for Production and
Disaster Recovery
– Shared services across data
centers
Data Center
Shared Services
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Data Center
Shared Services
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
10. 10 Cloud Saturday Atlanta
Today: Reliable Core by Design Production cluster capacity
7+1 (active + spare) nodes
Active Data Guard to local
standby (2 node cluster) for
fast data recovery
Data replication to
secondary instance
Encrypted block-level
replication
Enables site switching for
disaster recovery
Redundant Site Design with 4 Online Copies of Data
Encrypted
Async
ReplicationData Guard
Replication
Primary Instance
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Secondary Instance
Data Guard
Replication
Application
Servers
Production
DB Cluster
Standby
DB Cluster
11. 11 Cloud Saturday Atlanta
Tomorrow: Enhancing Core Reliability
6+2 Production RAC
Cluster
2 spare nodes provides
additional DB cluster resilience
Data Guard to remote site
Hardens remote replication
Enables faster site switching
Shorter planned and
unplanned maintenance
windows
Faster Site Switches
Encrypted
Async DB
Replication
Data Guard
Replication
Primary Instance
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Secondary Instance
Data Guard
Replication
Application
Servers
Production
DB Cluster
Standby
DB Cluster
12. 12 Cloud Saturday Atlanta
Enterprise Application
Performance at Scale
13. 13 Cloud Saturday Atlanta
Legacy On-Premises Infrastructure
Requires Compromises
Juggling Competing Demands
Faster
Responses
More
Transactions
Massive
Data
Growth
14. 14 Cloud Saturday Atlanta
Unlimited Transactions at Scale
Further Improving response times
Transactions Per Quarter
234B Transactions in Q2FY16
79% YoY Growth
Average Page Time
208ms Latency in Q1FY16
4% YoY Improvement
API
Web
15. 15 Cloud Saturday Atlanta
Overall site peak day
>3.4 Billion transactions
200 milliseconds average
>40,000 transactions per second
Top instance peak day
>170 million transactions
Typically core production instance
>8,000 Customer Orgs
Salesforce.com’s Daily Performance
Enabling Customers Phenomenal Growth
Mar 30, 2015 – 3 Billion Transactions
16. 16 Cloud Saturday Atlanta
Massive Scale Enterprise Capacity
Leading transaction and data record capability
5.8MLarge Financial
Services
Customer Peak
Transactions
Full Instance
Peak
Transactions
170 million
Transaction scale to handle any Enterprise
Customer workload – largest customers are
a fraction of peak instance capability
498M
1.4billion
Large Financial
Service
Customer Data
Records
Large Insurance
Customer Data
Records
Customer’s
Large-scale
object record
usage today
17. 17 Cloud Saturday Atlanta
Adaptive Capacity Planning
4 key methods to enable performance at scale
Regular customer and
partner application tuning
to improve individual org
performance
Customer Application
Tuning
140+ Hours
Loading Time
21 Hours
Loading Time
85% Reduction in Load
Time
4
Horizontally
Scaling
Scale by adding
additional servers or
storage for each
application
Scale by using more
powerful servers
• More CPU cores
• Larger memory
Continuous Salesforce
application and database
optimizations
Vertically
Scaling
Application and DB
Tuning
45% Reduction in
Latency
NA7
Aug 20
NA7
Aug 27
360ms
250ms
1 2 3
Automatically Done For Customers
48c
48c
64c
64c
19. 19 Cloud Saturday Atlanta
Salesforce1 Platform
Bulk
REST
Metadata
SOAP
Tooling
Streaming
INTEGRATIONLAYER
Point & Click
Integration Tools
Page
Builder
EmployeeApps CustomerApps
DECLARATIVE DEVELOPMENT
GLOBALENTERPRISE CLOUD INFRASTRUCTURE
PLATFORM SERVICES
APP MANAGEMENT &
DEPLOYMENT
Workflow
Engine
UI FrameworkSharing &
Permissions
Global
Search
Reports &
Dashboards
Files
& Content
Authentication CollaborationEvent Log
Framework
Translation
Workbench
App
Builder
Process
Builder
Schema
Builder
Multi-Tenant Network
& Firewall
Auto
Updates
Backup &
Geodiversity
Security Trust
IDECLI Agile
Accelerator
Store
Builder
Dev
Console
Sandbox
Metadata
Heroku DX node.js
PROGRAMMATIC DEVELOPMENT
Database Smart
Containers
Heroku
Add-ons
Heroku
Button
Ruby
Identity
Global
Data Centers
Data
Storage
Single code
base
Python Java APEXPHP
Offline
Salesforce1 Mobile
Container
Geolocation
Push
Notifications
SDK Mobile Identity
MOBILE SERVICES
Community
Builder
Page
Builder
Full spectrum of capabilities from enterprise control to elastic flexibility
20. 20 Cloud Saturday Atlanta
Two Approaches to Development
Visualforce Pages
Visualforce Components
Apex Controllers
Apex Triggers
Metadata API
REST API
Bulk API
Formula Fields
Validation Rules
Workflows and Approvals
Custom Objects
Custom Fields
Relationships
Page Layouts
Record Types
User
Interface
Business
Logic
Data
Model
Declarative Approach Programmatic Approach
21. 21 Cloud Saturday Atlanta
Data
Modeling
•Custom Objects
•Business Types
•Formulas
•Validation Rules
•Roll ups
Declarative
Layout
Security
•Sharing
•Profiles
•Access RIghts
Social
Collaboration
•Publishers
•Audit Trails
Workflows
•Flows and
Lightning
Processes
•Approval
Processes
•Workflows
Analytics
•Reports
•Dashboards
Mobile
•Salesforce1 App
•Mobile SDK
Declarative Development
22. 22 Cloud Saturday Atlanta
• Visualforce
• Lightning UI
• External (C#,
Java, …)
User Interface
• Triggers
• Batch
• Scheduled
• Services – Call
ins and Call
outs
Apex
• iOS
• Android
• Windows
SDKs (Github)
Mobile SDK Canvas
• Java
• Windows
• Ruby
• JavaScript
• Etc.
SDKs
• REST
• SOAP
• Bulk
• Metadata
• Tooling
• Etc.
APIs
• SOQL
• SOSL
Query Languages Testing
Programmatic Development
23. 23 Cloud Saturday Atlanta
What is Apex?
• Object-Oriented Language
• Dot Notation Syntax
• Classes and Interfaces
• Cloud based development
• Built-in SOQL
• Built-in DML
24. 24 Cloud Saturday Atlanta
Every Object, Every Field: Apex
Enabled Visualforce Pages
Visualforce Components
Apex Controllers
Apex Triggers
Custom UI
Custom Logic
25. 25 Cloud Saturday Atlanta
Apex and Visualforce
Custom Apex
Controller
Custom UI
26. 26 Cloud Saturday Atlanta
Lightning Components Improve Developer
Productivity
APP or COMPONENT BUNDLE
Definition : html
Controller : js
Helper : js
EventHandler : js
Style : css
Component(s)
Cmp1 Cmp3
Cmp2 App1
App1 App2
Cmp2 Cmp2
Package 1 Package 2
Components are bundles of
resources
Bundles enable reusability,
share ability, and extensibility
Components can be used to
compose apps
27. 27 Cloud Saturday Atlanta
What can I build?
Single Page Applications
Drill down to existing standard pages
Expose Global Actions for more interactivity
Dashboard-style Applications
Sales Leaderboard
“Point” Applications to solve a particular task
Upload expense receipt
Mobile Applications
Communities or Portals
28. 28 Cloud Saturday Atlanta
Open StandardsAPIs SupportAny
Integration Process
Middleware or
Enterprise Service Bus
Web Service
Endpoint
Data
Centric
Access
Web Service
Endpoint
Process
Centric
Access
ETL / Batch
Authentication & Authorization
Identity and/or Service Provider
Software Development Lifecycle
IDE, Source Control
Presence, Syndication,
Real-time Updates
Cloud / on premise
CTI integration
Apex Code
Apex Class Methods
WS Endpoint WS Callouts Workflow
Bulk API
(REST based)
REST, SOAP APIs
AuthN / AuthZ
Metadata API
Streaming API
CTI API
OData API
29. 29 Cloud Saturday AtlantaAtlanta
Creating your first app
https://developer.salesforce.com/trailhead/trail/force_com_dev_beginner
https://developer.salesforce.com/trailhead/project/salesforce_developer_workshop
And looking at larger apps
Demo