heroku
DESCRIPTION
Short presenation about Heroku from WJAX 2012TRANSCRIPT
Heroku
Eberhard Wolff Architecture & Technology Manager
adesso AG
History & Origin
History & Origin • Originally started as Ruby PaaS
• Now: Support for Node.js, Clojure, Scala and Python
• Acquired by Salesforce.com
Programming Model • Jetty, Tomcat or Play! web server • Worker for background activities
• Standard Java Programming Model
Scaling / High Availability • Servers must be manually started for
scaling
• Failed servers will be restarted
Tools
Command Line Tool • heroku • E.g. creates new applications • Other management functions
– addons – logs – etc.
Other Tools • heroku tool creates an empty git
repository • Deploy new versions with git • Build (maven) done by Heroku • Build automatically deployed • No specialized tools needed – git is
enough • Integration with Atlassian Bamboo
possible
Flexibility
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…
Restrictions • Max source and build artifact size:
100MB • No sticky sessions • Dynos may not use more than 512MB
RAM • I.e. max JVM heap about 400MB
Platform and other Services
Plattform • Amazon Web Services • US East region only • Proven foundation • Can use AWS resources as part of the
solution
• 750h per month free
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
Heroku: Highlights • Very flexible: Supports many different
environments
• Broad range of additional services
• Also covers build