Upload
tkconf
View
64
Download
3
Embed Size (px)
Citation preview
Impact Mapping: планирование разработки продукта с учетом бизнес целейАлександр Бындю (byndusoft.com)
Микросервисы и DockerГлеб Паньшин "Точка Кипения" [email protected]
Точка Кипения КИНОПЛАН
Проект
• 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
Почему остановились?
• Микросервисы ради микросерсивов неисчерпаемый объем видимой работы
• Отсутствие сильного отдела эксплуатации