Impact Mapping: планирование
разработки продукта с учетом
бизнес целей
Александр Бындю (byndusoft.com)
Микросервисы и
Docker
Глеб Паньшин "Точка Кипения"
me@panshin.pro
Точка Кипения
КИНОПЛАН
Проект
• 3 года разработки
• 16 + 1 разработчиков
• ~ 1200 недовольных кинотеатров
Технологии
Dev и Ops
2014 год
DEV сервер
Developer0
Developer1
Developer2
Developer3
Developer4
DEV сервер
Developer0
Developer1
Developer2
Developer3
Developer4
developer0.dev.kinoplan.ru
developer1.dev.kinoplan.ru
…
developer4.dev.kinoplan.ru
Плюсы
• Минимум действий от разработчика
• Относительно удобно поддерживать
• Окружение как на боевом сервере
Минусы
• Отказ сервера останавливает работу всей
команды
• Битва за ресурсы
• Удаленное редактирование кода (no vim???)
• Неудобно для отдела тестирования
DEV сервер
Developer0
Developer1
Developer2
Developer3
Developer4
Developer0
Developer1
Developer2
Developer3
Developer4
• Как поддерживать окружение разработчиков
• А как тестировать то теперь?
2 тестовых окружения
хватит всем
• dev.kinoplan.ru
• stage.dev.kinoplan.ru
Stage кому-то нужен?
Помощники
Task flow
ToDo In progress
KW-1001 KW-1001
Branch Created
Task flow
In progress Build
KW-1001 KW-1001
Pull request created
Task flow
Build QA
KW-1001 KW-1001
Instance created
Task flow
QA Review
KW-1001 KW-1001
Instance deleted
Task flow
Review Ready
KW-1001 KW-1001
Instance deleted
Pull request closed
Task flow
Ready Done
KW-1001 KW-1001
Deployed
TK Jira Tool
• Создание Instance после успешного билда
• Актуализация Instance
• Удаление Instance
• Следит за количеством Approve
Ключевые аспекты
• No git-flow. Только master-branch
• Тестирование до review
• Instance для каждой задачи ( Front only )
• У всех проектов триггер на изменение master
ветки
• Кнопка MERGE в руках QA-специалистов
А как же backend?
Теперь про Dev
• Не уходим от ssh
• Надо изучать Puppet, chef, ansible..
• docker-machine
• репозиторий с sub-modules
git clone &&
git submodules init &&
bin/start
Что в продакшне?
• 15 контейнеров
• 5 из них общаются с миром по HTTP
Визуализация иерархии
Иерархия в Bamboo
• Каждый образ это отдельный репозиторий
• Каскадный билд
Так что там про
микросервисы?
Представьте, что вы
разрабатываете большое
сложное приложение
Архитектура
ОрганизацияПроцессы
Автономные команды
Agile
Continuous Deployment
Монолит vs Микросервисы
Сколько и насколько
маленькие?
28.000 LoC
32.000 LoC
450 LoC
Почему
остановились?
• Микросервисы ради микросерсивов
неисчерпаемый объем видимой работы
• Отсутствие сильного отдела эксплуатации
TК°Conf. Микросервисы и Docker. Глеб Паньшин.

TК°Conf. Микросервисы и Docker. Глеб Паньшин.