Post on 08-Feb-2017
СкоростьПростотаГибкость
Множество модулейСтабильность
МультиязычностьHTTPSButtons
ЦенаОграничения
Время деплоя
+ -
Heroku
Минусы архитектуры
1) Очень дорого2) Невозможность одновременно смотреть разные feature ветки3) Нет возможности параллельного запуска тестов4) Безопасность5) Bamboo6) Долгий деплой
Корпус MicroATX Minitower Zalman ZM-T5 Black
Кулер Cooler Zalman CNPS2XБлок
питания 600W ZALMAN ZM600-LE
RAM 2 x DIMM 16Gb 2x8Gb KIT DDR3 PC12800 1600MHz Kingston
SSD 128Gb Samsung 850 Pro Series
Материнская плата
Gigabyte GA-B150M-D3H DDR3 B150 Socket-1151 4xDDR3
Процессор Intel Core i7-6700 Skylake (3.4GHz)
Решение: шаг первый - свой локальный сервер
Общая цена сервера: 56500 ≈ 785$
Цена старой архитектуры в месяц: 4*7+3*7+18*3+10=113$
Окупаемость - 7 месяцев
Решение: шаг первый - свой локальный сервер
docker run -d --name=teamcity-agent-1 --link teamcity:teamcity --privileged -e
TEAMCITY_SERVER=http://teamcity:8111 sjoerdmulder/teamcity-agent:latest
Docker
Решение: шаг второй - локальный teamcity
sjoerdmulder/teamcity-docker
sjoerdmulder/teamcity-agent
sjoerdmulder/teamcity-agent
sjoerdmulder/teamcity-agent
Сервер
Агент АгентАгент
BACKEND
FRONTEND
WORKER
CONNECT
ADMINTOOL
UNITTESTS
UNITTESTS
UNITTESTS
DOKKUDEPLOY
LOCALWORKER
LOCALCONNECT
LOCALBACKEND
LOCALFRONTEND
LOCALADMIN TOOL
E2ETESTS
E2ETESTS
Старт
Dokku deploy
Передан ли branch name?
Существуют ли контейнеры для данного
брачна?
branch name
develop
нет
да
Создает сервера из сорцов в
репозиториях
Появились ли новые коммиты?
да
нет
Финишнет
Редиплой серверов с
новым кодомда
Плюсы новой архитектуры
1) На много дешевле, чем старый вариант в перспективе2) Мы имеем столько конфигураций, сколько нам нужно3) Можно одновременно тестировать разные ветки4) Можем запускать тесты одновременно на разных
ветках5) Закрыто за vpn6) Скорость деплоя возросла в несколько раз7) Все приложения стали работать заметно быстрее8) Упростилась возможность потенциального расширения