SlideShare a Scribd company logo
1 of 26
Download to read offline
Как Cluster Membership Software может
помочь QA?
Алексей Алексеев
Luxoft
Немножко про DevOps
Немножко про Service Discovery
● В понимании DevOps это общий инфраструктурный
паттерн
● Направлен на обеспечении целостности связей
между приложениями и сервисами
● Создает единую точку доступа к сервисам
Что такое кластер и зачем он нам нужен?
Кластер — группа компьютеров, объединённых высокоскоростными
каналами связи, представляющая с точки зрения пользователя единый
аппаратный ресурс.
Кластер - слабо связанная совокупность нескольких вычислительных
систем, работающих совместно для выполнения общих приложений, и
представляющихся пользователю единой системой.
Строительные материалы кластера
● Хосты (машины, ноды, боксы)
● Сеть
● Специализированное ПО
● Скрипты
Программная часть
● Обеспечивает связь всех узлов в кластере
● Отслеживает состояние узла
● Нотифицирует о проблемах с узлом
● Используется как сервис для управления кластером и узлами
Yandex Cocaine, OpenStack, Apache CloudStack
● PaaS, IaaS, SaaS ...
● Требует изменения существующей инфраструктуры
● Иногда требует серьезной доработки
● Может отсутствовать hosted-решение как класс
● OpenSource(не все)
Corosync
● Фреймворк для построения кластера
● Предоставляет C API
● Сложен в имплементации
● Сложен в настройке
● Недостаточно документирован
● OpenSource
Pacemaker
● Готовое решение
● Хорошо документирован
● Использует Сorosync в качестве основы
● OpenSource
● Сложен в настройке
Hashicorp Serf
● Готовое решение
● Прост в настройке
● Хорошо документирован
● Поддерживает множество языков
● OpenSource
Архитектура
Serf
daemon
Serf
daemon
Serf
daemon
Serf protocol(gossip)
handlers handlers
handlers
Архитектура
● Handler - скрипт который обслуживает определенные события или
запросы к кластеру
● Event - событие внутри кластера, не возвращает никакого ответа (fire and
forget)
● Query - запрос у кластеру, требующий ответа, имеет ограничение на
размер и время
● Все handler-ы написаны на bash
Архитектура
Serf daemonEvent / query Call handler
Basic
handler
query
handler
event
handler
Пример обработки event
Serf daemonSelf-update event Call handler
Basic
handler
Self-update
event
handler
Github
handler repo
Как все это поможет QA?
● Единая сущность для доступа ко всем ресурсам
● Единая точка доступа к управлению приложениями
● Единая точка доступа по мониторингу окружения
● Единая точка доступа ко всему
Пример:
Это Петя, он QA и у него есть огромное интеграционное
тестовое окружение.
Пете пишут что сейчав в окружении пойдут очень важные и
сложные тесты перед релизом.
И где-то в окружении есть приложение которое - хорошо бы
обновить.
Где оно? На какой машине? Как обновить?
Но Петя умный, у него есть serf!
serf query where <appname>
serf event update <appname>@<host>
serf query status <appname>@<host>
Это только начало!
● Управление деплоем приложений из любого места кластера
● Старт/стоп приложений на любой машине с любой машины
● Мониторинг ресурсов кластера
● Любой действие в кластере для которого вы напишите
handler/event/query
Удаленная отладка скриптов
Удаленная отладка скриптов запущенных из
скриптов
Тотальная трассировка всех скриптов:
Тотальное логгирование:
А как сделать так чтоб все демоны на всех
машинах были одной версии?
Host2 Host3
Host1
handlers
NFS
Serf
daemon
Контакты
http://linkedin.com/in/alexeyalexeev
voodoo1441
https://google.com/+АлексейАлексеев144

More Related Content

What's hot

Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
CEE-SEC(R)
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 

What's hot (20)

Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
 
Badger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовBadger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктов
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестами
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 

Viewers also liked

Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
CEE-SEC(R)
 

Viewers also liked (20)

Нагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOpsНагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOps
 
Можно ли прикрутить нечеткий логический вывод к тестированию
Можно ли прикрутить нечеткий логический вывод к тестированиюМожно ли прикрутить нечеткий логический вывод к тестированию
Можно ли прикрутить нечеткий логический вывод к тестированию
 
QA как драйвер трансформации
QA как драйвер трансформацииQA как драйвер трансформации
QA как драйвер трансформации
 
Управление качеством проекта
Управление качеством проектаУправление качеством проекта
Управление качеством проекта
 
The Challenge of Accepting Software
The Challenge of Accepting SoftwareThe Challenge of Accepting Software
The Challenge of Accepting Software
 
Развитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три годаРазвитие процессов тестирования в Badoo за три года
Развитие процессов тестирования в Badoo за три года
 
Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you? Are you in control of Testing, or does Testing control you?
Are you in control of Testing, or does Testing control you?
 
