SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Cloud Integration with
Database.com and Heroku
David Messinger, Appirio, Community Architect
@dmessing
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 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 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.
David Messinger
Community Architect
@dmessing
Appirio Helps Enterprises Power Their Business with
Public Cloud Solutions

                                 Helping Enterprises Become:

                         Efficient        Effective            Agile
                                 Social               Mobile




                        Technology-enabled professional services,
                            supported by 500 cloud experts and
                          a 50,000+ cloud developer community
                  5 years, 300 enterprises, 1.5M users moved to the cloud
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.
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
NoSQL, NewSQL, YourSQL?
 What SQL should I use?
Database Map by the 451 Group - 2011
NoSQL

• Pros                             • Cons
   • Large data volumes              • No Joins/Not Relational
   • Flexible Schemas                • No complex transactions
   • Easy to administer              • May not guarantee ACID
   • Scales out not up               • No SQL
   • Specialized DB for the task
Document Based
Key Valued
Graph Based
New SQL
New SQL Pros/Cons

• Pros                        • Cons
   • Horizontal scale w/ no     • Relatively young
     coding changes             • Most are not hosted
   • Cost Reduction
   • Server Resources
   • Admin
   • Increased Reliability
So What does it All Mean?
Historically
New Times = New Services

• 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.
Decoupled Services / Apps
Ultimate Ninja DB

• No ultimate DB
• No one size fits all
• Select the right DB
   • Flexible data
   • Big Data
   • Transactional Data
Our Selection of Database.com/Heroku
CloudSpokes




  Commute
  Calculator     Chatter    Cloud Migration   Event Check-in
               Compliance      Help Desk        Mobile App
Argh, Chatter Me Mateys
Stats
• 95 Countries
• 387K Page Views
• %10 Login Rate
CloudSpokes Architecture
Why 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
Heroku Applications

 •Ruby on Rails
 •Java / Play
 •Node.js
Heroku Advantages

 Heroku Addons
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
DB.com adds the fries to the Happy Meal!


                                                            Application
        Application design, development                   integration and
                                                               scale




                         Declarative, configuration, reporting
Enough Slides!
Redis
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
How To Do Efficient Searches
 R.sunion(redis_keys)    R.sinter(redis_keys) # exclusive –
   key1 = {a,b,c,d}      intersect
   key2 = {c}               key1 = {a,b,c,d}
   key3 = {a,c,e}           key2 = {c}
   sunion {a,b,c,d,e}       key3 = {a,c,e}
                             sinter {c}
Effective Matching -Metaphone

 # modified from -
 http://text.rubyforge.org/s
 vn/lib/text/metaphone.rb
 def
 metaphones_for_keywor
 d(keyword)
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
David Messinger
Community Architect
   @dmessing
Cloud Integration with Database.com and Heroku

Weitere ähnliche Inhalte

Was ist angesagt?

&quot;Integrating Salesforce CRM through Scribe&quot; Webinar
&quot;Integrating Salesforce CRM through Scribe&quot; Webinar&quot;Integrating Salesforce CRM through Scribe&quot; Webinar
&quot;Integrating Salesforce CRM through Scribe&quot; WebinarDoble Group, LLC
 
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)Codit
 
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...Modern Workplace Conference Paris
 
WSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantWSO2
 
Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsTechcello
 
The Basics of Getting Started With Microsoft Azure
The Basics of Getting Started With Microsoft AzureThe Basics of Getting Started With Microsoft Azure
The Basics of Getting Started With Microsoft AzureMicrosoft Azure
 
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...mfrancis
 
Leveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyLeveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyTechcello
 
Application platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapApplication platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapBizTalk360
 
In the Spotlight WSO2 App Factory
In the Spotlight   WSO2 App FactoryIn the Spotlight   WSO2 App Factory
In the Spotlight WSO2 App FactoryWSO2
 
MongoDB in the Healthcare Enterprise
MongoDB in the Healthcare EnterpriseMongoDB in the Healthcare Enterprise
MongoDB in the Healthcare EnterpriseMongoDB
 
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USACloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USASelvaratnam Uthaiyashankar
 
Microsoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsMicrosoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsRoy Kim
 
Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Daniel Toomey
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glanceTechcello
 
Cloud computing and Software as a Service Overview
Cloud computing and Software as a Service OverviewCloud computing and Software as a Service Overview
Cloud computing and Software as a Service OverviewRahul Sudame
 

Was ist angesagt? (20)

&quot;Integrating Salesforce CRM through Scribe&quot; Webinar
&quot;Integrating Salesforce CRM through Scribe&quot; Webinar&quot;Integrating Salesforce CRM through Scribe&quot; Webinar
&quot;Integrating Salesforce CRM through Scribe&quot; Webinar
 
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
Azure IPaaS: #IntegrationEvolved (Glenn Colpaert @ Codit's BizTalk 2016 Launch)
 
