heroku introduction: scaling customer facing apps & services

86
Introduction to Heroku Scaling Customer facing apps and services

Upload: john-stevenson

Post on 15-Jan-2015

386 views

Category:

Technology


3 download

DESCRIPTION

An introduction to Heroku, the Platform as a Service from Salesforce for all your customer facing applications. Discover how to get going with the Heroku platform and additional services you can use to speed up the deployment of your custom application.

TRANSCRIPT

Page 1: Heroku Introduction: Scaling customer facing apps & services

Introduction to HerokuScaling Customer facing apps

and services

Page 2: Heroku Introduction: Scaling customer facing apps & services

Safe harborSafe 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.

Page 3: Heroku Introduction: Scaling customer facing apps & services

Apps Require Infrastructure

This is what the Salesforce Data Centers provide for Salesforce Orgs

Servers Networking Operations

Page 4: Heroku Introduction: Scaling customer facing apps & services

Apps Require Infrastructure

What if a customer wants to deliver apps outside oftheir Salesforce Org ?

Servers Networking Operations

Page 5: Heroku Introduction: Scaling customer facing apps & services

Apps Require Infrastructure

Servers Networking Operations

Managing your own Data Center is expensive

Provisioning Servers is often a bottleneck,even when they are virtualised

Page 6: Heroku Introduction: Scaling customer facing apps & services

Heroku: The Developers Choice“Heroku lets us focus on our app and deliver more value to customers.”

– Aaron Peckham, Urban Dictionary

Page 7: Heroku Introduction: Scaling customer facing apps & services

Example apps on Heroku

Retail

Media

MarketingCampaigns

Customer & Web Sites

E-Commerce &

Media

Mobile &SaaS Apps

AppPortfolios

success.heroku.com

Page 8: Heroku Introduction: Scaling customer facing apps & services

SolutionChallenge A highly-scalable system

Supporting over 1 million customers

Processing 3 million payments Thousands of payment

partners

- Allow people to buy food & provisions when nothing works- Fast response times- No down-time

Hurricane Sandy proof payments via

your mobile

Page 9: Heroku Introduction: Scaling customer facing apps & services

SolutionChallenge

NEB bio-freezers provide live enzymes for genomic research in labs around the world

Heroku + Force.com connects NEB to customers

with live support and bi-directional access to

inventory and usage for automated restocking

Manual process of distribution, inventory control and customer engagement created business inefficiencies

Page 10: Heroku Introduction: Scaling customer facing apps & services

Proven Success

5 BillionRequests per

day

4+ Million

Apps Created

125+Add-on Services

“Heroku enables us to build, test and ship faster than we ever would be able to

otherwise"– Jay Stakelon, VP of Product, Fullscreen

Page 11: Heroku Introduction: Scaling customer facing apps & services

Heroku is the developers’ choice“I recommend Heroku to anyone that wants to

spend time working on their product and not on servers.”– Ryan Twomey, Lead Platform Engineer, LevelUp

Page 12: Heroku Introduction: Scaling customer facing apps & services

Free Developer EnvironmentUsing only 1 dyno for your Heroku App is free

- Your app will sleep after 1 hour of inactivity

Page 13: Heroku Introduction: Scaling customer facing apps & services

What is Heroku?

DatabaseEnterprise grade

Postgres as a service

Add-onsMarketplace for data

stores and app services

DynosRun virtually any language at any

scale

Everything you need to build, run and scale customer apps

Page 14: Heroku Introduction: Scaling customer facing apps & services

Connectedeasy linking of the Heroku Postgres database driving your apps with your Salesforce OrgTransformingcustomer data translated into business applicable information

Managed2-way synchronization of high volumes of data at a sustainable rate

Heroku1 ConnectHeroku & Force.com

Page 15: Heroku Introduction: Scaling customer facing apps & services

Heroku: Technical Overview

Page 16: Heroku Introduction: Scaling customer facing apps & services

Heroku core language supportRuby, Java, NodeJS & Python

Virtually every language you can think of is supported by community buildpacks

https://devcenter.heroku.com/articles/third-party-buildpacks

Page 17: Heroku Introduction: Scaling customer facing apps & services

Developer driven deploymentDeploy using Git version control

- the most popular software versioning tool for developers

git push heroku master

Page 18: Heroku Introduction: Scaling customer facing apps & services

Continuous DeploymentEasy to deploy changes, so developers deploy smaller changes more often - quickly understand the value of software you create

Version code locally

Deploy code on Heroku

Develop application

code

Page 19: Heroku Introduction: Scaling customer facing apps & services

Consistent DeploymentBuild scripts ensure that the entire environment is built in the same way

git push heroku master

Page 20: Heroku Introduction: Scaling customer facing apps & services

