Java on HerokuDeploying and Scaling on the Cloud
Safe Harbor StatementSafe harbor statement under the Private Securities Litigation Reform Act of 1995.This presentation ma...
CloudApplication Trends
Continuous Delivery“..reducing the cycle time between an idea and usable                                            softwa...
Anti-Patterns
Monolithic > Micro apps                                            -   Slower                                             ...
Monolithic > Micro apps                                                           + Faster           Web App 1            ...
One language >                  Polyglot         Presentation Tier          (JSP, JSF, Struts)       Business Logic Tier  ...
One platform > Polyglot   Presentation Tier     Presentation Tier  (JSP, JSF,, Struts)      (Rails, HTML5..) Business Logi...
Application UIs > APIs    Application UI       (Browser)Business Logic      Data Tier-     SOAP-     Single Viewport-     ...
Application UI > APIsApplication UI   Application UI   Mobile / Tablets                                                   ...
Stateful > StatelessSticky State Load Balancer App          App        AppServer       Server     Server  1            1  ...
Stateful > Stateless   Sticky State Load Balancer                Load Balancer App         App          AppServer      Ser...
App Server > HTTP                                              ApplicationsContainer      -     Dev / Production Parity   ...
App Server >    ApplicationsEnvironment                                        HTTP                                      C...
Config > Environments  Resource Configuration     Application CodeJVM PropertyJNDI PropertyMultiple build artifacts byenvD...
Config > Environments                              DB_URL=jdbc://.. /DBDev  Resource Configuration                        ...
Mdlwr > Cloud Services    Application Code    Email Services      Databases       Databases-    Infrastructure not     inn...
Mdlwr > Cloud Services                   Send Grid                    DB_URLApplication Code                     PubNubEma...
INTRO TO HEROKU
Building Cloud Apps
IaaS Reduces Costs        Traditional On-Premise      Infrastructure as a             Development                  Service...
Still have stack                 Infrastructure as a                       Service                               managemen...
Run      Forget       See       Trust &Anything   Servers   Everything   Manage
Run anythingHTML5                    CometD           JavaScript          Django                Perl                      ...
Run anythingpol·y·glot [pol-ee-glot]adjective1. able to speak or write several languages; multilingual.2. containing, comp...
Trust & Manage   Forget Servers    Elastic Load     balancingDyno manifold•   Virtualized Linux   Dyno manifold    contain...
See                                    Everything    Elastic Load     balancingLogplex•   Real time       Dyno manifold   ...
See                                                       Everything      Elastic Load       balancingAPI•   Process statu...
Elastic Load     balancingAddons• Extend the                         Dyno manifold                   Control Surface  Plat...
Trend            You will be buildingMicro apps         Web app, API                   serviceCloud Services     PubNub, P...
12 Factor Apphttp://www.12factor.net
Upcoming SlideShare
Loading in …5
×

Continuous delivery on the cloud

