SlideShare a Scribd company logo
Стабильны ли ваши приложения в
облаках?
© Artem Rozumenko
Что будем делать
1. Посмотрим на тенденции в облачных хостингах
2. Поупражняемся в дизайне отказоустойчивой системы на бумаге
3. Рассмотрим на варианты автоматизации проверок
отказоустойчивости
4. Обсудим увиденное
How it looks outsideIDG Enterprise Cloud Research Jul 2013
Q: Which of the following best describes your organization’s current stance of cloud deployments?
How it looks outsideIDG Enterprise Cloud Research Jul 2013
Q: Approximately how much will your organization invest in cloud-based services
computing in next 12 months?
И что же происходит в клауде?
35%
28%
10%
20%
7%
Q: Why the applications hosted in cloud fails?
Functional issies
Networking issues
Hardware failures
Virtual machines failures
Social engineering issues
А ваше приложение может?
1. Размещать каждый сервис на отдельном сервере?
2. Расширять только те сервисы, которые нужно?
3. Нотифицировать, если какой-то из сервисов
становится недоступным?
4. Восстанавливаться в случае поломки?
5. А сколько у вас single point of failure ?
История про Market Data application
Необходимо создать приложение для The Bank. Это должен быть небольшой
встраиваемый html гаджет, который размешен вне инфраструктуры банка. На Гаджете
должны отображаться биржевые графики для основных индексов и компаний
(Ожидаемая нагрузка ~1000 пользователей в час)
Сервер
кеширования
mySQL Update
service
Веб
Сервер
Решениевлоб Question Answer
Каждый сервис на отельном
сервере?
Нет
Есть ли механизм расширения? Нет
Механизм автоматической
нотификации?
Нет
Автоматическое
восстановление?
Нет
Количество single point of failure Все
Основная причина отказа:
Каждый компонент это single point of failure
Question Answer
Каждый сервис на отельном
сервере?
Да
Есть ли механизм расширения? Нет
Механизм автоматической
нотификации?
Да
Автоматическое восстановление? Нет
Количество single point of failure 2
+ Cloud Watch
Solution#2
История про Market Data application
Update Service +
Mongo Arbiter
Mongo master Mongo slave
Web Server Web Server
Main Fail Reason:
Система не может восстановиться после
любого, даже простейшего сбоя
Amazon Elastic
Load Balancer
Question Answer
Каждый сервис на отельном
сервере?
Да
Есть ли механизм расширения? Да
Механизм автоматической
нотификации?
Да
Автоматическое восстановление? Да
Количество single point of failure 1
Solution#3
История про Market Data application
Update Service +
Mongo Arbiter
DB master DB slave
Web Server Web Server
custom monitoring &
automatic recovery
Acceptable:
Автоматическое восстановление
инфраструктуры и компонентов
приложения
Elastic
Load Balancer
Auto-scaling
group
Auto-scaling
group
Auto-scaling
group
TheButcher – инструмент проверки
отказоустойчивости
TheButcher is
a robustness
testing toolkit
for distributed systems
Варианты автоматизации проверок. Отдельные
тесты
Update Service +
Mongo Slave
DB master DB slave
Web Server Web Server
custom monitoring &
automatic recovery
Load BalancerJenkins + bDriver + unittest
Архитектура взаимодействия в конфигурации
«Отдельные тесты»
Варианты автоматизации проверок.
Централизованная система
TheButcher
Web UI
Command Line
Interface
RESTful API
Update Service +
Mongo Slave
DB master DB slave
Web Server Web Server
custom monitoring &
automatic recovery
Load Balancer
Архитектура взаимодействия в конфигурации
«Централизованная система»
project
system profile
Infected
Infestor
Infestor
Infestor
Schedule
Select proper
infected and
infestor
Execute
actions on
selected
agents
Create
Reports
Доступные разрушители стабильности
blink networking
Поочередное включение и выключение заданного сетевого адаптера (или всех, если не указать ниодного) с
указанными промежутками времени
butcher-agent blink networking <enable_network_timeout> <disable_network_timeout> [--adapters=None] [--work_time=0]
block dnsname Перенаправление указанного DNS адреса на 127.0.0.1 на установленное время
butcher-agent block dnsname <dnsname> <timeout>
burn cpu Загрузка CPU почти на 100% на установленное время
butcher-agent burn cpu <timeout>
burn disk Многопоточная запись и чтение файлов с указанными параметрами
butcher-agent burn disk <timeout> [--file_size=1k] [--thread_limit=200]
burn ram Максимальное заполнение ОЗУ на установленное время
butcher-agent burn ram <timeout>
disable network adapters Отключение сетевого(ых) адаптера(ов) на установленное время
butcher-agent disable network adapters <adapters> [timeout=0]
enable network adapters
Включение сетевого(ых) адаптера(ов). Если не указать адаптер, произойдет включение всех физических
адаптеров
butcher-agent enable network adapters [adapters=None]
exec command
Выполнение заданной команды из командной строки ОС. Определение наличие заданного текста в ответе
выполненой команды
butcher-agent exec command <cmd> [--result_should_contain=None] [--result_should_not_contain=None]
get process Возвращение информации о локального(ых) процессе(ах) с заданными параметрами
butcher-agent get process [--pids=None] [--names=None]
kill process Завершение локального(ых) процесса(ов) по указанным параметрам
butcher-agent kill process [--pids=None] [--names=None]
list network adapters Возвращение списка сетевых адаптеров
butcher-agent list network adapters
list process Возвращение списка запущенных локальных процессов
butcher-agent list process
restart node Перезагрузка сервера
butcher-agent restart node
resume process Возобновление остановленного(ых) локального(ых) процесса(ов) по заданным параметрам
butcher-agent resume process [--pids=None] [--names=None]
shutdown node Выключение сервера
butcher-agent shutdown node
suspend process Остановка локального(ых) процесса(ов) по заданным параметрам
butcher-agent suspend process [--pids=None] [--names=None]
И что?
1. Системы должны быть
отказоустойчивыми ровно
насколько, насколько требуется;
2. Верификация отказоустойчивости -
это не очень тривиально, но все же
необходимо.
Вопросы?
Artem Rozumenko
E-mail: artem_rozumenko@epam.com
Skype: rozumenko_artyom

