SlideShare a Scribd company logo
Java on Heroku
Deploying and Scaling on the Cloud
Safe Harbor Statement
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.
Cloud
Application
 Trends
Continuous Delivery
“..reducing the cycle time between an idea and usable
                                            software”
                                              - Martin Fowler



“Software delivers no revenue until it is in the hands of
                                                its users.”
                                                -Jez Humble


       “.. leads to deeper relationship between IT, their
         business customer, and their final customers.”
                                                -Jez Humble
Anti-Patterns
Monolithic > Micro apps
                                            -   Slower
                                                Releases
 Web App -1       Web App -2                -   Memory footprint

                                            -   “noisy” neighbour
  Scheduled         MDBs         EJBs
    Jobs                                    -   Single
                                                Language
 Session Managers       Message Listeners

    Clustering                  M&M

              App Server Core


                  JVM
Monolithic > Micro apps
                                                           + Faster
           Web App 1            Web App 2
                                                             Releases
                                                           + Isolation
 JVM / Container        JVM / Container
                                                           + Small Optimized
                                                             Apps
                                                           + Scale independently
             Message                  Batch
          Driven apps                  Jobs                + Composite Apps
   JVM / Container      JVM / Container                    + Polyglot Architecture



        Cloud Services



                                              Cloud icon – courtesy from The Noun Project collection
One language >
                  Polyglot
         Presentation Tier
          (JSP, JSF, Struts)



       Business Logic Tier
               (Java)



             Data Tier
              RDBMS




-   No one size fits all
-   Lower productivity
One platform > Polyglot
   Presentation Tier     Presentation Tier
  (JSP, JSF,, Struts)      (Rails, HTML5..)



 Business Logic Tier    Business Logic Tier
       (Java)            (Java, Scala, NodeJS)



      Data Tier              Data Tier
      (RDBMS)               RDBMS, NoSQL




                            + Productivity

                            + Language strengths
                            + Performance
Application UIs > APIs
    Application UI
       (Browser)



Business Logic



      Data Tier




-     SOAP
-     Single Viewport

-     Stateful apps
Application UI > APIs
Application UI   Application UI   Mobile / Tablets
                                                     Devices
 (Browser)        (Browser)        (Java,iOS)


Business Logic                Business Logic API



  Data Tier                       Data Tier




                                      + JSON

                                      + Multi-Device
                                      + Stateless apps
                                      + Monetization
Stateful > Stateless
Sticky State Load Balancer


 App          App        App
Server       Server     Server
  1            1          1
Sessio        Sessio     Sessio
  n             n          n




    -    No continuous deployment
    -    Memory footprint

    -    Less elastic
Stateful > Stateless
   Sticky State Load Balancer                Load Balancer



 App         App          App
Server      Server       Server     App          App          App
  1           1            1
Sessio        Sessio       Sessio
  n             n            n



                                          Distributed Cache




                                     + Continuous Deployment

                                     + Lower memory footprint

                                     + Elastic Scale
App Server >
 HTTP
                                              Applications
Container




      -     Dev / Production Parity
      -     Complex packaging / deployment
App Server >
    Applications
Environment




                                        HTTP
                                      Component




              + simplified packaging & deployment

              + Simplified application start

              + Dev / Prod parity & Environments
Config > Environments

  Resource Configuration

     Application Code


JVM Property
JNDI Property

Multiple build artifacts by
env
Datasources
Config > Environments
                              DB_URL=jdbc://.. /DBDev




  Resource Configuration
                                     SFDC_OAUTH=DE
                                           V                    App
     Application Code


JVM Property
JNDI Property
                                                                   Dev, Prod

Multiple build artifacts by
env
Datasources
                                                                Environment Variable:
                                                    DB_URL=jdbc://postgres….

                                                         App will access the URL with:
                                                   System.getenv(“DB_URL”)
Mdlwr > Cloud Services
    Application Code




    Email Services

      Databases


       Databases




-    Infrastructure not
     innovation
-    Maintenance overheads

-    Productivity
Mdlwr > Cloud Services
                   Send Grid
                    DB_URL
Application Code



                     PubNub
Email Services     PUB_URL..        App
  Databases


   Databases
                                      Dev, Prod
                   Papertrail
                     ..URL..



                    + Focus on innovation

                    + Rapid prototyping

                    + Lower maintenance overheads
