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

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

Jan 07, 2017

Download

Education

SQALab
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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