26
Как Cluster Membership Software может помочь QA? Алексей Алексеев Luxoft

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

  • Upload
    sqalab

  • View
    9.678

  • Download
    1

Embed Size (px)

Citation preview

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

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

Алексей АлексеевLuxoft

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

Немножко про DevOps

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

Немножко про Service Discovery

● В понимании DevOps это общий инфраструктурный паттерн

● Направлен на обеспечении целостности связей между приложениями и сервисами

● Создает единую точку доступа к сервисам

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

Что такое кластер и зачем он нам нужен?Кластер — группа компьютеров, объединённых высокоскоростными каналами связи, представляющая с точки зрения пользователя единый аппаратный ресурс.

Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой.

Page 5: Как Cluster Membership Software может помочь QA
Page 6: Как Cluster Membership Software может помочь QA

Строительные материалы кластера● Хосты (машины, ноды, боксы)● Сеть● Специализированное ПО● Скрипты

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

Программная часть● Обеспечивает связь всех узлов в кластере● Отслеживает состояние узла● Нотифицирует о проблемах с узлом● Используется как сервис для управления кластером и узлами

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

Yandex Cocaine, OpenStack, Apache CloudStack● PaaS, IaaS, SaaS ... ● Требует изменения существующей инфраструктуры● Иногда требует серьезной доработки ● Может отсутствовать hosted-решение как класс● OpenSource(не все)

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

Corosync● Фреймворк для построения кластера● Предоставляет C API● Сложен в имплементации● Сложен в настройке● Недостаточно документирован● OpenSource

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

Pacemaker● Готовое решение● Хорошо документирован● Использует Сorosync в качестве основы● OpenSource● Сложен в настройке

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

Hashicorp Serf● Готовое решение● Прост в настройке● Хорошо документирован● Поддерживает множество языков● OpenSource

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

Архитектура

Serf daemon

Serf daemon

Serf daemon

Serf protocol(gossip)

handlers handlers

handlers

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

Архитектура● Handler - скрипт который обслуживает определенные события или

запросы к кластеру● Event - событие внутри кластера, не возвращает никакого ответа (fire and

forget)● Query - запрос у кластеру, требующий ответа, имеет ограничение на

размер и время● Все handler-ы написаны на bash

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

Архитектура

Serf daemonEvent / query Call handlerBasic handler

query handler

event handler

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

Пример обработки event

Serf daemonSelf-update event Call handlerBasic handler

Self-update event handler

Github handler repo

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

Как все это поможет QA?● Единая сущность для доступа ко всем ресурсам● Единая точка доступа к управлению приложениями● Единая точка доступа по мониторингу окружения● Единая точка доступа ко всему

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

Пример:

Это Петя, он QA и у него есть огромное интеграционное тестовое окружение.Пете пишут что сейчав в окружении пойдут очень важные и сложные тесты перед релизом.И где-то в окружении есть приложение которое - хорошо бы обновить.Где оно? На какой машине? Как обновить?

Но Петя умный, у него есть serf!

serf query where <appname>serf event update <appname>@<host>serf query status <appname>@<host>

Page 18: Как Cluster Membership Software может помочь QA
Page 19: Как Cluster Membership Software может помочь QA

Это только начало!● Управление деплоем приложений из любого места кластера● Старт/стоп приложений на любой машине с любой машины● Мониторинг ресурсов кластера● Любой действие в кластере для которого вы напишите

handler/event/query

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

Удаленная отладка скриптов

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

Удаленная отладка скриптов запущенных из скриптов

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

Тотальная трассировка всех скриптов:

Тотальное логгирование:

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

А как сделать так чтоб все демоны на всех машинах были одной версии?

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

Host2 Host3

Host1

handlers

NFS

Serf daemon

Page 25: Как Cluster Membership Software может помочь QA
Page 26: Как Cluster Membership Software может помочь QA

Контакты

http://linkedin.com/in/alexeyalexeev

voodoo1441

https://google.com/+АлексейАлексеев144