heroku

18
Heroku Eberhard Wolff Architecture & Technology Manager adesso AG

Upload: eberhard-wolff

Post on 13-Jan-2015

629 views

Category:

Technology


1 download

DESCRIPTION

Short presenation about Heroku from WJAX 2012

TRANSCRIPT

Page 1: Heroku

Heroku

Eberhard Wolff Architecture & Technology Manager

adesso AG

Page 2: Heroku

History & Origin

Page 3: Heroku

History & Origin •  Originally started as Ruby PaaS

•  Now: Support for Node.js, Clojure, Scala and Python

•  Acquired by Salesforce.com

Page 4: Heroku

Programming Model •  Jetty, Tomcat or Play! web server •  Worker for background activities

•  Standard Java Programming Model

Page 5: Heroku

Scaling / High Availability •  Servers must be manually started for

scaling

•  Failed servers will be restarted

Page 6: Heroku

Tools

Page 7: Heroku

Command Line Tool •  heroku •  E.g. creates new applications •  Other management functions

– addons –  logs – etc.

Page 8: Heroku

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

Page 9: Heroku
Page 10: Heroku
Page 11: Heroku
Page 12: Heroku

Flexibility

Page 13: Heroku

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…

Page 14: Heroku

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

Page 15: Heroku

Platform and other Services

Page 16: Heroku

Plattform •  Amazon Web Services •  US East region only •  Proven foundation •  Can use AWS resources as part of the

solution

•  750h per month free

Page 17: Heroku

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

Page 18: Heroku

Heroku: Highlights •  Very flexible: Supports many different

environments

•  Broad range of additional services

•  Also covers build