Building a testing team
Building a testing teamBuilding a testing team
Building a testing team
 
Тестируем развитие тестировщика
Тестируем развитие тестировщикаТестируем развитие тестировщика
Тестируем развитие тестировщика
 
Улучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные моделиУлучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные модели
 
Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?
 
Пополняем арсенал тестировщика. Учимся применять новые техники
Пополняем арсенал тестировщика. Учимся применять новые техникиПополняем арсенал тестировщика. Учимся применять новые техники
Пополняем арсенал тестировщика. Учимся применять новые техники
 
14 lessons for successful testing outsourcing
14 lessons for successful testing outsourcing14 lessons for successful testing outsourcing
14 lessons for successful testing outsourcing
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложности
 
JDI: Автоматизировать проще, чем кажется
JDI: Автоматизировать проще, чем кажетсяJDI: Автоматизировать проще, чем кажется
JDI: Автоматизировать проще, чем кажется
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
 
Тестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какТестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и как
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Тестирование в условиях Lean: как приручить MVP?
Тестирование в условиях Lean: как приручить MVP?Тестирование в условиях Lean: как приручить MVP?
Тестирование в условиях Lean: как приручить MVP?
 
Как тестировщику выжить в стартапе
Как тестировщику выжить в стартапе Как тестировщику выжить в стартапе
Как тестировщику выжить в стартапе
 

Similar to Как Cluster Membership Software может помочь QA

Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
Alexander Kirillov
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
Computer Science Club
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
DevDay
 

Similar to Как Cluster Membership Software может помочь QA (20)

Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Sivko
SivkoSivko
Sivko
 
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
 
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментов
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 

More from SQALab

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Как Cluster Membership Software может помочь QA

  • 1. Как Cluster Membership Software может помочь QA? Алексей Алексеев Luxoft
  • 3. Немножко про Service Discovery ● В понимании DevOps это общий инфраструктурный паттерн ● Направлен на обеспечении целостности связей между приложениями и сервисами ● Создает единую точку доступа к сервисам
  • 4. Что такое кластер и зачем он нам нужен? Кластер — группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единый аппаратный ресурс. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой.
  • 5.
  • 6. Строительные материалы кластера ● Хосты (машины, ноды, боксы) ● Сеть ● Специализированное ПО ● Скрипты
  • 7. Программная часть ● Обеспечивает связь всех узлов в кластере ● Отслеживает состояние узла ● Нотифицирует о проблемах с узлом ● Используется как сервис для управления кластером и узлами
  • 8. Yandex Cocaine, OpenStack, Apache CloudStack ● PaaS, IaaS, SaaS ... ● Требует изменения существующей инфраструктуры ● Иногда требует серьезной доработки ● Может отсутствовать hosted-решение как класс ● OpenSource(не все)
  • 9. Corosync ● Фреймворк для построения кластера ● Предоставляет C API ● Сложен в имплементации ● Сложен в настройке ● Недостаточно документирован ● OpenSource
  • 10. Pacemaker ● Готовое решение ● Хорошо документирован ● Использует Сorosync в качестве основы ● OpenSource ● Сложен в настройке
  • 11. Hashicorp Serf ● Готовое решение ● Прост в настройке ● Хорошо документирован ● Поддерживает множество языков ● OpenSource
  • 13. Архитектура ● Handler - скрипт который обслуживает определенные события или запросы к кластеру ● Event - событие внутри кластера, не возвращает никакого ответа (fire and forget) ● Query - запрос у кластеру, требующий ответа, имеет ограничение на размер и время ● Все handler-ы написаны на bash
  • 14. Архитектура Serf daemonEvent / query Call handler Basic handler query handler event handler
  • 15. Пример обработки event Serf daemonSelf-update event Call handler Basic handler Self-update event handler Github handler repo
  • 16. Как все это поможет QA? ● Единая сущность для доступа ко всем ресурсам ● Единая точка доступа к управлению приложениями ● Единая точка доступа по мониторингу окружения ● Единая точка доступа ко всему
  • 17. Пример: Это Петя, он QA и у него есть огромное интеграционное тестовое окружение. Пете пишут что сейчав в окружении пойдут очень важные и сложные тесты перед релизом. И где-то в окружении есть приложение которое - хорошо бы обновить. Где оно? На какой машине? Как обновить? Но Петя умный, у него есть serf! serf query where <appname> serf event update <appname>@<host> serf query status <appname>@<host>
  • 18.
  • 19. Это только начало! ● Управление деплоем приложений из любого места кластера ● Старт/стоп приложений на любой машине с любой машины ● Мониторинг ресурсов кластера ● Любой действие в кластере для которого вы напишите handler/event/query
  • 21. Удаленная отладка скриптов запущенных из скриптов
  • 22. Тотальная трассировка всех скриптов: Тотальное логгирование:
  • 23. А как сделать так чтоб все демоны на всех машинах были одной версии?
  • 25.