79
Хероковая жизнь Юрий Литвиненко Kreditech @surg https://linkedin.com/in/lytvynenko http://github.com/surg/

"Хероковая жизнь" Юрий Литвиненко

  • Upload
    fwdays

  • View
    239

  • Download
    3

Embed Size (px)

Citation preview

Хероковая жизнь

Юрий Литвиненко Kreditech

@surg https://linkedin.com/in/lytvynenko http://github.com/surg/

* Слайд для проверки пульта

Кто я?

Кто я?

Кто я?• Программист

Кто я?• Программист

• Менеджер

Кто я?• Программист

• Менеджер

• @surg

Кто я?• Программист

• Менеджер

• @surg

Кто я?• Программист

• Менеджер

• @surg

Хероковая?

Хероковая

Хероковая

Heroku

Heroku

• PAAS

Heroku

• PAAS

• git push

Heroku

• PAAS

• git push

• Инфраструктура

Инфраструктура

Инфраструктура

Инфраструктура

Инфраструктура

Инфраструктура

Инфраструктура

Инфраструктура

https://addons.heroku.com/

heroku addons:add mongolab

Как это работает

Как это работает

Как это работает• Создать приложение

Как это работает• Создать приложение

• Добавить remote в свой гит

Как это работает• Создать приложение

• Добавить remote в свой гит

• Создать Procfile

Как это работает• Создать приложение

• Добавить remote в свой гит

• Создать Procfile

• Пуш

Как это работает• Создать приложение

• Добавить remote в свой гит

• Создать Procfile

• Пуш

• Задать количество нод

Как это работает• Создать приложение

• Добавить remote в свой гит

• Создать Procfile

• Пуш

• Задать количество нод

• PROFIT!

Procfile

Procfile

• Определяет процессы приложения

Procfile

• Определяет процессы приложения

• Одна строчка -> один процесс -> одна виртуалка (дино)

Procfile

• Определяет процессы приложения

• Одна строчка -> один процесс -> одна виртуалка (дино)

• web: java -jar jetty-runner.jar --port $PORT <my-webapp>.war

Procfile

• Определяет процессы приложения

• Одна строчка -> один процесс -> одна виртуалка (дино)

• web: java -jar jetty-runner.jar --port $PORT <my-webapp>.war

• worker: java -jar <my-bg-jobs>.jar

Что у нас

Production

Production

……

Production

……

Production

……

Production

66 dynos

……

Production

66 dynos

150 dynos

Сокровища

Сокровища

Сокровища

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

Сокровища

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

• Инфраструктура

Сокровища

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

• Инфраструктура

• Continuous Delivery

Ограничения

Ограничения• Время сборки: 15 минут

Ограничения• Время сборки: 15 минут

• Размер собранного приложения: 300М

Ограничения• Время сборки: 15 минут

• Размер собранного приложения: 300М

• Время поднятия приложения: 1 минута

Ограничения• Время сборки: 15 минут

• Размер собранного приложения: 300М

• Время поднятия приложения: 1 минута

• 30 секунд на ответ

Ограничения• Время сборки: 15 минут

• Размер собранного приложения: 300М

• Время поднятия приложения: 1 минута

• 30 секунд на ответ

• Только http

Подводные камни

Подводные камни• Раз в сутки - рестарт

Подводные камни• Раз в сутки - рестарт

• “Мистика”

Подводные камни• Раз в сутки - рестарт

• “Мистика”

• Нет контроля над софтом

Подводные камни• Раз в сутки - рестарт

• “Мистика”

• Нет контроля над софтом

• Нет контроля над обновлениями

Подводные камни• Раз в сутки - рестарт

• “Мистика”

• Нет контроля над софтом

• Нет контроля над обновлениями

• Ценник

Routing

RoutingLoad Balancer

RoutingLoad Balancer

Router Router Router…

RoutingLoad Balancer

Router Router Router…

RoutingLoad Balancer

Router Router Router…

Web Web Web Web

RoutingLoad Balancer

Router Router Router…

Web Web Web Web

Вердикт

Вердикт

• Жить можно

Вердикт

• Жить можно

• С определенными ограничениями

Вердикт

• Жить можно

• С определенными ограничениями

• До определенного размера

Вердикт

• Жить можно

• С определенными ограничениями

• До определенного размера

• Мы собираемся съезжать

?

Спасибо!