Отказоустойчивость IT-инфраструктуры
Обеспечиваем отказоустойчивость серверной IT-инфраструктуры. Специализируемся на СУБД серверах: PostgreSQL, MySQL и in-memory базы данных Tarantool (mail.ru), а также Aerospike/Cassandra
Обеспечиваем отказоустойчивость популярных СУБД серверов и in-memory баз данных за счёт кластеризации
Осуществим кластеризацию PostgreSQL с помощью Patroni, обеспечим переход со standalone MySQL на более производительную Percona XtraDB Cluster (PXC) для MySQL. Обеспечим отказоустойчивость Tarantool – СУБД разработки mail.ru, а также Aerospike/Cassandra
Попутно обеспечим отказоустойчивость
Контроллеров домена
Файловых серверов
Почты и сервера документооборота
Web-сервисов
Корпоративного портала
Интернет каналов
Шлюзов интернет и удаленного доступа
Прокси-серверов
Системы хранения данных
Аппаратных носителей
Терминальных серверов
Переход c Redis на PostgreSQL/Patroni
Высоконагруженный сервис: 2+ млн пользователей, 50К+ активных пользователей каждый день. Сервера находятся в Public Cloud (AWS, Mail.ru Cloud, etc): в работе постоянно 100+ различных серверов, из них больше половины — с базами данных

Backend — большое монолитное stateful-приложение на Java, которое держит постоянное websocket соединение с клиентом. Одновременная нагрузка - 10К запросов в секунду к базам. В данный момент используется Redis, где в пиковой нагрузке пишется по 80-100К запросов в секунду

Допустим вы решили переехать с Redis на PostgresQL, где есть транзакции и нет такой зависимости от параметра latency и нужно обеспечить соответствующую отказоустойчивость

Мы поможем:
– быстро и безопасно осуществить саму миграцию текущая СУБД -> PostgreSQL
– обеспечить нужный уровень отказоустойчивости

Как мы делаем последнее?
Мы используем Patroni - шаблон на Python для управления PostgreSQL c исходным кодом на GitHub

Почему Patroni?
– Описан каждый параметр конфигурации в документации
– Автоматический failover из коробки
– Полностью управляет PostgreSQL, позволяет менять конфигурацию сразу на всех нодах кластера, а если для применения новой конфигурации требуется перезапуск кластера, то это можно сделать опять же с помощью Patroni
Кейс перехода с MySQL на Percona Cluster
Кластеризация сервера большого web-приложения на СУБД Percona MySQL 5.

Проблема:
  • MySQL репликация- асинхронная, слейвы могли отставать на неопределенное время.
  • Сложность разработки приложения
  • Ручное переключение в случае аварии

Задача: обеспечить приемлемую отказоустойчивость для СУБД

Стек технологий: Percona MySQL 5.7, кэширование в Redis и Memcached

Решение: MySQL Galera cluster

Почему Galera кластер?
Замена всей СУБД было бы сложным решением, т.к. приложение большое, во многих местах завязано на функционал или синтаксис mysql и миграция, например, на PostgreSQL займет кучу времени и ресурсов.

MySQL Group Replication не подойдёт, т.к. накладывает больше ограничений на приложение и схему БД, а значит произвести миграцию будет сложнее. Во-вторых Group Replication решает проблему отказоустойчивости и split brain, но репликация в кластере по-прежнему асинхронная. Galera позволяет полностью решить проблему с отказоустойчивостью MySQL и частично решить проблему с актуальностью данных на слейвах.
Техподдержка СУБД Tarantool
Мы одни из немногих, кто специализируется на дистанционной поддержке СУБД Tarantool (Mail.ru), и умеем обеспечивать отказоустойчивость, безопасность и производительность этой СУБД в облаке.

Если для вас жизненно важно не допустить отказов нагруженных серверов, то направление наших действий таково:
Профессиональная оценка рисков и снижение вероятности их возникновения
Разработка мероприятий по предотвращению или смягчению рисков
Построение модели угроз
Внедрение мероприятий
«под ключ»
Мы обеспечим нужное Вам количество «nines» в availability и выведем на уровень отказоустойчивости:
99.9% — недоступность сервера не более 5 минут в неделю
99.99% — недоступность сервера не более 5 минут в месяц
99.999% — недоступность сервера не более 5 минут в год
Используемые программные продукты
Patroni
Шаблон для построения отказоустойчивых кластеров на базе PostgreSQL. Обеспечивает автоматическое переключение на резервный сервер при сбое ведущего сервера. Patroni управляет экземпляром базы данных PostgreSQL и использует внешние системы (ZooKeeper, etcd, Consul или Kubernetes) для хранения общей для всех узлов кластера информации, такой как список узлов кластера и положение ведущего сервера
etcd
Согласованное распределенное хранилище пар ключ-значение, обеспечивающее надежный способ хранения данных, к которым могут обращаться распределенная система или кластер машин
HAProxy
Прокси сервер TCP и HTTP трафика. Позволяет создать единую точку подключения к PostgreSQL, не зависящую от распределения ролей в кластерах PostgreSQL
Технологический стек
Frontend/backend балансировка и переключение инстансов
– nginx
– haproxy
Автоматизация процессов
– backup
– switchover
– health-check
Высокие нагрузки
– cpu/mem/disk/net отказы
– профилирование нагрузки flamegraph
– профилирование БД и запросов в БД
– приоритезация процессов и трафика
Виртуализация
– libvirt/kvm
– vmware
– smartos
Ручное и автоматизированное тестирование приложений и сервисов
– ibm x-system
– hp
– supermicro
– oracle/sun
– cisco
– dell
– asus
Сетевая инфраструктура
– cisco
– juniper
– extreme
– hp
– huawei
– mikrotik
– d-link
– ubiquiti
– eltex
Серверная инфраструктура и работа с hardware
– ibm x-system
– hp
– supermicro
– oracle/sun
– cisco
– dell
– asus
Системы мониторинга и слежения за событиями сети
– prometheus
– alertmanager
– grafana
– zabbix
– graphite
– telegraf
– node-exporter
Безопасность
– iptables/ufw/firewalld
– selinux
– pentests
– whitebox/graybox/blackbox
– acl/exec bits
– waf/spam
– ddos атаки
Базы данных
– postgres (dba)
– mysql (dba)
– mssql
– oracle
– redis
– mongo
– aerospike
– cassandra
– tarantool
Scm и автоматизированное управление инфраструктурой
– ansible (>5 лет)
– puppet
– terraform
– Microsoft system center
Системы индексации
– elastic
– solr
– sphinx
– MS Sql
Web серверы
– nginx
– openresty
– apache2
– tomcat
– IIS
Кластеризация и отказоустойчивость
– postgersql/pgbouncer/pgpool/patroni
– mysql/percona/maxscale/sqlproxy
– redis/sentinel
– rabbitmq cluster
– nginx
Голосовые технологии
– asterisk
– cisco call manager
– huawei/avaya
Сетевые технологии
– cdn/geoip
– anycast/multicast
Рутинное обслуживание дата-центров и аппаратной части
– ipvkm/ilo/idrac/lom/smb
– мониторинг температуры, систем охлаждения и параметров питания
– диагностика потерь пакетов и линков
Кейсы
Оставить заявку на услугу повышения отказоустойчивости IT-инфраструктуры
Наш специалист свяжется с вами для детального обсуждения задачи

Не пропустите последние новости. Подписывайтесь!
Made on
Tilda