3. Forward-Looking Statement
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.
Statement under the Private Securities Litigation Reform Act of 1995
4. Who am I & Why I’m Here...
Mikkel Flindt Heisterberg
Platform Solution Engineer @ Salesforce, previously 2 years with
the Customer Success Group (CSG) as a Technical Architect
Have a great affinity for all things technical and love inspiring our
customers on how to leverage our technology to better service their
customers.
@lekkim
https://lekkimworld.com
mheisterberg@salesforce.com
5. Find the tool for maximum Speed – Today & Tomorrow
Software as a Service
high control application Platform as a Service
Infrastructure as a Service
Raw Data
Operational
Data
Business Data
A 6C 6AE 6B
6A 6 6B
DBC 6A C6 6 6
C /A 6BB C
E6 C C C 6 AD 6
C E6 6 6 C 6 C C
A C C C A 6
6 B6AE 6B BC
A 6 A
6
CA
B6AE 6B
A C A &
C 6E 6B
A G C A I C E6AC C6 C B
* Customer 360 in Pilot
high productivity application Platform as a Service
/A A C 6E 6 A C E6 6E
* 3 C6A A B6 D A BCAD CDA6
/ C A 3 6 6AE 6B
Business Data
Max
Speed
Max
Control
On-Premise
6 6AE 6B
06 D C A 6AE 6B 06 D C A C C A66 06 D C A
D C
C B
A 6
6 B6AE 6B
BC
DBCA 6B
G 6
6.
7. How do we build websites or apps
Front-EndBack-End
Native Mobile App – runs on the deviceWeb App – runs on the device
10. So, here is Heroku
Agile and scalable development and production Platform as a Service
SERVERS
STORAGE
NETWORKING
VIRTUALIZATION
Amazon
Web
Services
Salesforce Data as a service
Extensions as a service
YOUR APP
Heroku
IaaS
PaaS
You Manage
Runtime as a service
Security as a service
Backup, Failover, Monitoring, Scalability as a service
Amazon is a partner: https://aws.amazon.com/featured-partners/Salesforce-Heroku/
11. So what ?
Heroku’s value, in a nutshell
Users & application security
Collaboration
Faster time to market for your apps
Quality improvement (continuous
testing, integration & delivery)
Rich add-ons environment with as-
you-go model allowing best in class
architecture & features
Full connectivity with Salesforce
Ease of use
Save time on provisioning &
configuring environments
Focus on code & tests
Scalability & performance
management
Advanced applications monitoring &
alerting
Evaluate new technologies quicker
Bring your own service
One connected platform
Architects Admins Developers/ops Apps
12. What kind of projects ?
A big picture on what our clients are using Heroku for
Build an engaging
customer experience
Use modern technologies to build
mobile and web applications that
engage your customer at every
touchpoint, plugged with best of
breed components.
Extend your Salesforce
CRM
Behind the beautiful application,
your existing CRM data powers a
contextual and personalized
experience.
Scalability
Immediate scalability, do not wait,
from zero to web-scale with zero
touch
13. Heroku’s components
Dynos
Deploy fast and without
friction, run top languages
at any scale
Database
Enterprise-grade
Postgres, optimized for
app developers
Add-ons
Ecosystem of 150+ plug-
ins, pre-integrated and
ready for your app
Payments
Email
SMS
Search
Analytics
Monitoring
Logging
Ruby
Node.js
Java
PHP
Python
Scala
Clojure
24/7/365 Ops
Continuous
Protection
Health Checks
High Availability
Encryption
Rollback
14. Heroku Flow: staging and automating app delivery
Pipelines
Clear and structured workflow for
apps that share the same codebase
GitHub Sync
Automatic or manual deployment of
Pull Requests on branches to staging
apps
Review Apps
Automatic creation of a disposable
“Review App” for each new GitHub
Pull Request
15.
16. What We Are Going to Build
• Astro and his friends are setting up a treasure hunt
web-app
• They want it next week so time-to-market is key
• They hope it will be popular so it needs to scale
• They do not want to reinvent the wheel so reuse
and leveraging Salesforce for configuration is key
• Would like to save the data in Salesforce
17. 1. Configuration of the app should be done
in Salesforce
2. Users should access the app on their
phone and the app served from Heroku
3. Response data saved back to Salesforce
Introducing the app
18.
19.
20. Let’s Build It!
1. Create the app on Heroku
2. Deploy source directly from Github
3. Provision the add-ons
4. Configure the app using
environment variables
5. Add logging and monitoring
6. Configure Heroku Connect
7. Scale the app
21.
22. So here is what we
are going to do:
1. Go to https://bit.ly/sf-platform2
2. Go through the app
3. Find your lottery name on the
confirmation page
23. Find the tool for maximum Speed – Today & Tomorrow
Software as a Service
high control application Platform as a Service
Infrastructure as a Service
Raw Data
Operational
Data
Business Data
A 6C 6AE 6B
6A 6 6B
DBC 6A C6 6 6
C /A 6BB C
E6 C C C 6 AD 6
C E6 6 6 C 6 C C
A C C C A 6
6 B6AE 6B BC
A 6 A
6
CA
B6AE 6B
A C A &
C 6E 6B
A G C A I C E6AC C6 C B
* Customer 360 in Pilot
high productivity application Platform as a Service
/A A C 6E 6 A C E6 6E
* 3 C6A A B6 D A BCAD CDA6
/ C A 3 6 6AE 6B
Business Data
Max
Speed
Max
Control
On-Premise
6 6AE 6B
06 D C A 6AE 6B 06 D C A C C A66 06 D C A
D C
C B
IntegrationasaService
A 6
6 B6AE 6B
BC
DBCA 6B
G 6
29. Architecture – Frontend Tier
Backend Tier
node.js
Web Tier
node.js w/ Express.js
Authentication
for admin UI
Heroku
Redis
RabbitMQ queue
Session and
questionnaire
data
30. Architecture – Backend Tier
Backend Tier
node.js
Lightning Platform Events
Salesforce REST API
Heroku
ConnectHeroku
Postgres
RabbitMQ queue
Web Tier
node.js w/ Express.js
Heroku
Redis
Monitor
and read Fully managed and transparent sync to Salesforce
Manage
questionnaire
data
Write
completed
response
Read
response
31. Data Layer Addons
Heroku
Postgres Heroku
Connect
Heroku
Redis
Cost of Development
Queuing Addon
Web Tier
node.js w/ Express.js
Monitoring Addon
Backend Tier
node.js
32. Thank You for Listening -
now let’s rock the Platform!
@lekkim
https://lekkimworld.com
mheisterberg@salesforce.com
Mikkel Flindt Heisterberg
33. Building Applications that Scale
I. Codebase - One codebase tracked in revision control, many deploys
II. Dependencies - Explicitly declare and isolate dependencies
III. Config - Store config in the environment
IV. Backing services - Treat backing services as attached resources
V. Build, release, run - Strictly separate build and run stages
VI. Processes - Execute the app as one or more stateless processes
VII. Port binding - Export services via port binding
VIII. Concurrency - Scale out via the process model
IX. Disposability - Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity - Keep development, staging, and production as similar as possible
XI. Logs - Treat logs as event streams
XII. Admin processes - Run admin/management tasks as one-off processes
https://12factor.net