3. History & Origin
§ Originally started as Ruby PaaS
§ Now: Support for Node.js, Clojure,
Grails, Scala and Python
§ Acquired by Salesforce.com
Eberhard Wolff - @ewolff
4. Programming Model
§ Jetty, Tomcat or Play! web server
§ Worker for background activities
§ Standard Java Programming Model
Eberhard Wolff - @ewolff
5. Scaling / High Availability
§ Servers must be manually started for
scaling
§ Failed servers will be restarted
Eberhard Wolff - @ewolff
17. Flexibility
§ Dynos: processes run on Heroku
§ Procfile defines command line to start a
“Dyno”
§ Can be tuned and changed
§ Can create custom “Buildpack” to run
entirely different environments
§ Available as Open Source e.g. for Ruby,
PHP, Erlang, EmacsLisp…
Eberhard Wolff - @ewolff
18. Restrictions
§ Max source and build artifact size:
200MB
§ No sticky sessions
§ Dynos may not use more than
512MB RAM
§ I.e. max JVM heap about 400MB
Eberhard Wolff - @ewolff
20. Platform
§ Amazon Web Services
§ US East region
§ EU West beta
§ Proven foundation
§ Can use AWS resources as part of the
solution
§ 750h per month free
Eberhard Wolff - @ewolff
21. Other Services
§ Heroku supports Add-ons
§ Postgresql and memcached by
Heroku
§ Many 3rd party
§ E.g. relational databases, NoSQL
databases, logging, caches…
§ Configuration passed to service via
environment variables
Eberhard Wolff - @ewolff
22. Heroku: Highlights
§ Very flexible: Supports many
different environments
§ Broad range of additional services
§ Also covers build
§ https://github.com/ewolff/newsapplication-heroku
Eberhard Wolff - @ewolff