SlideShare a Scribd company logo
1 of 24
Download to read offline
МАРТ 29, 2018
Используем контейнеры,
или Не дай заказчику
повалить продакшн
ШИНКЕВИЧ АЛЕКСАНДР СТАСЬКО АЛЕКСАНДР
2
Коротко о процессах доставки продукта
3
CI – continuous integration
Code repository
Build
Unit
Test
Integ
Test
Notification
Status
COMMITS CHANGES
4
CD – continuous delivery/continuous
deployment
Build
Unit
Test
Integ
Test
Notification
DEV QA
STAGEPROD
ASSEMBLE DEPLOY
Release notes
5
НАША ИСТОРИЯ
6
Наша структура
ELASTIC
SEARCH
PostgreSQL
(Amazon RDS)
LOCAL DEV
UI
FACADE
(GATEWAY)
CORE
FILE
SYSTEM
REST REST
CONFIG
DEV, PROD,
QA, STAGE
7
DEV окружение
ELASTIC
SEARCH
PostgreSQL
UI
FACADE
(GATEWAY)
COREREST REST
CONFIG
(CentOS)
8
Nightly deployment
Code repository
ASSEMBLE
Build
Unit
Test
Integ
Test
Notification
COMMITS CHANGES
DEV
DEPLOY
9
Production
ELASTIC
SEARCH
UI FACADE
(GATEWAY)
CORE
FILE
SYSTEM
REST REST
CONFIG
AMAZON
RDS
10
Какие вылезли проблемы
Затрата времени на выяснение причин
нерабочего приложения
4
Установка продукта вручную1
Появляются расхождения в конфигурациях2
Использование другой ОС3
11
ДОКЕР ВХОДИТ В
ИГРУ
12
• Единое окружение на любом сервере
• Автоматическое развертывание
• Изолирование сервисов друг от друга
• Отказоустойчивость
• Масштабируемость
Требования
13
• Image(Образ)
• Container(Контейнер)
• Dockerfile
Основные понятия
14
Концепция контейнеров
Container
App
Bins/Libs
VM
App
Bins/Libs
Guest OS
Docker
Host OS
Infrastructure
Host OS
Infrastructure
Hypervisor
15
Docker входит в игру
16
Docker входит в игру
docker build -t app:1.0.0 /path/to/dockerfile
docker push app:1.0.0
docker run –d app:1.0.0
17
Основные понятия
• Kubernetes master
• Kubernetes slave
• Namespace
• Pod
18
Передаем управление Kubernetes
19
Передаем управление Kubernetes
Build
Unit
Test
Integ
Test
Notification
DEVQA STAGEPROD
ASSEMBLE
DEPLOY
Release notes
PUSH
DOCKER
REGISTRY
20
• Нанять DevOps специалиста и все переделать!!! :-)
Планы на будущее
21
• Упростить процесс развертывания кластера
• Использовать контейниризацию для всех
используемых инструментов
Планы на будущее
22
Вывод
Процесс доставки продукта и его развертывания
полностью автоматизирован
1
Полная независимость от окружения2
Имеем отказоустойчивый, масштабируемый
кластер запуска приложений
3
23
ВОПРОСЫ
24
СПАСИБО ЗА ВНИМАНИЕ

More Related Content

What's hot

СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
Mirantis IT Russia
 

What's hot (20)

It meetup cd
It meetup cdIt meetup cd
It meetup cd
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
 
Servionica: опыт публичного облака на базе OpenStack
Servionica: опыт публичного облака на базе OpenStackServionica: опыт публичного облака на базе OpenStack
Servionica: опыт публичного облака на базе OpenStack
 
Четырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKeyЧетырехлетие OpenStack - Опыт ITKey
Четырехлетие OpenStack - Опыт ITKey
 
AT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной средеAT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной среде
 
Решение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackРешение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStack
 
ITkey: примеры использования OpenStack
 ITkey: примеры использования OpenStack ITkey: примеры использования OpenStack
