Как cluster membership software может помочь qa
TRANSCRIPT
![Page 1: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/1.jpg)
Как Cluster Membership Software может помочь QA?
Алексей АлексеевLuxoft
![Page 2: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/2.jpg)
Немножко про DevOps
![Page 3: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/3.jpg)
Немножко про Service Discovery
● В понимании DevOps это общий инфраструктурный паттерн
● Направлен на обеспечении целостности связей между приложениями и сервисами
● Создает единую точку доступа к сервисам
![Page 4: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/4.jpg)
Что такое кластер и зачем он нам нужен?Кластер — группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единый аппаратный ресурс.
Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой.
![Page 5: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/5.jpg)
![Page 6: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/6.jpg)
Строительные материалы кластера● Хосты (машины, ноды, боксы)● Сеть● Специализированное ПО● Скрипты
![Page 7: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/7.jpg)
Программная часть● Обеспечивает связь всех узлов в кластере● Отслеживает состояние узла● Нотифицирует о проблемах с узлом● Используется как сервис для управления кластером и узлами
![Page 8: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/8.jpg)
Yandex Cocaine, OpenStack, Apache CloudStack● PaaS, IaaS, SaaS ... ● Требует изменения существующей инфраструктуры● Иногда требует серьезной доработки ● Может отсутствовать hosted-решение как класс● OpenSource(не все)
![Page 9: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/9.jpg)
Corosync● Фреймворк для построения кластера● Предоставляет C API● Сложен в имплементации● Сложен в настройке● Недостаточно документирован● OpenSource
![Page 10: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/10.jpg)
Pacemaker● Готовое решение● Хорошо документирован● Использует Сorosync в качестве основы● OpenSource● Сложен в настройке
![Page 11: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/11.jpg)
Hashicorp Serf● Готовое решение● Прост в настройке● Хорошо документирован● Поддерживает множество языков● OpenSource
![Page 12: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/12.jpg)
Архитектура
Serf daemon
Serf daemon
Serf daemon
Serf protocol(gossip)
handlers handlers
handlers
![Page 13: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/13.jpg)
Архитектура● Handler - скрипт который обслуживает определенные события или
запросы к кластеру● Event - событие внутри кластера, не возвращает никакого ответа (fire and
forget)● Query - запрос у кластеру, требующий ответа, имеет ограничение на
размер и время● Все handler-ы написаны на bash
![Page 14: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/14.jpg)
Архитектура
Serf daemonEvent / query Call handlerBasic handler
query handler
event handler
![Page 15: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/15.jpg)
Пример обработки event
Serf daemonSelf-update event Call handlerBasic handler
Self-update event handler
Github handler repo
![Page 16: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/16.jpg)
Как все это поможет QA?● Единая сущность для доступа ко всем ресурсам● Единая точка доступа к управлению приложениями● Единая точка доступа по мониторингу окружения● Единая точка доступа ко всему
![Page 17: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/17.jpg)
Пример:
Это Петя, он QA и у него есть огромное интеграционное тестовое окружение.Пете пишут что сейчав в окружении пойдут очень важные и сложные тесты перед релизом.И где-то в окружении есть приложение которое - хорошо бы обновить.Где оно? На какой машине? Как обновить?
Но Петя умный, у него есть serf!
serf query where <appname>serf event update <appname>@<host>serf query status <appname>@<host>
![Page 18: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/18.jpg)
![Page 19: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/19.jpg)
Это только начало!● Управление деплоем приложений из любого места кластера● Старт/стоп приложений на любой машине с любой машины● Мониторинг ресурсов кластера● Любой действие в кластере для которого вы напишите
handler/event/query
![Page 20: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/20.jpg)
Удаленная отладка скриптов
![Page 21: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/21.jpg)
Удаленная отладка скриптов запущенных из скриптов
![Page 22: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/22.jpg)
Тотальная трассировка всех скриптов:
Тотальное логгирование:
![Page 23: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/23.jpg)
А как сделать так чтоб все демоны на всех машинах были одной версии?
![Page 24: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/24.jpg)
Host2 Host3
Host1
handlers
NFS
Serf daemon
![Page 25: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/25.jpg)
![Page 26: Как Cluster Membership Software может помочь QA](https://reader034.vdocuments.site/reader034/viewer/2022052705/586fdc341a28ab18428b63cf/html5/thumbnails/26.jpg)
Контакты
http://linkedin.com/in/alexeyalexeev
voodoo1441
https://google.com/+АлексейАлексеев144