Consistent DeploymentCreating an Heroku app provides a placeholder for your app

heroku create app-name --region us|eu

Page 21: Heroku Introduction: Scaling customer facing apps & services

Consistent DeploymentPushing code to Heroku creates brand new infrastructure

git push heroku master

Page 22: Heroku Introduction: Scaling customer facing apps & services
Page 23: Heroku Introduction: Scaling customer facing apps & services
Page 24: Heroku Introduction: Scaling customer facing apps & services

Heroku Demo Time

Demo Gods, please by kind

Page 25: Heroku Introduction: Scaling customer facing apps & services

Traceable deploymentEvery deployment is traceable to the exact code version in your Git repository

git log --graph --oneline --decorate

Page 26: Heroku Introduction: Scaling customer facing apps & services

Traceable deploymentHeroku dashboard shows your deployment versions

Page 27: Heroku Introduction: Scaling customer facing apps & services

Repeatable deploymentYou app is deployed from the code in your Git repository

git push my-app-test mastergit push my-app-staging master

Establish a complete set of consistent environments to support your development

Page 28: Heroku Introduction: Scaling customer facing apps & services

Consistent EnvironmentsBuildpacks ensure consistency across environment setups

Test Environment

Staging Environment

Production Environment

Environment variables used for specific database connections, services, etc.

Page 29: Heroku Introduction: Scaling customer facing apps & services

Collaborative deployment

Using Git is an effective way for developers and teams to collaborate around projects

Page 30: Heroku Introduction: Scaling customer facing apps & services
Page 31: Heroku Introduction: Scaling customer facing apps & services
Page 32: Heroku Introduction: Scaling customer facing apps & services

Heroku Orgs for apps oversight and collaboration

Page 33: Heroku Introduction: Scaling customer facing apps & services

Heroku Orgs

Manage all your applications under one organisation

heroku create app-name --org org-name

Page 34: Heroku Introduction: Scaling customer facing apps & services

Heroku Orgs Resource Management

Page 35: Heroku Introduction: Scaling customer facing apps & services

Creating an Heroku Org

Page 36: Heroku Introduction: Scaling customer facing apps & services

Heroku Orgs

Page 37: Heroku Introduction: Scaling customer facing apps & services

Manage your apps in one place

Page 38: Heroku Introduction: Scaling customer facing apps & services

Controlling access to Org Apps

Page 39: Heroku Introduction: Scaling customer facing apps & services

Controlling access to Org Apps

Page 40: Heroku Introduction: Scaling customer facing apps & services

3rd Party OrgsManage access to applications under one organisation - 3rd party developers can be limited to specific apps

Page 41: Heroku Introduction: Scaling customer facing apps & services

Scaling your apps on Heroku

Page 42: Heroku Introduction: Scaling customer facing apps & services

Scaling your apps on HerokuDynos can be spun up on demand, scaling resources almost

instantaneously

heroku ps:scale web=10heroku ps:scale web=0

Dynos can also be scaled down instantaneously when not needed

Page 43: Heroku Introduction: Scaling customer facing apps & services

Scaling your apps on HerokuDynos can run different processes, enabling fine grain scaling

heroku ps:scale web=10heroku ps:scale background=3Heroku ps:scale queue=1

Web processes listen to http[s] requests, other are background processes

Page 44: Heroku Introduction: Scaling customer facing apps & services

Scaling your apps on Heroku

Page 45: Heroku Introduction: Scaling customer facing apps & services

Performance Dynos - PxHave a whole block of resources to scale your Heroku app - routing latency advantages when you scale past 10 dynos

heroku ps:resize web=PX

https://blog.heroku.com/archives/2014/2/3/heroku-xl

Page 47: Heroku Introduction: Scaling customer facing apps & services

Managing your apps on Heroku

Page 48: Heroku Introduction: Scaling customer facing apps & services

Troubleshooting your appHeroku Logplex gives a unified log to find the real root cause of issues

heroku logs

Page 49: Heroku Introduction: Scaling customer facing apps & services

Managing Heroku infrastructureDynos are automatically patched for security vulnerabilities

- a new dyno is established before the current one is decommissioned

- requests are automatically routed to the new dyno Unresponsive & run-away processes have their dyno “recycled”

New DynoCurrent Dyno

CurrentSlug

Page 50: Heroku Introduction: Scaling customer facing apps & services

Production access without the riskConnect via secure shell to a copy of your Production app

Temporarydyno

Production dyno

heroku run bash

CurrentSlug

Page 51: Heroku Introduction: Scaling customer facing apps & services

Production access without the risk

Page 52: Heroku Introduction: Scaling customer facing apps & services

Heroku Production Health Check

Quickly review your app to ensure it is configured to be used in production