ITkey: примеры использования OpenStack
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
Программируемость ACI. Примеры применения.
Программируемость ACI. Примеры применения.Программируемость ACI. Примеры применения.
Программируемость ACI. Примеры применения.
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Deep FitNesse
Deep FitNesseDeep FitNesse
Deep FitNesse
 
Продакшен-кластер для Docker одним кликом
Продакшен-кластер для Docker одним кликомПродакшен-кластер для Docker одним кликом
Продакшен-кластер для Docker одним кликом
 
Curse of spring boot test [VRN]
Curse of spring boot test [VRN]Curse of spring boot test [VRN]
Curse of spring boot test [VRN]
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1с
 
Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»Илья Ефимов «IoC/DI на примере Autofac»
Илья Ефимов «IoC/DI на примере Autofac»
 
Spring Boot Test horror
Spring Boot Test horrorSpring Boot Test horror
Spring Boot Test horror
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИС
 
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
Сетевой инженер 2.0. Что нужно знать о программируемости в корпоративной сети?
 

Similar to Используем контейнеры, или Не дай заказчику повалить продакшн

Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
LiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
LiloSEA
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
Mobile Developer Day
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
Mobile Developer Day
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QAFest
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Ontico
 

Similar to Используем контейнеры, или Не дай заказчику повалить продакшн (20)

Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Инфраструктура в Java-проекте
Инфраструктура в Java-проектеИнфраструктура в Java-проекте
Инфраструктура в Java-проекте
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLine
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализСценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализ
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
Как легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеКак легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облаке
 

More from Vitebsk Miniq

The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software Estimates
Vitebsk Miniq
 

More from Vitebsk Miniq (20)

Runtime compilation and code execution in groovy
Runtime compilation and code execution in groovyRuntime compilation and code execution in groovy
Runtime compilation and code execution in groovy
 
The 5 Laws of Software Estimates
The 5 Laws of Software EstimatesThe 5 Laws of Software Estimates
The 5 Laws of Software Estimates
 
Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9Latest & Greatest Observability Release 7.9
Latest & Greatest Observability Release 7.9
 
Тестирование Spring-based приложений
Тестирование Spring-based приложенийТестирование Spring-based приложений
Тестирование Spring-based приложений
 
Семантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поискаСемантический поиск - что это, как работает и чем отличается от просто поиска
Семантический поиск - что это, как работает и чем отличается от просто поиска
 
Локализационное тестирование - это не только перевод
Локализационное тестирование - это не только переводЛокализационное тестирование - это не только перевод
Локализационное тестирование - это не только перевод
 
ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?ISTQB Сертификация тестировщиков: быть или не быть?
ISTQB Сертификация тестировщиков: быть или не быть?
 
Apollo GraphQL Federation
Apollo GraphQL FederationApollo GraphQL Federation
Apollo GraphQL Federation
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Crawling healthy
Crawling healthyCrawling healthy
Crawling healthy
 
Вперед в прошлое
Вперед в прошлоеВперед в прошлое
Вперед в прошлое
 
CloudFormation experience
CloudFormation experienceCloudFormation experience
CloudFormation experience
 
Learning Intelligence: the story of mine
Learning Intelligence: the story of mineLearning Intelligence: the story of mine
Learning Intelligence: the story of mine
 
Как программисты могут спасти мир
Как программисты могут спасти мирКак программисты могут спасти мир
Как программисты могут спасти мир
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.Distributed tracing system in action. Instana Tracing.
Distributed tracing system in action. Instana Tracing.
 
Насорил - убери!
Насорил - убери!Насорил - убери!
Насорил - убери!
 
Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?Styled-components. Что? Когда? И зачем?
Styled-components. Что? Когда? И зачем?
 
Красные флаги и розовые очки
Красные флаги и розовые очкиКрасные флаги и розовые очки
Красные флаги и розовые очки
 
CSS. Практика
CSS. ПрактикаCSS. Практика
CSS. Практика
 

Используем контейнеры, или Не дай заказчику повалить продакшн