Platform Session 2
Deep Dive into the Salesforce
Platform
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
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
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
How do we build websites or apps
Front-EndBack-End
Native Mobile App – runs on the deviceWeb App – runs on the device
Don’t underestimate the importance of ‘back-ends’
Use Case
Async.
Worker
User Engagement
Async.
Worker
Async.
Worker
Async.
Worker
Async.
Worker
Media
Mgt
Service /
API
Service /
API
Service /
API
AI / ML Security / Identity
Data Storage
Search
Caching
Databases
Integration
Service / API
What it could look like,
from a functional angle
Messages / Event /
Services
Monitoring - Performance - Alerting
API Economy / Gateway
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/
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
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
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
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
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
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
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
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
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
The Different Pieces
The Different Pieces
The Different Pieces
Procfile
web: node src/.../web.js
backend: node src/.../backend.js
Data Layer Addons
Heroku
Postgres Heroku
Connect
Heroku
Redis
Architecture
Queuing Addon
Web Tier
node.js w/ Express.js
Monitoring Addon
Backend Tier
node.js
Data Model in Salesforce
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
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
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
Thank You for Listening -
now let’s rock the Platform!
@lekkim
https://lekkimworld.com
mheisterberg@salesforce.com
Mikkel Flindt Heisterberg
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

Salesforce platform session 2

  • 1.
    Platform Session 2 DeepDive into the Salesforce Platform
  • 3.
    Forward-Looking Statement This presentationmay 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 toolfor 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
  • 7.
    How do webuild websites or apps Front-EndBack-End Native Mobile App – runs on the deviceWeb App – runs on the device
  • 8.
    Don’t underestimate theimportance of ‘back-ends’
  • 9.
    Use Case Async. Worker User Engagement Async. Worker Async. Worker Async. Worker Async. Worker Media Mgt Service/ API Service / API Service / API AI / ML Security / Identity Data Storage Search Caching Databases Integration Service / API What it could look like, from a functional angle Messages / Event / Services Monitoring - Performance - Alerting API Economy / Gateway
  • 10.
    So, here isHeroku 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’svalue, 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 ofprojects ? 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 fastand 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: stagingand 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
  • 16.
    What We AreGoing 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 ofthe 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
  • 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
  • 22.
    So here iswhat 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 toolfor 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
  • 24.
  • 25.
  • 26.
    The Different Pieces Procfile web:node src/.../web.js backend: node src/.../backend.js
  • 27.
    Data Layer Addons Heroku PostgresHeroku Connect Heroku Redis Architecture Queuing Addon Web Tier node.js w/ Express.js Monitoring Addon Backend Tier node.js
  • 28.
    Data Model inSalesforce
  • 29.
    Architecture – FrontendTier 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 – BackendTier 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 PostgresHeroku Connect Heroku Redis Cost of Development Queuing Addon Web Tier node.js w/ Express.js Monitoring Addon Backend Tier node.js
  • 32.
    Thank You forListening - now let’s rock the Platform! @lekkim https://lekkimworld.com mheisterberg@salesforce.com Mikkel Flindt Heisterberg
  • 33.
    Building Applications thatScale 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