INTRO TO HEROKU
Building Cloud Apps
IaaS Reduces Costs
        Traditional On-Premise      Infrastructure as a
             Development                  Service


 Your Apps



                 Software Stack         Software Stack
                 Mobile Server           Mobile Server
                 Web Server              Web Server
  Software       App Server              App Server
Infrastructure   Hyper V Server          Hyper V Server
    (Slow)       Security Server         Security Server
                 Operating System        Operating System




                                                            Increase server utilization
  Hardware
Infrastructure                                                Reduce server costs
(Expensive)
                                                            Ease server administration
Still have stack
                 Infrastructure as a
                       Service
                               management
 Your Apps



                     Software Stack
                      Mobile Server         You still manage the software stack
                      Web Server
  Software
Infrastructure
                      App Server                You still upgrade and patch
                      Hyper V Server
    (Slow)
                      Security Server
                                         You still manually scale, tune and back-up
                      Operating System




  Hardware
Infrastructure
(Expensive)
Run      Forget       See       Trust &
Anything   Servers   Everything   Manage
Run anything




HTML5                    CometD
           JavaScript
          Django                Perl
                        NoSQL Apex
Ruby                 Groovy
               Spring Roo
                        MongoDB
SOQL      Grails Scala
Play !   Hibernate     Python
                 Spring MVC     Clojure
Java         NodeJS     Rails   PHP
Run anything




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.
Trust & Manage   Forget Servers




    Elastic Load
     balancing




Dyno manifold

•   Virtualized Linux   Dyno manifold
    containers (LxC)
•   Dynos are fully
    isolated from
    each other
•   Erosion resistant
See
                                    Everything




    Elastic Load
     balancing



Logplex

•   Real time       Dyno manifold
    stream of all
    your
    application
    events
•   Consumable         Logplex
    by 3rd party
    services or
    syslog drains
See
                                                       Everything




      Elastic Load
       balancing



API

•   Process status                     Dyno manifold
                     Control Surface


•   Manage your
    processes
                          API




•   Scale up or
    down your
    apps                                  Logplex

Clients:
•   CLI
•   Eclipse plugin
•   Apps
Elastic Load
     balancing



Addons

• Extend the                         Dyno manifold
                   Control Surface


  Platform
• Pre-Installed
                        API




  Services
• Common
  Components                            Logplex


                                        Addons
Trend            You will be building


Micro apps         Web app, API
                   service
Cloud Services     PubNub, Papertrail

Environments       Salesforce Oauth

Stateless          Distributed sessions w/Memcache

Containerless      Webapp-runner
12 Factor App
http://www.12factor.net

More Related Content

PDF
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
PPTX
Build Scanning into Your Web Based Business Application
PPT
Squared roof technology
PDF
HTML5 Mobile Application Framework
PPTX
SPEC INDIA Java Case Study
PDF
Client Continuum Dec Fy09
PDF
Guy Nirpaz Next Gen App Servers
PDF
Performance Management In The New Frontier Of Rich Internet Applications
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Build Scanning into Your Web Based Business Application
Squared roof technology
HTML5 Mobile Application Framework
SPEC INDIA Java Case Study
Client Continuum Dec Fy09
Guy Nirpaz Next Gen App Servers
Performance Management In The New Frontier Of Rich Internet Applications

What's hot (18)

PDF
Blaze Ds Slides
PPT
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
PDF
IBM Worklight - Technical Overview
PDF
DevOps for Mobile - DevOpsDays, NY, 2013
PDF
Vincent Desveronnieres, Oracle
PDF
Next Generation UC Clients and Endpoints
PDF
Modernize your-java ee-app-server-infrastructure
PDF
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
PDF
Gregor Hohpe Track Intro The Cloud As Middle Ware
PDF
6 develop web20_with_rad-tim_frnacis_sarika-s
 
PPTX
Soa204 Kawasaki Final
PDF
Silverlight 4 & Windows Phone 7 at Zup Zip Black Coffee#5
PDF
5 rqm gdd-sharmila-ramesh
 
PPTX
Track 2, session 5, aligning security with business kartik shahani
PDF
01 introduction
PPT
IBM WebSphere Liberty and Docker Deep Dive
PDF
Xebia adobe flash mobile applications
PDF
Novell Identity Manager Troubleshooting
Blaze Ds Slides
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
IBM Worklight - Technical Overview
DevOps for Mobile - DevOpsDays, NY, 2013
Vincent Desveronnieres, Oracle
Next Generation UC Clients and Endpoints
Modernize your-java ee-app-server-infrastructure
Was Mobile And Private Cloud For Inside Sales Customers Web Cast By Kathy Terry
Gregor Hohpe Track Intro The Cloud As Middle Ware
6 develop web20_with_rad-tim_frnacis_sarika-s
 
