Transcript
Page 1: Cloud Integration with Database.com and Heroku

Cloud Integration with

Database.com and Heroku David Messinger, Appirio, Community Architect

@dmessing

Page 2: Cloud Integration with Database.com and Heroku

Safe Harbor

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 l itigation, 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 July 31, 2012. 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.

Page 3: Cloud Integration with Database.com and Heroku

David Messinger

Community Architect

@dmessing

Page 4: Cloud Integration with Database.com and Heroku

Appirio Helps Enterprises Power Their Business with Public Cloud Solutions

Technology-enabled professional services, supported by 500 cloud experts and

a 50,000+ cloud developer community

Helping Enterprises Become:

Efficient Effective

5 years, 300 enterprises, 1.5M users moved to the cloud

Social Mobile

Agile

Page 5: Cloud Integration with Database.com and Heroku

What to Walk Away With

• Learn strategies on connecting various cloud platforms with

Heroku and DB.com

• Learn advantages of different platforms

• Review examples of using Heroku.com to integrate with cloud

platforms.

Page 6: Cloud Integration with Database.com and Heroku

Agenda

• Brief Intro to Cloud Databases

• Why we chose Heroku / database.com

• Example Decomposition of Work

• Demo

• Database.com

• Redis

• Heroku (Ruby/Rails)

• Q/A

Page 7: Cloud Integration with Database.com and Heroku

NoSQL, NewSQL, YourSQL?

What SQL should I use?

Page 8: Cloud Integration with Database.com and Heroku

Database Map by the 451 Group - 2011

Page 9: Cloud Integration with Database.com and Heroku

• Pros

• Large data volumes

• Flexible Schemas

• Easy to administer

• Scales out not up

• Specialized DB for the task

• Cons

• No Joins/Not Relational

• No complex transactions

• May not guarantee ACID

• No SQL

NoSQL

Page 10: Cloud Integration with Database.com and Heroku

Document Based

Page 11: Cloud Integration with Database.com and Heroku

Key Valued

Page 12: Cloud Integration with Database.com and Heroku

Graph Based

Page 13: Cloud Integration with Database.com and Heroku

New SQL

Page 14: Cloud Integration with Database.com and Heroku

• Pros

• Horizontal scale w/ no

coding changes

• Cost Reduction

• Server Resources

• Admin

• Increased Reliability

• Cons

• Relatively young

• Most are not hosted

New SQL Pros/Cons

Page 15: Cloud Integration with Database.com and Heroku

So What does it All Mean?

Page 16: Cloud Integration with Database.com and Heroku

Historically

Page 17: Cloud Integration with Database.com and Heroku

• Cloud Applications need to be fast.

• APIs need to be flexible, fast and scalable.

• RDBMS (in most cases) do not scale for certain types of

applications.

New Times = New Services

Page 18: Cloud Integration with Database.com and Heroku

Decoupled Services / Apps

Page 19: Cloud Integration with Database.com and Heroku

• No ultimate DB

• No one size fits all

• Select the right DB

• Flexible data

• Big Data

• Transactional Data

Ultimate Ninja DB

Page 20: Cloud Integration with Database.com and Heroku

Our Selection of Database.com/Heroku

Page 21: Cloud Integration with Database.com and Heroku

Cloud Migration

Help Desk

Commute

Calculator Chatter

Compliance

Event Check-in

Mobile App

CloudSpokes

Page 22: Cloud Integration with Database.com and Heroku

Argh, Chatter Me Mateys

Page 23: Cloud Integration with Database.com and Heroku

• 95 Countries

• 387K Page Views

• %10 Login Rate

Stats

Page 24: Cloud Integration with Database.com and Heroku

CloudSpokes Architecture

Page 25: Cloud Integration with Database.com and Heroku

• PaaS vs IaaS

• Easy to Scale (manual but

still easy)

• No infrastructure resources

• Heroku vs Cloud Foundry

• True Public Cloud

• More mature / Stable not in

GA

• Larger Add on market

• Git built in Credit: Comparing IAAS and PAAS: A Developer’s Perspective

Why Heroku

Page 26: Cloud Integration with Database.com and Heroku

Heroku Applications

•Ruby on Rails

•Java / Play

•Node.js

Page 27: Cloud Integration with Database.com and Heroku

Heroku Advantages

Heroku Addons

Page 28: Cloud Integration with Database.com and Heroku

Why We Settled on database.com

A secure, cloud database for building social and mobile enterprise

apps.

Slimmed down version of Force.com

Only custom objects (no CRUD UI)

Apex classes, triggers & workflow

Identity & user management plus role and profile security

OAuth2 & REST baked in

• Utilize your favorite Force.com tools

Pricing based upon user licenses, records and transactions

Page 29: Cloud Integration with Database.com and Heroku

DB.com adds the fries to the Happy Meal!

Application design, development

Declarative, configuration, reporting

Application integration and

scale

Page 30: Cloud Integration with Database.com and Heroku

Enough Slides!

Page 31: Cloud Integration with Database.com and Heroku

Redis

Page 32: Cloud Integration with Database.com and Heroku

Redis Structure

Keyword based search index

(Sets) keyword:<keyword>, (Sets) keyword:<id>

To store minimal required data for each challenge

(Keys) title:<id>, (Keys) end_date:<id>, (Keys) open:<id>, (Sets)

categories:<id>, (Sets) category:<category_name>

To keep track of open and closed challenges

(Sets) open_challenges, (Sets) closed_challenges

To keep track of categories

(Sets) category_names

Page 33: Cloud Integration with Database.com and Heroku

How To Do Efficient Searches

R.sunion(redis_keys)

key1 = {a,b,c,d}

key2 = {c}

key3 = {a,c,e}

sunion {a,b,c,d,e}

R.sinter(redis_keys) # exclusive –

intersect

key1 = {a,b,c,d}

key2 = {c}

key3 = {a,c,e}

sinter {c}

Page 34: Cloud Integration with Database.com and Heroku

Effective Matching -Metaphone

# modified from -

http://text.rubyforge.org/s

vn/lib/text/metaphone.rb

def

metaphones_for_keywor

d(keyword)

Page 36: Cloud Integration with Database.com and Heroku

David Messinger

Community Architect

@dmessing

Page 37: Cloud Integration with Database.com and Heroku