SlideShare a Scribd company logo
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

More Related Content

What's hot

Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Fwdays
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
Artjoker
 
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 Store
sandy97
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
COMAQA.BY
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
COMAQA.BY
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
Ruslan Sharipov
 
Silverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопеSilverlight 4, есть ли жизнь на десктопе
Silverlight 4, есть ли жизнь на десктопе
Alex Tumanoff
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
Pavel Klimiankou
 
Docker. Основы
Docker. ОсновыDocker. Основы
Docker. Основы
Ivan Miniailenko
 
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 для Linux
sandy97
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации Тестирования
COMAQA.BY
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
MoscowJS
 
"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
MoscowJS
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
Сергей Ладыгин
 
Docker 1.9
Docker 1.9Docker 1.9

What's hot (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
 

Viewers also liked

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. Intro
Anton Moiseenko
 
Learning Java 1 – Introduction
Learning Java 1 – IntroductionLearning Java 1 – Introduction
Learning Java 1 – Introduction
caswenson
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
Nikita Lipsky
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
University of Gujrat
 
Introduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeopleIntroduction To Angular.js - SpringPeople
Introduction To Angular.js - SpringPeople
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
Kostas Saidis
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
jyoti_lakhani
 
Introduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleIntroduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeople
SpringPeople
 
Introduction To Java.
Introduction To Java.Introduction To Java.
Introduction To Java.
Tushar Chauhan
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)
Luigi De Russis
 
Java Tutorial
Java TutorialJava Tutorial
Java Tutorial
Vijay A Raj
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
Eduonix Learning Solutions
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
Ram132
 
Core java slides
Core java slidesCore java slides
Core java slides
Abhilash Nair
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
Intelligo Technologies
 
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
Leon Chen
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Veerabadra Badra
 

Viewers also liked (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
 

Similar to Heroku for Java developer

Локальное окружение на Docker
Локальное окружение на DockerЛокальное окружение на Docker
Локальное окружение на Docker
Михаил Бакулин
 
Использование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложенииИспользование сторонних библиотек в веб-приложении
Использование сторонних библиотек в веб-приложении
Denis Latushkin
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
Tatyanazaxarova
 
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 101
Nadzeya 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-2016
Vad 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
Конкурс для разработчиков от Evernote
Evernote
 
Eclipse Monkey
Eclipse MonkeyEclipse Monkey
Eclipse Monkeyilja.panin
 
системы сборок проектов
системы сборок проектовсистемы сборок проектов
системы сборок проектов
Romero78
 
Docker контейнерная революция
Docker контейнерная революцияDocker контейнерная революция
Docker контейнерная революция
GetDev.NET
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHP
Maxim 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
 

Similar to 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/