heroku

Post on 13-Jan-2015

624 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Short presenation about Heroku from WJAX 2012

TRANSCRIPT

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

top related