Soa204 Kawasaki Final
Silverlight 4 & Windows Phone 7 at Zup Zip Black Coffee#5
5 rqm gdd-sharmila-ramesh
 
Track 2, session 5, aligning security with business kartik shahani
01 introduction
IBM WebSphere Liberty and Docker Deep Dive
Xebia adobe flash mobile applications
Novell Identity Manager Troubleshooting
Ad

Similar to Continuous delivery on the cloud (20)

PDF
Nadeus Education Services session on Google Apps and Google App Engine
PPTX
vFabric - Ideal Platform for SaaS Apps
PPTX
Codestrong 2012 breakout session the role of cloud services in your next ge...
PDF
2011 04-dsi-javaee-in-the-cloud-andreadis
PPT
IBM Pulse 2013 session - DevOps for Mobile Apps
PPTX
Feed Herny developer training : crossplatform and HTML5
PDF
V fabric overview
PPTX
RTView - Monitoring Service for SmartCloud Applications
PDF
[2011-17-C-4] Heroku & database.com
PDF
Spring Into the Cloud
PDF
Java Web Programming Using Cloud Platform: Module 10
PDF
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
PDF
Spring into the Cloud - JDC2012 Cairo, Egypt
PDF
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
PDF
Development Model for The Cloud
PPTX
Simplifying Enterprise Mobility - Powering Mobile Apps from The Cloud
PDF
MyEclipse G IDE, Google Cloud
PDF
Azure Services Platform
PDF
Cloud Computing - PaaS
PDF
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Nadeus Education Services session on Google Apps and Google App Engine
vFabric - Ideal Platform for SaaS Apps
Codestrong 2012 breakout session the role of cloud services in your next ge...
2011 04-dsi-javaee-in-the-cloud-andreadis
IBM Pulse 2013 session - DevOps for Mobile Apps
Feed Herny developer training : crossplatform and HTML5
V fabric overview
RTView - Monitoring Service for SmartCloud Applications
[2011-17-C-4] Heroku & database.com
Spring Into the Cloud
Java Web Programming Using Cloud Platform: Module 10
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
Spring into the Cloud - JDC2012 Cairo, Egypt
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Development Model for The Cloud
Simplifying Enterprise Mobility - Powering Mobile Apps from The Cloud
MyEclipse G IDE, Google Cloud
Azure Services Platform
Cloud Computing - PaaS
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
Teaching material agriculture food technology
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Agricultural_Statistics_at_a_Glance_2022_0.pdf
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.