Page 53: Heroku Introduction: Scaling customer facing apps & services

status.heroku.com

Page 54: Heroku Introduction: Scaling customer facing apps & services

status.heroku.com

Page 55: Heroku Introduction: Scaling customer facing apps & services

Fast RollbacksRoll-forward a previously working deployment - allowing time to fix the root cause of a deployment issue

Roll-forward dynoVersion 22

(cloned from v20)

Production DynoVersion 21

heroku releasesheroku releases:info 20Heroku releases:rollback 20

Page 56: Heroku Introduction: Scaling customer facing apps & services

Fast RollbacksYou can see your release history via the command line or the Heroku dashboard

Page 57: Heroku Introduction: Scaling customer facing apps & services

Boosting app development with Heroku add-ons

Page 58: Heroku Introduction: Scaling customer facing apps & services

Largest Paas

Marketplace

Developer-focused add-ons allow you to provision datastores & services on demand

Page 59: Heroku Introduction: Scaling customer facing apps & services

Heroku Postgres

Page 60: Heroku Introduction: Scaling customer facing apps & services

Heroku Postgres Services

Page 61: Heroku Introduction: Scaling customer facing apps & services

New Relic – end 2 end monitoring

Page 62: Heroku Introduction: Scaling customer facing apps & services

Hirefire – auto-scaling

Page 63: Heroku Introduction: Scaling customer facing apps & services

Building Scalable apps

Page 64: Heroku Introduction: Scaling customer facing apps & services

12 Factor AppEven if your platform is scalable, it does not mean your app is - or it may not scale efficiently

12factor.net

Heroku engineers defined a set of principles to help you create and manage a highly scalable application.

Page 65: Heroku Introduction: Scaling customer facing apps & services

Heroku1 Connect In action

Automated syncronisation between Heroku Postgress and your Salesforce Org

www.heroku.com/1

Page 66: Heroku Introduction: Scaling customer facing apps & services

Heroku1 Connect

Heroku

Salesforce Org

Auto synchronization of data

Customer facingApp /

websiteCustomer data

captured

Understandingabout your customers

Turn customer interaction to valuable business insight

Page 67: Heroku Introduction: Scaling customer facing apps & services

Add Heroku Postgres to your App

Page 68: Heroku Introduction: Scaling customer facing apps & services

Adding the Heroku1 Connect addon to your App

Page 69: Heroku Introduction: Scaling customer facing apps & services

Your app on the Heroku Dashboard

Page 70: Heroku Introduction: Scaling customer facing apps & services

Choosing an Heroku Postgress Database

Page 71: Heroku Introduction: Scaling customer facing apps & services

Authorising access to your Salesforce Org

Page 72: Heroku Introduction: Scaling customer facing apps & services

Your Heroku1 Connect Dashboard

Page 73: Heroku Introduction: Scaling customer facing apps & services

Choose a Salesforce Object for Syncronisation

Page 74: Heroku Introduction: Scaling customer facing apps & services

Example: Selecting a Plant object

Page 75: Heroku Introduction: Scaling customer facing apps & services

Choosing Fields to sync on the Salesforce Object

Page 76: Heroku Introduction: Scaling customer facing apps & services

Example: Selecting Plant fields to synchronize

Page 77: Heroku Introduction: Scaling customer facing apps & services

Summary of Object Fields to be synchronised

Page 78: Heroku Introduction: Scaling customer facing apps & services

Your mapped objects

Page 79: Heroku Introduction: Scaling customer facing apps & services

First Sync happens as soon as an object is mapped

Page 80: Heroku Introduction: Scaling customer facing apps & services

Viewing your Database configuration

Page 81: Heroku Introduction: Scaling customer facing apps & services

Pause & Resume Sync’ing

Page 82: Heroku Introduction: Scaling customer facing apps & services

Developer tools can access your Heroku Postgress

Database

Page 83: Heroku Introduction: Scaling customer facing apps & services

Heroku1 Connect SummaryGet a single view of all your customer data - from every single touch point you create - connecting only that data that will provide value

An easy service to configure & monitor - ensuring you maximize the resources of your Salesforce Org

Save time & costs by not building your own solution - no value in building & maintaining commodity services

Page 84: Heroku Introduction: Scaling customer facing apps & services

Heroku SummaryDeveloper driven deployment - using tools developers are used to using

Easy scaling to support your growth - scale quickly and easily view your usage

Save time & costs by building on Heroku services - reduce the operations effort and build innovate apps quickly

Page 85: Heroku Introduction: Scaling customer facing apps & services

Try Heroku for yourself

Learn more at: http://heroku.com/

Getting started with Heroku guides: http://developers.salesforce.com

Page 86: Heroku Introduction: Scaling customer facing apps & services