More Related Content

What's hot

Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаAleksandr Boichenko
 
Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantom
yaevents
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Alina Dolgikh
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
SQALab
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
SQALab
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Ontico
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системы
SQALab
 
Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"
Yandex
 
ZFConf 2010: Performance of Zend Framework Applications
ZFConf 2010: Performance of Zend Framework ApplicationsZFConf 2010: Performance of Zend Framework Applications
ZFConf 2010: Performance of Zend Framework ApplicationsZFConf Conference
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Ontico
 
Как легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеКак легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облаке
Tatiana Smetanina
 
Григорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияГригорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестирования
Yandex
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
SQALab
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Ontico
 
Автоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевиденияАвтоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевидения
SQALab
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
Ievgenii Katsan
 
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
Ontico
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Positive Hack Days
 
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
Mail.ru Group
 

What's hot (20)

Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Веб-сервер Phantom
Веб-сервер PhantomВеб-сервер Phantom
Веб-сервер Phantom
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
 
Один за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системыОдин за всех, или как помочь тестированию многих компонентов одной системы
Один за всех, или как помочь тестированию многих компонентов одной системы
 
Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"Олесь Писаренко "Открываем Яндекс.Танк"
Олесь Писаренко "Открываем Яндекс.Танк"
 
ZFConf 2010: Performance of Zend Framework Applications
ZFConf 2010: Performance of Zend Framework ApplicationsZFConf 2010: Performance of Zend Framework Applications
ZFConf 2010: Performance of Zend Framework Applications
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
 
Как легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеКак легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облаке
 
Григорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестированияГригорий Липин: Автоматизация нагрузочного тестирования
Григорий Липин: Автоматизация нагрузочного тестирования
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
 
Fiddler
FiddlerFiddler
Fiddler
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Автоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевиденияАвтоматизация тестирования приёмников цифрового телевидения
Автоматизация тестирования приёмников цифрового телевидения
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
 
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
Переосмысливая подход к инфраструктурному коду / Евгений Пивень (IPONWEB)
 
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
 
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
Droidcon Moscow 2015. К релизу Android Marshmallow - готов! Денис Неклюдов - ...
 

Viewers also liked

An Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack PlatformAn Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack Platform
Yandex
 
грачева армарчук безопасность в интернете для школьников
грачева армарчук   безопасность в интернете для школьниковграчева армарчук   безопасность в интернете для школьников
грачева армарчук безопасность в интернете для школьниковYandex
 
Собираем из кубиков OpenStack нормальный IaaS
Собираем из кубиков OpenStack нормальный IaaSСобираем из кубиков OpenStack нормальный IaaS
Собираем из кубиков OpenStack нормальный IaaS
Yandex
 
Яндекс.Диск: взгляд изнутри — Ксения Аникеева
Яндекс.Диск: взгляд изнутри — Ксения АникееваЯндекс.Диск: взгляд изнутри — Ксения Аникеева
Яндекс.Диск: взгляд изнутри — Ксения Аникеева
Yandex
 
20131217крайнов
20131217крайнов20131217крайнов
20131217крайнов
Yandex
 
Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013
Yandex
 
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
Yandex
 
Theo de Raadt: The bane of backwards compatibility
Theo de Raadt: The bane of backwards compatibilityTheo de Raadt: The bane of backwards compatibility
Theo de Raadt: The bane of backwards compatibility
Yandex
 