PSD Enablement Session "Mobile Reference Applications"
PSD Enablement Session "Mobile Reference Applications" PSD Enablement Session "Mobile Reference Applications"
PSD Enablement Session "Mobile Reference Applications"
 
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
2018 10-17 J1 3C - Hybrid architectures with Amazon Web Services, Office 365 ...
 
WSO2 Roadmap and Vision
WSO2 Roadmap and VisionWSO2 Roadmap and Vision
WSO2 Roadmap and Vision
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
 
Webinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS ApplicationsWebinar How to Achieve True Scalability in SaaS Applications
Webinar How to Achieve True Scalability in SaaS Applications
 
The Basics of Getting Started With Microsoft Azure
The Basics of Getting Started With Microsoft AzureThe Basics of Getting Started With Microsoft Azure
The Basics of Getting Started With Microsoft Azure
 
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
 
Leveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancyLeveraging azure and cello for multi tenancy
Leveraging azure and cello for multi tenancy
 
Application platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmapApplication platform and integration platform strategy and roadmap
Application platform and integration platform strategy and roadmap
 
In the Spotlight WSO2 App Factory
In the Spotlight   WSO2 App FactoryIn the Spotlight   WSO2 App Factory
In the Spotlight WSO2 App Factory
 
MongoDB in the Healthcare Enterprise
MongoDB in the Healthcare EnterpriseMongoDB in the Healthcare Enterprise
MongoDB in the Healthcare Enterprise
 
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USACloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
 
Microsoft Azure For Solutions Architects
Microsoft Azure For Solutions ArchitectsMicrosoft Azure For Solutions Architects
Microsoft Azure For Solutions Architects
 
Redington Value Journal - July 2017
Redington Value Journal - July 2017Redington Value Journal - July 2017
Redington Value Journal - July 2017
 
Microsoft Azure News - January 2022
Microsoft Azure News - January 2022Microsoft Azure News - January 2022
Microsoft Azure News - January 2022
 
Techcello at a glance
Techcello at a glanceTechcello at a glance
Techcello at a glance
 
An Overview of Windows Azure
An Overview of Windows AzureAn Overview of Windows Azure
An Overview of Windows Azure
 
Cloud computing and Software as a Service Overview
Cloud computing and Software as a Service OverviewCloud computing and Software as a Service Overview
Cloud computing and Software as a Service Overview
 

Ähnlich wie Cloud Integration with Database.com and Heroku

Real-time SQL Access for Your Salesforce.com Data
Real-time SQL Access for Your Salesforce.com DataReal-time SQL Access for Your Salesforce.com Data
Real-time SQL Access for Your Salesforce.com DataSalesforce Developers
 
Building a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comBuilding a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comSalesforce Developers
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud StrategyVISI
 
SQL 2005 EoS (End of Support) - SoftwareONE
SQL 2005 EoS (End of Support) - SoftwareONESQL 2005 EoS (End of Support) - SoftwareONE
SQL 2005 EoS (End of Support) - SoftwareONESoftwareONEPresents
 
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...Amazon Web Services
 
Alfresco DevCon 2018: Product Direction Keynote
Alfresco DevCon 2018: Product Direction KeynoteAlfresco DevCon 2018: Product Direction Keynote
Alfresco DevCon 2018: Product Direction KeynoteRichard Esplin
 
Developing a Documentation Portal on Heroku
Developing a Documentation Portal on HerokuDeveloping a Documentation Portal on Heroku
Developing a Documentation Portal on HerokuSalesforce Developers
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrationsdreamforce2006
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Developers
 
Your Secret Weapon: Top Admin Apps from the AppExchange
Your Secret Weapon: Top Admin Apps from the AppExchangeYour Secret Weapon: Top Admin Apps from the AppExchange
Your Secret Weapon: Top Admin Apps from the AppExchangeMike Gerholdt
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
 
Azure_Business_Opportunity
Azure_Business_OpportunityAzure_Business_Opportunity
Azure_Business_OpportunityNojan Emad
 
Get Started with Microsoft Azure.pptx
Get Started with Microsoft Azure.pptxGet Started with Microsoft Azure.pptx
Get Started with Microsoft Azure.pptxAnjaliMishra647628
 
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送Google Cloud Platform - Japan
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground Troy Sellers
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreSalesforce Developers
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comJeff Douglas
 
Journey to the Cloud: What I Wish I Knew Before I Started
Journey to the Cloud: What I Wish I Knew Before I Started Journey to the Cloud: What I Wish I Knew Before I Started
Journey to the Cloud: What I Wish I Knew Before I Started Datavail
 

