Отказоустойчивость 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 и частично решить проблему с актуальностью данных на слейвах.

Специализируемся на решении сложных и масштабных задач по обеспечению:

  • Отказоустойчивости
    Мы обеспечим нужное вам количество «nines» в availability и выведем на уровень отказоустойчивости:
    99.9% — недоступность сервера не более 5 минут в неделю
    99.99% — недоступность сервера не более 5 минут в месяц
    99.999% — недоступность сервера не более 5 минут в год
  • Производительности
    Если текущая производительность серверов не устраивает, если повышение мощностей слишком дорого, то мы проведём аудит существующей архитектуры, выявим бутылочные горлышки, построим план улучшений и реализуем проект под ключ. В результате мы сможем обеспечить до 30% роста производительности, оптимизируем мощности инфраструктуры
  • Повышение безопасности веб-серверов жизненно важно для защиты от хакеров и утечки данных
    Чтобы свести к минимуму риск потери данных вашего бизнеса в результате несанкционированного проникновения или взлома, крайне важно убедиться, что ваш веб-сервер настроен как можно более безопасно. Если безопасность вашего сервера будет скомпрометирована, это может привести к чему угодно, от внедрения спам-рекламы на веб-сайт компании до перехвата и кражи пользовательских данных при отправке форм.
    Об этом подробнее описано в статье
  • Масштабируемости
    Решаем основные задачи масштабирования — распределение вычислений и распределение данных. При необходимости разделим роли команды на frontend, backend, базу данных и хранилище файлов. В случае небольших объёмов данных и highload обеспечим зеркалирование базы данных — синхронную или асинхронную репликацию, а при больших объемах данных распределим базу данных, обеспечим хранение бинарных файлов в распределенных файловых системах, обеспечим равномерную балансировку запросов

Техподдержка СУБД 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
Стек технологий
Ansible • Terraform • MS Center • Puppet
Anycast • CDN • GeoIP • Multicast
postgers • MySQL • MSSQL • Redis • Mongo • Tarantool • ClickHouse
postgersql / pgbouncer / pgpool / patroni • Nginx • Rabbitmq • Redis / Sentinel • mysql / percona / maxscale / sqlproxy
Nginx • Apache • Openrestry • Traefik
Nginx • HAProxy • Traefik • Envoy
Frontend / Backend балансировка
Управление инфраструктурой
Кластеризация и отказоустойчивость
Ansible
Terraform
MS Center
Puppet
postgersql / pgbouncer / pgpool / patroni
nginx
rabbitmq
redis / sentinel
mysql / percona / maxscale / sqlproxy
postgres
mySQL
MSSQL
redis
mongo
tarantool
ClickHouse
anycast
CDN
geoIP
multicast
Nginx
openresty
Traefik
Apache
Nginx
HAProxy
Traefik
Envoy
СУБД
Сетевые технологии
Web серверы
Libvirt • VMware • KVM
LOM • BMC • ILo • IPvkm • Idrac
cPU • Mem • disk • net • HAProxy • Traefik • Load Balancing • Flamegraph
Prometheus • Zabbix • telegraf • Alertmanager • grafana • graphite
IpTables • UFW • WAF • Firewall • Pentests • Selinux • ACL / Exec Bits • Spam • Anti DDOS
Безопасность
Виртуализация
Мониторинг
libvirt
vMware
KVM
Prometheus
Zabbix
telegraf
Alertmanager
grafana
graphite
cPU
MEM
Disk
net
HAProxy
Traefik
Load Balancing
Flamegraph
LOM
BMC
ilo
ipvkm
idrac
iptables
UFW
WAF
firewall
pentests
selinux
ACL / exec bits
spam
Anti DDOS
Высокие нагрузки
Обслуживание датацентров
Наши клиенты
и реализованные проекты
Git in Sky реализовал 250+ проектов в разных отраслях. Основные группы наших клиентов и кейсы:
Давайте обсудим
ваш проект
Оставьте заявку — наш специалист свяжется с вами для детального обсуждения задачи
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных согласно политике конфиденциальности
Или написать напрямую
в телеграмм аккаунт менеджеру Роману Анисимову
Также можете позвонить по номеру
8 800 222 19 68