772 views
692 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
772
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 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.
  • Continuous delivery on the cloud

    1. 1. Java on HerokuDeploying and Scaling on the Cloud
    2. 2. Safe Harbor StatementSafe 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 suchuncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materiallyfrom the results expressed or implied by the forward looking-statements we make. All statements other than statements ofhistorical 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 futureoperations, statements of belief, any statements concerning new, planned, or upgraded services or technology developmentsand 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 newfunctionality for our service, new products and services, our new business model, our past operating losses, possible fluctuationsin our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, theoutcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immaturemarket in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employeesand 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 thatcould affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscalquarter ended. This documents and others containing important disclosures are available on the SEC Filings section of theInvestor Information section of our Web site.Any unreleased services or features referenced in this or other presentations, press releases or public statements are notcurrently available and may not be delivered on time or at all. Customers who purchase our services should make the purchasedecisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend toupdate these forward-looking statements.
    3. 3. CloudApplication Trends
    4. 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
    5. 5. Anti-Patterns
    6. 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. 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. 8. One language > Polyglot Presentation Tier (JSP, JSF, Struts) Business Logic Tier (Java) Data Tier RDBMS- No one size fits all- Lower productivity
    9. 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. 10. Application UIs > APIs Application UI (Browser)Business Logic Data Tier- SOAP- Single Viewport- Stateful apps
    11. 11. Application UI > APIsApplication 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. 12. Stateful > StatelessSticky State Load Balancer App App AppServer Server Server 1 1 1Sessio Sessio Sessio n n n - No continuous deployment - Memory footprint - Less elastic
    13. 13. Stateful > Stateless Sticky State Load Balancer Load Balancer App App AppServer Server Server App App App 1 1 1Sessio Sessio Sessio n n n Distributed Cache + Continuous Deployment + Lower memory footprint + Elastic Scale
    14. 14. App Server > HTTP ApplicationsContainer - Dev / Production Parity - Complex packaging / deployment
    15. 15. App Server > ApplicationsEnvironment HTTP Component + simplified packaging & deployment + Simplified application start + Dev / Prod parity & Environments
    16. 16. Config > Environments Resource Configuration Application CodeJVM PropertyJNDI PropertyMultiple build artifacts byenvDatasources
    17. 17. Config > Environments DB_URL=jdbc://.. /DBDev Resource Configuration SFDC_OAUTH=DE V App Application CodeJVM PropertyJNDI Property Dev, ProdMultiple build artifacts byenvDatasources Environment Variable: DB_URL=jdbc://postgres…. App will access the URL with: System.getenv(“DB_URL”)
    18. 18. Mdlwr > Cloud Services Application Code Email Services Databases Databases- Infrastructure not innovation- Maintenance overheads- Productivity
    19. 19. Mdlwr > Cloud Services Send Grid DB_URLApplication Code PubNubEmail Services PUB_URL.. App Databases Databases Dev, Prod Papertrail ..URL.. + Focus on innovation + Rapid prototyping + Lower maintenance overheads
    20. 20. INTRO TO HEROKU
    21. 21. Building Cloud Apps
    22. 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 ServerInfrastructure Hyper V Server Hyper V Server (Slow) Security Server Security Server Operating System Operating System Increase server utilization HardwareInfrastructure Reduce server costs(Expensive) Ease server administration
    23. 23. Still have stack Infrastructure as a Service management Your Apps Software Stack Mobile Server You still manage the software stack Web Server SoftwareInfrastructure App Server You still upgrade and patch Hyper V Server (Slow) Security Server You still manually scale, tune and back-up Operating System HardwareInfrastructure(Expensive)
    24. 24. Run Forget See Trust &Anything Servers Everything Manage
    25. 25. Run anythingHTML5 CometD JavaScript Django Perl NoSQL ApexRuby Groovy Spring Roo MongoDBSOQL Grails ScalaPlay ! Hibernate Python Spring MVC ClojureJava NodeJS Rails PHP
    26. 26. Run anythingpol·y·glot [pol-ee-glot]adjective1. able to speak or write several languages; multilingual.2. containing, composed of, or written in several languages: apolyglot Bible.
    27. 27. Trust & Manage Forget Servers Elastic Load balancingDyno manifold• Virtualized Linux Dyno manifold containers (LxC)• Dynos are fully isolated from each other• Erosion resistant
    28. 28. See Everything Elastic Load balancingLogplex• Real time Dyno manifold stream of all your application events• Consumable Logplex by 3rd party services or syslog drains
    29. 29. See Everything Elastic Load balancingAPI• Process status Dyno manifold Control Surface• Manage your processes API• Scale up or down your apps LogplexClients:• CLI• Eclipse plugin• Apps
    30. 30. Elastic Load balancingAddons• Extend the Dyno manifold Control Surface Platform• Pre-Installed API Services• Common Components Logplex Addons
    31. 31. Trend You will be buildingMicro apps Web app, API serviceCloud Services PubNub, PapertrailEnvironments Salesforce OauthStateless Distributed sessions w/MemcacheContainerless Webapp-runner
    32. 32. 12 Factor Apphttp://www.12factor.net

    ×