Viewers also liked (8)

An Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack PlatformAn Introduction to Red Hat Enterprise Linux OpenStack Platform
An Introduction to Red Hat Enterprise Linux OpenStack Platform
 
грачева армарчук безопасность в интернете для школьников
грачева армарчук   безопасность в интернете для школьниковграчева армарчук   безопасность в интернете для школьников
грачева армарчук безопасность в интернете для школьников
 
Собираем из кубиков OpenStack нормальный IaaS
Собираем из кубиков OpenStack нормальный IaaSСобираем из кубиков OpenStack нормальный IaaS
Собираем из кубиков OpenStack нормальный IaaS
 
Яндекс.Диск: взгляд изнутри — Ксения Аникеева
Яндекс.Диск: взгляд изнутри — Ксения АникееваЯндекс.Диск: взгляд изнутри — Ксения Аникеева
Яндекс.Диск: взгляд изнутри — Ксения Аникеева
 
20131217крайнов
20131217крайнов20131217крайнов
20131217крайнов
 
Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013Komarov borba za-miesto-urfu_2013
Komarov borba za-miesto-urfu_2013
 
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
Булат Каримов - Как создать остров для интернет-магазина и успешно пройти мод...
 
Theo de Raadt: The bane of backwards compatibility
Theo de Raadt: The bane of backwards compatibilityTheo de Raadt: The bane of backwards compatibility
Theo de Raadt: The bane of backwards compatibility
 

Similar to Стабильны ли ваши приложения в облаках?

Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
Microsoft
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
Алексей Стягайло
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Ontico
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
 
Разработка средств управления и мониторинга распределенной мультиагентной сис...
Разработка средств управления и мониторинга распределенной мультиагентной сис...Разработка средств управления и мониторинга распределенной мультиагентной сис...
Разработка средств управления и мониторинга распределенной мультиагентной сис...Valentin Bazarevsky
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
Elena Ometova
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
Alex Chistyakov
 
Tools to ensure quality of information system
Tools to ensure quality of information system Tools to ensure quality of information system
Tools to ensure quality of information system
soft-point
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
SQALab
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Alexey Bokov
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Ontico
 
СУП
СУПСУП
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
Экосистемные Проекты Фрии
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Uptime Community
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
Alexander Demidov
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
LEDC 2016
 
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Ontico
 
Дефекты при тестировании ПО
Дефекты при тестировании ПОДефекты при тестировании ПО
Дефекты при тестировании ПО
Sergey Chuburov
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
Levon Avakyan
 

Similar to Стабильны ли ваши приложения в облаках? (20)

Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Разработка средств управления и мониторинга распределенной мультиагентной сис...
Разработка средств управления и мониторинга распределенной мультиагентной сис...Разработка средств управления и мониторинга распределенной мультиагентной сис...
Разработка средств управления и мониторинга распределенной мультиагентной сис...
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
Tools to ensure quality of information system
Tools to ensure quality of information system Tools to ensure quality of information system
Tools to ensure quality of information system
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
СУП
СУПСУП
СУП
 
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
Разработка портируемой инфраструктуры New Relic — контейнеры, CoreOS и прочие...
 
Дефекты при тестировании ПО
Дефекты при тестировании ПОДефекты при тестировании ПО
Дефекты при тестировании ПО
 
