Java on Heroku - Amazon S3...salesforce.com products, and utilization and selling to larger...

Preview:

Citation preview

Java on Heroku Deploying and Scaling on the Cloud

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 intellectual property and other litigation, risks associated with 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-Q for the most recent fiscal quarter ended. This 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 Statement

@forcedotcom @Heroku

#forcewebinar @anand_bn

@_JamesWard

Courtesy : The New Yorker

Anand B Narasimhan Senior Product Manager, Heroku

anand@heroku.com

James L Ward Principal Developer Evangelist, Heroku

jw@heroku.com

Ruby

PHP

Spring MVC

NodeJS

Grails

Groovy Scala

Java Python

Django JavaScript

Clojure

Spring Roo

Play ! Hibernate

NoSQL

MongoDB

HTML

5

Rails

CometD Perl Apex

SOQL

the dilemma:

What platform(s) do I use?

pol·y·glot [pol-ee-glot]

adjective

1. able to speak or write several languages; multilingual.

2. containing, composed of, or written in several languages: a

polyglot Bible.

Do you want to be a more

productive

developer / team ?

+ = Like

Branded Intranet App

+ = Like {api}

Complex Lead

Assignment Engine

Branded Customer

apps with db.com

Connecting Facebook

and Chatter

Complex Territory

Management

+ = Like

..and much more !!!

• Business process oriented

• Form-based workflow

• Business intelligence tools

• Rely heavily on SFDC data

• Clicks, not code

•Compute Intensive

•Consumer-facing

•Many 3rd party integrations

•OSS & portability

•No usage or rate limits

•Greenfield custom app development

A MORE IN DEPTH DEMO

web.1 web.2 web.3 web.4 web.5

$heroku scale web=5

Routing

mesh

Share

Nothing

Let’s bake some Cakes

• Environment (Oven at 350, 9 x13 pan etc.)

• Ingredients (Flour, Chocolate etc.)

• Process (Sift, Mix, pour etc.)

Environment

+

Ingredients

+

Process

= Cake !!!

Environment

+

Ingredients

+

Process

= Another

Cake !!!

Deploying web apps…

• Environment (Runtime, configuration etc.)

• Ingredients (Dependencies, app, services etc.)

• Process (Build, assemble, start etc.)

Environment + Ingredients + Process = web 1 !!

Environment + Ingredients + Process = web 2 !!

Your code

Dependencies

WAR

Environment

config

Application

App Server

Services

Your code

Dependencies

WAR / JAR

Environment config $heroku config

Embedded Container

Add-ons $heroku addons:add

pom.xml $ mvn install

Procfile web:$sh …

$ git push heroku

What container do you use?

+

let’s see a demo

Heroku Maven Plugin

(under development)

=

$ mvn heroku:create

Databases Application

Management

Mobile

New Relic

Loggly Redis

Postgres

MongoDB

Pusher

StackMob

Parse (beta)

3rd Party

Services

Tddium

Addons WebSolr

Moonshado SMS

Pandastream Email

CloudmailIn SendGrid

and many more…

For Developers:

For Enterprises:

Free to get started

Pay as you go (compute storage and services)

Organizational Pooled resources

Mix and match (compute storage and services)

Yearly invoice billing

Resources

• Sample Java projects: http://java.herokuapp.com

• Getting Started : http://www.heroku.com/java

• Toolbelt (http://toolbelt.herokuapp.com )

• Heroku Devcenter: http://devcenter.heroku.com

• Heroku Add-ons: http://addons.heroku.com

• Git: http://help.github.com/

James Ward @_JamesWard Developer Evangelist at Heroku

jw@heroku.com

Anand Narasimhan @anand_bn Sr. Product Manager at Heroku

anand@heroku.com

Survey: http://bit.ly/1201survey

Heroku Devcenter: http://devcenter.heroku.com