SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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. Глеб Паньшин.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Dive into DevOps | March, How we've migrated projects into Kubernetes and nob...
Dive into DevOps | March, How we've migrated projects into Kubernetes and nob...Dive into DevOps | March, How we've migrated projects into Kubernetes and nob...
Dive into DevOps | March, How we've migrated projects into Kubernetes and nob...
 
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел ТихомировРазвёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
RHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и DockerRHEL 7. Контейнеры и Docker
RHEL 7. Контейнеры и Docker
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе docker
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 

Destacado

Микросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опытаМикросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опыта
Elena Grahovac
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
Aleksandr Tarasov
 

Destacado (6)

2015 (2)
2015 (2)2015 (2)
2015 (2)
 
Микросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опытаМикросервисные архитектуры и немного жизненного опыта
Микросервисные архитектуры и немного жизненного опыта
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2Tag
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
 

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

Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
Alexander Kirillov
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
tabtabus
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
Ontico
 
Виктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчикаВиктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчика
Positive Hack Days
 

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

Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Денис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылуДенис Чистяков — JavaScript на фронте и в тылу
Денис Чистяков — JavaScript на фронте и в тылу
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
3D в браузере. Битва за реалистичность / Иван Дембицкий (Realaxy)
 
Виктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчикаВиктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчика
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации Тестирования
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
О разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop developmentО разработке десктопных приложений / About desktop development
О разработке десктопных приложений / About desktop development
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 

Más de TKConf

TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TKConf
 
Функциональное программирование в продуктовой разработке
Функциональное программирование в продуктовой разработкеФункциональное программирование в продуктовой разработке
Функциональное программирование в продуктовой разработке
TKConf
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтакте
TKConf
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-систем
TKConf
 

Más de TKConf (19)

TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.TК°Conf. Как мы делали ЖЖ. Егор Толстой.
TК°Conf. Как мы делали ЖЖ. Егор Толстой.
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.
 
TК°Conf. Stylelint — как и зачем линтить CSS. Андрей Ситник.
TК°Conf. Stylelint — как и зачем линтить CSS. Андрей Ситник.TК°Conf. Stylelint — как и зачем линтить CSS. Андрей Ситник.
TК°Conf. Stylelint — как и зачем линтить CSS. Андрей Ситник.
 
TК°Conf. Хайп против реальности: год жизни с изомофорным React-приложением. И...
TК°Conf. Хайп против реальности: год жизни с изомофорным React-приложением. И...TК°Conf. Хайп против реальности: год жизни с изомофорным React-приложением. И...
TК°Conf. Хайп против реальности: год жизни с изомофорным React-приложением. И...
 
TК°Conf. Как оформить права на программный продукт, чтобы его не угнали конку...
TК°Conf. Как оформить права на программный продукт, чтобы его не угнали конку...TК°Conf. Как оформить права на программный продукт, чтобы его не угнали конку...
TК°Conf. Как оформить права на программный продукт, чтобы его не угнали конку...
 
TК°Conf. Как проложить путь к успеху с помощью банковских карт. Александр Сычев.
TК°Conf. Как проложить путь к успеху с помощью банковских карт. Александр Сычев.TК°Conf. Как проложить путь к успеху с помощью банковских карт. Александр Сычев.
TК°Conf. Как проложить путь к успеху с помощью банковских карт. Александр Сычев.
 
TК°Conf. «Быстрокод» и что за это бывает. Артём Кулаков.
TК°Conf. «Быстрокод» и что за это бывает. Артём Кулаков.TК°Conf. «Быстрокод» и что за это бывает. Артём Кулаков.
TК°Conf. «Быстрокод» и что за это бывает. Артём Кулаков.
 
TК°Conf. Как отвечать за продакшн. Андрей Сумин.
TК°Conf. Как отвечать за продакшн. Андрей Сумин.TК°Conf. Как отвечать за продакшн. Андрей Сумин.
TК°Conf. Как отвечать за продакшн. Андрей Сумин.
 
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
 
TК°Conf. Обеспечение качества в продуктовых проектах. Наталья Руколь.
TК°Conf. Обеспечение качества в продуктовых проектах. Наталья Руколь.TК°Conf. Обеспечение качества в продуктовых проектах. Наталья Руколь.
TК°Conf. Обеспечение качества в продуктовых проектах. Наталья Руколь.
 
TК°Conf. Сетевые орг.структуры. Владимир Каленов.
TК°Conf. Сетевые орг.структуры. Владимир Каленов.TК°Conf. Сетевые орг.структуры. Владимир Каленов.
TК°Conf. Сетевые орг.структуры. Владимир Каленов.
 
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
TК°Conf. Красивый интерфейс — это лишь часть крутого UX. Никита Ефимов.
 
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
TК°Conf. Impact Mapping: планирование разработки продукта с учетом бизнес цел...
 
Функциональное программирование в продуктовой разработке
Функциональное программирование в продуктовой разработкеФункциональное программирование в продуктовой разработке
Функциональное программирование в продуктовой разработке
 
SQL vs NoSQL: 
проблема выбора
SQL vs NoSQL: 
проблема выбораSQL vs NoSQL: 
проблема выбора
SQL vs NoSQL: 
проблема выбора
 
Разработка через микросервисы
Разработка через микросервисыРазработка через микросервисы
Разработка через микросервисы
 
Архитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтактеАрхитектура растущего проекта, на примере ВКонтакте
Архитектура растущего проекта, на примере ВКонтакте
 
Проектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-системПроектирование архитектуры крупных веб-систем
Проектирование архитектуры крупных веб-систем
 

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