12
Heroku Platform for Java Developers Idea Exchange Aleksey Korolev [email protected] www.vrpinc.c om

Heroku for Java developer

  • Upload
    vrpinc

  • View
    497

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Heroku for Java developer

Heroku Platform for Java Developers

Idea ExchangeAleksey [email protected]

www.vrpinc.com

Page 2: Heroku for Java developer

1. В рамках одной учетной записи можно создать несколько приложений.

2. Каждое приложение имеет свой git репозиторий.

3. Каждый push в git репозиторий приложения заставляет Heroku запустить maven сборку.

4. После успешной сборки приложение автоматически развертывается и новая версия становится доступна по адресу:http://app-name.herokuapp.com

5. В рамках одной учетной записи можно создать несколько приложений.

Кратко

Page 3: Heroku for Java developer

«Облако» в «облаке» – работает на Amazon EC2

https://www.heroku.com/how

Архитектура платформы

Page 4: Heroku for Java developer

Cтек – это виртуализированная среда исполнения Heroku.Включает в себя: OC, среду исполнения для поддерживаемых языков (e.g. Open JDK), необходимые библиотеки.

Текущий стек — Celadon Cedar: Ubuntu 10.04

Ruby

Java

Clojure

Python

Scala

Node.js

Стек / поддерживаемые языки

Page 5: Heroku for Java developer

В стеке 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

Развёртывание веб-приложения

Page 6: Heroku for Java developer

CLI: $ heroku ps:scale web=2 worker=4 clock=1UI:

Масштабирование

Page 7: Heroku for Java developer

Масштабирование

Page 8: Heroku for Java developer

Git + Heroku помогают быстро продвигать изменения по ландшафтам: Dev, Staging, Prod

1. push -> Staging2. Test3. push -> Prod

Работа с несколькими ландшафтами

Page 9: Heroku for Java developer

Расширения

Postgres: $ heroku addons:add heroku-postgresqlMemcached: $ heroku addons:add memcachierNew Relic: $ heroku addons:add newrelicAdminium: $ heroku addons:add adminium

Больше на https://addons.heroku.com

Page 10: Heroku for Java developer

Ценообразование

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: PostgresStarter tier (20 соед., нет кэша, нет логов): Dev (10K записей) бесплатно, Basic (10M) 9$/мес.Production tier:

Page 11: Heroku for Java developer

Сравнение с 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/

Page 12: Heroku for Java developer

Вопросы?

Aleksey [email protected]