Ähnlich wie Cloud Integration with Database.com and Heroku (20)

Real-time SQL Access for Your Salesforce.com Data
Real-time SQL Access for Your Salesforce.com DataReal-time SQL Access for Your Salesforce.com Data
Real-time SQL Access for Your Salesforce.com Data
 
Building a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comBuilding a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.com
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
 
SQL 2005 EoS (End of Support) - SoftwareONE
SQL 2005 EoS (End of Support) - SoftwareONESQL 2005 EoS (End of Support) - SoftwareONE
SQL 2005 EoS (End of Support) - SoftwareONE
 
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...
Migrating Thousands of Workloads to AWS at Enterprise Scale – Chris Wegmann, ...
 
Alfresco DevCon 2018: Product Direction Keynote
Alfresco DevCon 2018: Product Direction KeynoteAlfresco DevCon 2018: Product Direction Keynote
Alfresco DevCon 2018: Product Direction Keynote
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
 
Developing a Documentation Portal on Heroku
Developing a Documentation Portal on HerokuDeveloping a Documentation Portal on Heroku
Developing a Documentation Portal on Heroku
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrations
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We Do
 
Your Secret Weapon: Top Admin Apps from the AppExchange
Your Secret Weapon: Top Admin Apps from the AppExchangeYour Secret Weapon: Top Admin Apps from the AppExchange
Your Secret Weapon: Top Admin Apps from the AppExchange
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
 
Azure_Business_Opportunity
Azure_Business_OpportunityAzure_Business_Opportunity
Azure_Business_Opportunity
 
Get Started with Microsoft Azure.pptx
Get Started with Microsoft Azure.pptxGet Started with Microsoft Azure.pptx
Get Started with Microsoft Azure.pptx
 
An Introduction to Lightning Web Components
An Introduction to Lightning Web ComponentsAn Introduction to Lightning Web Components
An Introduction to Lightning Web Components
 
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Journey to the Cloud: What I Wish I Knew Before I Started
Journey to the Cloud: What I Wish I Knew Before I Started Journey to the Cloud: What I Wish I Knew Before I Started
Journey to the Cloud: What I Wish I Knew Before I Started
 

Mehr von Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mehr von Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Cloud Integration with Database.com and Heroku

  • 1. Cloud Integration with Database.com and Heroku David Messinger, Appirio, Community Architect @dmessing
  • 2. 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 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 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.
  • 4. Appirio Helps Enterprises Power Their Business with Public Cloud Solutions Helping Enterprises Become: Efficient Effective Agile Social Mobile Technology-enabled professional services, supported by 500 cloud experts and a 50,000+ cloud developer community 5 years, 300 enterprises, 1.5M users moved to the cloud
  • 5. 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.
  • 6. 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
  • 7. NoSQL, NewSQL, YourSQL? What SQL should I use?
  • 8. Database Map by the 451 Group - 2011
  • 9. NoSQL • Pros • Cons • Large data volumes • No Joins/Not Relational • Flexible Schemas • No complex transactions • Easy to administer • May not guarantee ACID • Scales out not up • No SQL • Specialized DB for the task
  • 14. New SQL Pros/Cons • Pros • Cons • Horizontal scale w/ no • Relatively young coding changes • Most are not hosted • Cost Reduction • Server Resources • Admin • Increased Reliability
  • 15. So What does it All Mean?
  • 17. New Times = New Services • 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.
  • 19. Ultimate Ninja DB • No ultimate DB • No one size fits all • Select the right DB • Flexible data • Big Data • Transactional Data
  • 20. Our Selection of Database.com/Heroku
  • 21. CloudSpokes Commute Calculator Chatter Cloud Migration Event Check-in Compliance Help Desk Mobile App
  • 23. Stats • 95 Countries • 387K Page Views • %10 Login Rate
  • 25. Why 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
  • 26. Heroku Applications •Ruby on Rails •Java / Play •Node.js
  • 28. 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
  • 29. DB.com adds the fries to the Happy Meal! Application Application design, development integration and scale Declarative, configuration, reporting
  • 31. Redis
  • 32. 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
  • 33. How To Do Efficient Searches R.sunion(redis_keys) R.sinter(redis_keys) # exclusive –  key1 = {a,b,c,d} intersect  key2 = {c}  key1 = {a,b,c,d}  key3 = {a,c,e}  key2 = {c}  sunion {a,b,c,d,e}  key3 = {a,c,e}  sinter {c}
  • 34. Effective Matching -Metaphone # modified from - http://text.rubyforge.org/s vn/lib/text/metaphone.rb def metaphones_for_keywor d(keyword)
  • 35. 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