Cloud Integration with Database.com and Heroku
-
Upload
salesforce-developers -
Category
Documents
-
view
500 -
download
0
Transcript of Cloud Integration with Database.com and Heroku
![Page 1: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/1.jpg)
Cloud Integration with
Database.com and Heroku David Messinger, Appirio, Community Architect
@dmessing
![Page 2: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/2.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/3.jpg)
David Messinger
Community Architect
@dmessing
![Page 4: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/4.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/5.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/7.jpg)
NoSQL, NewSQL, YourSQL?
What SQL should I use?
![Page 8: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/8.jpg)
Database Map by the 451 Group - 2011
![Page 9: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/9.jpg)
• 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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/10.jpg)
Document Based
![Page 11: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/11.jpg)
Key Valued
![Page 12: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/12.jpg)
Graph Based
![Page 13: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/13.jpg)
New SQL
![Page 14: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/14.jpg)
• 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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/15.jpg)
So What does it All Mean?
![Page 16: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/16.jpg)
Historically
![Page 17: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/17.jpg)
• 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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/18.jpg)
Decoupled Services / Apps
![Page 19: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/19.jpg)
• 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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/20.jpg)
Our Selection of Database.com/Heroku
![Page 21: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/21.jpg)
Cloud Migration
Help Desk
Commute
Calculator Chatter
Compliance
Event Check-in
Mobile App
CloudSpokes
![Page 22: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/22.jpg)
Argh, Chatter Me Mateys
![Page 23: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/23.jpg)
• 95 Countries
• 387K Page Views
• %10 Login Rate
Stats
![Page 24: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/24.jpg)
CloudSpokes Architecture
![Page 25: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/25.jpg)
• 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 28: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/28.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/29.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/30.jpg)
Enough Slides!
![Page 31: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/31.jpg)
Redis
![Page 32: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/32.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/33.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/34.jpg)
Effective Matching -Metaphone
# modified from -
http://text.rubyforge.org/s
vn/lib/text/metaphone.rb
def
metaphones_for_keywor
d(keyword)
![Page 35: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/35.jpg)
Demo & Resources
http://cs-search.herokuapp.com/
https://addons.heroku.com/
Github - https://github.com/cloudspokes/cs-search
Redis
Mongo (10gen.com)
Database.com
Heroku.com
![Page 36: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/36.jpg)
David Messinger
Community Architect
@dmessing
![Page 37: Cloud Integration with Database.com and Heroku](https://reader031.fdocuments.net/reader031/viewer/2022013121/555cebc1d8b42add648b4782/html5/thumbnails/37.jpg)