1. Heroku Platform
for Java Developers
Idea Exchange
Aleksey Korolev
alexey.korolev@vrpinc.com
www.vrpinc.com
2. 1. В рамках одной учетной записи можно
создать несколько приложений.
2. Каждое приложение имеет свой git
репозиторий.
3. Каждый push в git репозиторий приложения
заставляет Heroku запустить maven сборку.
4. После успешной сборки приложение
автоматически развертывается и новая
версия становится доступна по адресу:
http://app-name.herokuapp.com
5. В рамках одной учетной записи можно
создать несколько приложений.
Кратко
3. «Облако» в «облаке» – работает на Amazon EC2
https://www.heroku.com/how
Архитектура платформы
4. Cтек – это виртуализированная среда исполнения Heroku.
Включает в себя: OC, среду исполнения для поддерживаемых языков (e.g. Open JDK), необходимые
библиотеки.
Текущий стек — Celadon Cedar: Ubuntu 10.04
• Ruby
• Java
• Clojure
• Python
• Scala
• Node.js
Стек / поддерживаемые языки
5. В стеке Cedar нет сервера приложений.
Webapp-runner – это встроенный Tomcat:
<dependency>
<groupId>com.github.jsimone</groupId>
<artifactId>webapp-runner</artifactId>
<version>7.0.34.0</version>
<scope>provided</scope>
</dependency>
Profile:
web: java -jar target/dependency/webapp-runner-7.0.34.0.jar --port $PORT target/*.war
Развёртывание веб-приложения
8. Git + Heroku помогают быстро продвигать изменения по ландшафтам: Dev, Staging,
Prod
1. push -> Staging
2. Test
3. push -> Prod
Работа с несколькими ландшафтами
9. Расширения
Postgres: $ heroku addons:add heroku-postgresql
Memcached: $ heroku addons:add memcachier
New Relic: $ heroku addons:add newrelic
Adminium: $ heroku addons:add adminium
Больше на https://addons.heroku.com
10. Ценообразование
Dynos:
1 dyno бесплатно
Дополнительные dyno (512M, 1x CPU, 1GB swap, 100Mb disk): $0.05/час = 35$/мес.
С июня 2013 доступны 2X dyno (1GB RAM, 2x CPU share) по $0.10/час = 70$/мес.
DB: Postgres
Starter tier (20 соед., нет кэша, нет логов): Dev (10K записей) бесплатно, Basic (10M) 9$/мес.
Production tier:
11. Сравнение с Amazon EC2
Micro (0.6Gb RAM): бесплатно на 1 год
Small (1.7Gb RAM, 1EC2 вычислительная единица, 160Gb
диск)
Примерный расчёт затрат на реальное приложение:
Heroku:
$50 Postgres Base план.
$20 SSL
$35 дополнительный dyno
Сумма: $105/мес
Amazon EC2:
$57 on-demand small EC2 instance
($28при оплате на год вперед; $18 на 3 года).
Источник: http://www.smashingboxes.com/heroku-vs-amazon-web-services/