Надежность World of Tanks Server
Надежность World of Tanks ServerНадежность World of Tanks Server
Надежность World of Tanks Server
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
Yandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Стабильны ли ваши приложения в облаках?

  • 1. Стабильны ли ваши приложения в облаках? © Artem Rozumenko
  • 2. Что будем делать 1. Посмотрим на тенденции в облачных хостингах 2. Поупражняемся в дизайне отказоустойчивой системы на бумаге 3. Рассмотрим на варианты автоматизации проверок отказоустойчивости 4. Обсудим увиденное
  • 3. How it looks outsideIDG Enterprise Cloud Research Jul 2013 Q: Which of the following best describes your organization’s current stance of cloud deployments?
  • 4. How it looks outsideIDG Enterprise Cloud Research Jul 2013 Q: Approximately how much will your organization invest in cloud-based services computing in next 12 months?
  • 5. И что же происходит в клауде? 35% 28% 10% 20% 7% Q: Why the applications hosted in cloud fails? Functional issies Networking issues Hardware failures Virtual machines failures Social engineering issues
  • 6. А ваше приложение может? 1. Размещать каждый сервис на отдельном сервере? 2. Расширять только те сервисы, которые нужно? 3. Нотифицировать, если какой-то из сервисов становится недоступным? 4. Восстанавливаться в случае поломки? 5. А сколько у вас single point of failure ?
  • 7. История про Market Data application Необходимо создать приложение для The Bank. Это должен быть небольшой встраиваемый html гаджет, который размешен вне инфраструктуры банка. На Гаджете должны отображаться биржевые графики для основных индексов и компаний (Ожидаемая нагрузка ~1000 пользователей в час) Сервер кеширования mySQL Update service Веб Сервер Решениевлоб Question Answer Каждый сервис на отельном сервере? Нет Есть ли механизм расширения? Нет Механизм автоматической нотификации? Нет Автоматическое восстановление? Нет Количество single point of failure Все Основная причина отказа: Каждый компонент это single point of failure
  • 8. Question Answer Каждый сервис на отельном сервере? Да Есть ли механизм расширения? Нет Механизм автоматической нотификации? Да Автоматическое восстановление? Нет Количество single point of failure 2 + Cloud Watch Solution#2 История про Market Data application Update Service + Mongo Arbiter Mongo master Mongo slave Web Server Web Server Main Fail Reason: Система не может восстановиться после любого, даже простейшего сбоя Amazon Elastic Load Balancer
  • 9. Question Answer Каждый сервис на отельном сервере? Да Есть ли механизм расширения? Да Механизм автоматической нотификации? Да Автоматическое восстановление? Да Количество single point of failure 1 Solution#3 История про Market Data application Update Service + Mongo Arbiter DB master DB slave Web Server Web Server custom monitoring & automatic recovery Acceptable: Автоматическое восстановление инфраструктуры и компонентов приложения Elastic Load Balancer Auto-scaling group Auto-scaling group Auto-scaling group
  • 10. TheButcher – инструмент проверки отказоустойчивости TheButcher is a robustness testing toolkit for distributed systems
  • 11. Варианты автоматизации проверок. Отдельные тесты Update Service + Mongo Slave DB master DB slave Web Server Web Server custom monitoring & automatic recovery Load BalancerJenkins + bDriver + unittest
  • 12. Архитектура взаимодействия в конфигурации «Отдельные тесты»
  • 13. Варианты автоматизации проверок. Централизованная система TheButcher Web UI Command Line Interface RESTful API Update Service + Mongo Slave DB master DB slave Web Server Web Server custom monitoring & automatic recovery Load Balancer
  • 14. Архитектура взаимодействия в конфигурации «Централизованная система» project system profile Infected Infestor Infestor Infestor Schedule Select proper infected and infestor Execute actions on selected agents Create Reports
  • 15. Доступные разрушители стабильности blink networking Поочередное включение и выключение заданного сетевого адаптера (или всех, если не указать ниодного) с указанными промежутками времени butcher-agent blink networking <enable_network_timeout> <disable_network_timeout> [--adapters=None] [--work_time=0] block dnsname Перенаправление указанного DNS адреса на 127.0.0.1 на установленное время butcher-agent block dnsname <dnsname> <timeout> burn cpu Загрузка CPU почти на 100% на установленное время butcher-agent burn cpu <timeout> burn disk Многопоточная запись и чтение файлов с указанными параметрами butcher-agent burn disk <timeout> [--file_size=1k] [--thread_limit=200] burn ram Максимальное заполнение ОЗУ на установленное время butcher-agent burn ram <timeout> disable network adapters Отключение сетевого(ых) адаптера(ов) на установленное время butcher-agent disable network adapters <adapters> [timeout=0] enable network adapters Включение сетевого(ых) адаптера(ов). Если не указать адаптер, произойдет включение всех физических адаптеров butcher-agent enable network adapters [adapters=None] exec command Выполнение заданной команды из командной строки ОС. Определение наличие заданного текста в ответе выполненой команды butcher-agent exec command <cmd> [--result_should_contain=None] [--result_should_not_contain=None] get process Возвращение информации о локального(ых) процессе(ах) с заданными параметрами butcher-agent get process [--pids=None] [--names=None] kill process Завершение локального(ых) процесса(ов) по указанным параметрам butcher-agent kill process [--pids=None] [--names=None] list network adapters Возвращение списка сетевых адаптеров butcher-agent list network adapters list process Возвращение списка запущенных локальных процессов butcher-agent list process restart node Перезагрузка сервера butcher-agent restart node resume process Возобновление остановленного(ых) локального(ых) процесса(ов) по заданным параметрам butcher-agent resume process [--pids=None] [--names=None] shutdown node Выключение сервера butcher-agent shutdown node suspend process Остановка локального(ых) процесса(ов) по заданным параметрам butcher-agent suspend process [--pids=None] [--names=None]
  • 16. И что? 1. Системы должны быть отказоустойчивыми ровно насколько, насколько требуется; 2. Верификация отказоустойчивости - это не очень тривиально, но все же необходимо. Вопросы? Artem Rozumenko E-mail: artem_rozumenko@epam.com Skype: rozumenko_artyom