SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Heroku Platform
for Java Developers
Idea Exchange
Aleksey Korolev
alexey.korolev@vrpinc.com
www.vrpinc.com
1. В рамках одной учетной записи можно
создать несколько приложений.
2. Каждое приложение имеет свой git
репозиторий.
3. Каждый push в git репозиторий приложения
заставляет Heroku запустить maven сборку.
4. После успешной сборки приложение
автоматически развертывается и новая
версия становится доступна по адресу:
http://app-name.herokuapp.com
5. В рамках одной учетной записи можно
создать несколько приложений.
Кратко
«Облако» в «облаке» – работает на Amazon EC2
https://www.heroku.com/how
Архитектура платформы
Cтек – это виртуализированная среда исполнения Heroku.
Включает в себя: OC, среду исполнения для поддерживаемых языков (e.g. Open JDK), необходимые
библиотеки.
Текущий стек — Celadon Cedar: Ubuntu 10.04
• Ruby
• Java
• Clojure
• Python
• Scala
• Node.js
Стек / поддерживаемые языки
В стеке 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
Развёртывание веб-приложения
CLI: $ heroku ps:scale web=2 worker=4 clock=1
UI:
Масштабирование
Масштабирование
Git + Heroku помогают быстро продвигать изменения по ландшафтам: Dev, Staging,
Prod
1. push -> Staging
2. Test
3. push -> Prod
Работа с несколькими ландшафтами
Расширения
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
Ценообразование
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:
Сравнение с 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/
Вопросы?
Aleksey Korolev
alexey.korolev@vrpinc.com

Weitere ähnliche Inhalte

Was ist angesagt?

Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"Fwdays
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningArtjoker
 
Java осень 2012 лекция 5
Java осень 2012 лекция 5Java осень 2012 лекция 5
Java осень 2012 лекция 5Technopark
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуAndrew Gubskiy
 
1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)sandy97
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Storesandy97
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in pythonCOMAQA.BY
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationCOMAQA.BY
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Ruslan Sharipov
 
Silverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеSilverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеAlex Tumanoff
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QAFest
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаYandex
 
3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linuxsandy97
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияCOMAQA.BY
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25MoscowJS
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяСергей Ладыгин
 

Was ist angesagt? (20)

Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 
Java осень 2012 лекция 5
Java осень 2012 лекция 5Java осень 2012 лекция 5
Java осень 2012 лекция 5
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
 
1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)1. RAD Studio Tokyo What's new Введение (К.Раннев)
1. RAD Studio Tokyo What's new Введение (К.Раннев)
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
Silverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеSilverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопе
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux3. Разработка на Delphi для Linux
3. Разработка на Delphi для Linux
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации Тестирования
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 

Andere mochten auch

Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1Technopark
 
Introduction to java
Introduction to java Introduction to java
Introduction to java Sandeep Rawat
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)Sujit Majety
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. IntroJava Core. Lecture# 1. Intro
Java Core. Lecture# 1. IntroAnton Moiseenko
 
Learning Java 1 – Introduction
Learning Java 1 – IntroductionLearning Java 1 – Introduction
Learning Java 1 – Introductioncaswenson
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilationNikita Lipsky
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleSpringPeople
 
An Introduction to Groovy for Java Developers
An Introduction to Groovy for Java DevelopersAn Introduction to Groovy for Java Developers
An Introduction to Groovy for Java DevelopersKostas Saidis
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introductionjyoti_lakhani
 
Introduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleIntroduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleSpringPeople
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Luigi De Russis
 
Core java concepts
Core java  conceptsCore java  concepts
Core java conceptsRam132
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlLeon Chen
 

Andere mochten auch (20)

Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
 
Java Core. Lecture# 1. Intro
Java Core. Lecture# 1. IntroJava Core. Lecture# 1. Intro
Java Core. Lecture# 1. Intro
 
Learning Java 1 – Introduction
Learning Java 1 – IntroductionLearning Java 1 – Introduction
Learning Java 1 – Introduction
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeople
 
An Introduction to Groovy for Java Developers
An Introduction to Groovy for Java DevelopersAn Introduction to Groovy for Java Developers
An Introduction to Groovy for Java Developers
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
 
Introduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleIntroduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeople
 
Introduction To Java.
Introduction To Java.Introduction To Java.
Introduction To Java.
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)
 
Java Tutorial
Java TutorialJava Tutorial
Java Tutorial
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 

Ähnlich wie Heroku for Java developer

Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на DockerМихаил Бакулин
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииDenis Latushkin
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreTatyanazaxarova
 
C# Desktop. Занятие 15.
C# Desktop. Занятие 15.C# Desktop. Занятие 15.
C# Desktop. Занятие 15.Igor Shkulipa
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya Pus
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Vad Tymoshyk
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekYa_Cheburek
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Denis Vasilyev
 
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Ontico
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Конкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteКонкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteEvernote
 
Eclipse Monkey
Eclipse MonkeyEclipse Monkey
Eclipse Monkeyilja.panin
 
системы сборок проектов
системы сборок проектовсистемы сборок проектов
системы сборок проектовRomero78
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революцияGetDev.NET
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHPMaxim Sivokon
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр Егурцов
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Dakiry
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?Oleksandr Torosh
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковCodeFest
 

Ähnlich wie Heroku for Java developer (20)

Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложении
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
 
C# Desktop. Занятие 15.
C# Desktop. Занятие 15.C# Desktop. Занятие 15.
C# Desktop. Занятие 15.
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101
 
Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016Dev ops.events.v tymoshyk-20-oct-2016
Dev ops.events.v tymoshyk-20-oct-2016
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by Cheburek
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
 
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
Успешный кейс использования React Native в продакшне, Евгений Федоров (LOOKBUCK)
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Selenium Begins
Selenium BeginsSelenium Begins
Selenium Begins
 
Конкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteКонкурс для разработчиков от Evernote
Конкурс для разработчиков от Evernote
 
Eclipse Monkey
Eclipse MonkeyEclipse Monkey
Eclipse Monkey
 
системы сборок проектов
системы сборок проектовсистемы сборок проектов
системы сборок проектов
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHP
 
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
 
Phalcon. Что нового?
Phalcon. Что нового?Phalcon. Что нового?
Phalcon. Что нового?
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 

Heroku for Java developer

  • 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 Развёртывание веб-приложения
  • 6. CLI: $ heroku ps:scale web=2 worker=4 clock=1 UI: Масштабирование
  • 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/