Heroku Inside

of 45 /45
Heroku Inside

Embed Size (px)



Transcript of Heroku Inside

  • 1. Heroku Inside

2. Heroku Outside 3. Dining 4. Living room 5. Bar 6. Basement 7. Heroku InsideAyumu AizawaHeroku Inc.,Developer Marketing Advocate 8. 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, andassumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the resultsof salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements 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 futureoperations, statements of belief, any statements concerning new, planned, or upgraded services ortechnology developments and customer contracts or use of our services.The risks and uncertainties referred to above include but are not limited to risks associated withdeveloping and delivering new functionality for our service, new products and services, our new businessmodel, 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 intellectualproperty and other litigation, risks associated with possible mergers and acquisitions, the immature marketin which we operate, our relatively limited operating history, our ability to expand, retain, and motivate ouremployees and manage our growth, new releases of our service and successful customer deployment, ourlimited history reselling non-salesforce.com products, and utilization and selling to larger enterprisecustomers. 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 April 30, 2011.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 publicstatements are not currently available and may not be delivered on time or at all. Customers who purchaseour 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-lookingstatements. 9. Ayumu AizawaHeroku Evangelist @ Salesforce.comDeveloper Marketing Advocate @ Heroku twitter: @ayumin Fb: www.facebook.com/ayumu.aizawa 10. Heroku 11. What is Heroku?Why Heroku?Who are using Heroku? How to use Heroku?When should I try Heroku?Where are resources of Heroku? 12. What is Heroku? HerokuRubyJavaPythonScalaNode.jsClojure PaaSPlatform-as-a-Service 13. What is HerokuAgilePolyglot Tool24h2-4w 14. Why Heroku? Heroku 15. The 12 Factor AppHerokuWeb Codebase Port binding Dependencies Concurrency Config Disposability Backing Services Dev/prod parity Build, release, run Logs Processes Admin processeshttp://www.12factor.net 16. Sample App (sinatra)$ lsGemfile Procfileapp.rb config.ru$ cat Gemfilesource http://rubygems.orggem sinatragem thin$ cat config.rurequire ./app.rbrun Sinatra::Application$ cat app.rbrequire sinatraget / do hello worldend$ cat Procfileweb: bundle exec thin p $PORT e $RACK_ENV start 17. Deploy to Heroku$ git initInitialized empty Git repository in /path/to/app/.git/$ git add A$ git commit m initial commit[master (root-commit) 5cf507d] initial commit 4 files changed, 14 insertions(+), 0 deletions(-) create mode 100644 Gemfile create mode 100644 Procfile create mode 100644 app.rb create mode 100644 config.ru$ heroku apps:create s cedarhttp://growing-summer-1456.herokuapp.com/ | [email protected] Git remote heroku added$ git push herokumaster 18. How to use Heroku? Heroku Heroku Toolbelthttps://toolbelt.heroku.com/ 19. Who are using Heroku? Web 20. When should I try Heroku?Now! http://www.heroku.com 21. Where are resources of Heroku?sucsess.heroku.comheroku.com/pricing devcenter.heroku.comnews.heroku.com blog.heroku.comwww.facebook.com/[email protected] 22. Heroku Inside 23. Architecture Overview UserElastic Load barancerControl Surface APIs Dyno ManifoldDeveloperLogprex 24. Architecture OverviewDyno Heroku 25. Dyno 26. What is Dyno?Dyno FeaturesHows Dyno created 27. What is Dyno Batch Process Web Process Background ProcessProcess TypeDyno 28. What is Dyno Dyno 29. Dyno Features Elasticity Intelligent Routing Process Management Distribution & Redundancy 30. Elasticity heroku ps:scale web=5 31. Elasticity heroku ps:scale web=1 32. Intelligent Routing Routing Mesh 33. Process management Dyno 34. Process management Dyno 35. Distribution & Redundancy DynoAWS 36. Hows Dyno created 37. Procfile Dyno = Procfileweb: bundle exec rails server -p $PORT -e $RACK_ENVworker: bundle exec rake job:work web worker 38. Dyno scalingProcess Type web worker clock 39. Slug Slug = Dyno push 40. Slug compiler pushSlug -buildpack 41. Conclusion 42. Conclusion HerokuPaaS Dyno Slug 43. When should I try Heroku?Now! http://www.heroku.com 44. Where are resources of Heroku?sucsess.heroku.comheroku.com/pricing devcenter.heroku.comnews.heroku.com blog.heroku.comwww.facebook.com/[email protected] 45. Thank you!http://www.heroku.com