Continuous delivery on the cloud

  • 1. Java on Heroku Deploying and Scaling on the Cloud
  • 2. Safe Harbor Statement 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.
  • 4. Continuous Delivery “..reducing the cycle time between an idea and usable software” - Martin Fowler “Software delivers no revenue until it is in the hands of its users.” -Jez Humble “.. leads to deeper relationship between IT, their business customer, and their final customers.” -Jez Humble
  • 6. Monolithic > Micro apps - Slower Releases Web App -1 Web App -2 - Memory footprint - “noisy” neighbour Scheduled MDBs EJBs Jobs - Single Language Session Managers Message Listeners Clustering M&M App Server Core JVM
  • 7. Monolithic > Micro apps + Faster Web App 1 Web App 2 Releases + Isolation JVM / Container JVM / Container + Small Optimized Apps + Scale independently Message Batch Driven apps Jobs + Composite Apps JVM / Container JVM / Container + Polyglot Architecture Cloud Services Cloud icon – courtesy from The Noun Project collection
  • 8. One language > Polyglot Presentation Tier (JSP, JSF, Struts) Business Logic Tier (Java) Data Tier RDBMS - No one size fits all - Lower productivity
  • 9. One platform > Polyglot Presentation Tier Presentation Tier (JSP, JSF,, Struts) (Rails, HTML5..) Business Logic Tier Business Logic Tier (Java) (Java, Scala, NodeJS) Data Tier Data Tier (RDBMS) RDBMS, NoSQL + Productivity + Language strengths + Performance
  • 10. Application UIs > APIs Application UI (Browser) Business Logic Data Tier - SOAP - Single Viewport - Stateful apps
  • 11. Application UI > APIs Application UI Application UI Mobile / Tablets Devices (Browser) (Browser) (Java,iOS) Business Logic Business Logic API Data Tier Data Tier + JSON + Multi-Device + Stateless apps + Monetization
  • 12. Stateful > Stateless Sticky State Load Balancer App App App Server Server Server 1 1 1 Sessio Sessio Sessio n n n - No continuous deployment - Memory footprint - Less elastic
  • 13. Stateful > Stateless Sticky State Load Balancer Load Balancer App App App Server Server Server App App App 1 1 1 Sessio Sessio Sessio n n n Distributed Cache + Continuous Deployment + Lower memory footprint + Elastic Scale
  • 14. App Server > HTTP Applications Container - Dev / Production Parity - Complex packaging / deployment
  • 15. App Server > Applications Environment HTTP Component + simplified packaging & deployment + Simplified application start + Dev / Prod parity & Environments
  • 16. Config > Environments Resource Configuration Application Code JVM Property JNDI Property Multiple build artifacts by env Datasources
  • 17. Config > Environments DB_URL=jdbc://.. /DBDev Resource Configuration SFDC_OAUTH=DE V App Application Code JVM Property JNDI Property Dev, Prod Multiple build artifacts by env Datasources Environment Variable: DB_URL=jdbc://postgres…. App will access the URL with: System.getenv(“DB_URL”)
  • 18. Mdlwr > Cloud Services Application Code Email Services Databases Databases - Infrastructure not innovation - Maintenance overheads - Productivity
  • 19. Mdlwr > Cloud Services Send Grid DB_URL Application Code PubNub Email Services PUB_URL.. App Databases Databases Dev, Prod Papertrail ..URL.. + Focus on innovation + Rapid prototyping + Lower maintenance overheads
  • 22. IaaS Reduces Costs Traditional On-Premise Infrastructure as a Development Service Your Apps Software Stack Software Stack Mobile Server Mobile Server Web Server Web Server Software App Server App Server Infrastructure Hyper V Server Hyper V Server (Slow) Security Server Security Server Operating System Operating System Increase server utilization Hardware Infrastructure Reduce server costs (Expensive) Ease server administration
  • 23. Still have stack Infrastructure as a Service management Your Apps Software Stack Mobile Server You still manage the software stack Web Server Software Infrastructure App Server You still upgrade and patch Hyper V Server (Slow) Security Server You still manually scale, tune and back-up Operating System Hardware Infrastructure (Expensive)
  • 24. Run Forget See Trust & Anything Servers Everything Manage
  • 25. Run anything HTML5 CometD JavaScript Django Perl NoSQL Apex Ruby Groovy Spring Roo MongoDB SOQL Grails Scala Play ! Hibernate Python Spring MVC Clojure Java NodeJS Rails PHP
  • 26. Run anything 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.
  • 27. Trust & Manage Forget Servers Elastic Load balancing Dyno manifold • Virtualized Linux Dyno manifold containers (LxC) • Dynos are fully isolated from each other • Erosion resistant
  • 28. See Everything Elastic Load balancing Logplex • Real time Dyno manifold stream of all your application events • Consumable Logplex by 3rd party services or syslog drains
  • 29. See Everything Elastic Load balancing API • Process status Dyno manifold Control Surface • Manage your processes API • Scale up or down your apps Logplex Clients: • CLI • Eclipse plugin • Apps
  • 30. Elastic Load balancing Addons • Extend the Dyno manifold Control Surface Platform • Pre-Installed API Services • Common Components Logplex Addons
  • 31. Trend You will be building Micro apps Web app, API service Cloud Services PubNub, Papertrail Environments Salesforce Oauth Stateless Distributed sessions w/Memcache Containerless Webapp-runner

Editor's Notes

  • #7: There are so many tools out there that solve for unique and niche use cases Every application has many use cases that can be solved by different frameworks and languages pretty easilyRoR solves for web app development and makes the developer really productiveScala makes functional programming a lot more easy and popularized the “actor” modelNodeJS is becoming a hot framework for highly concurrent event driven applicationsGrails and Groovy are leading the pack in terms of DSLs for JVM languagesTwitter uses Scala for their business tier and RoR for the UI layer, Groupon uses RoRThere is no 1 single language/framework that can satisfy all your app’s needs.