Rate this post

До 2012 года в компании 1С-Битрикс были два коробочных продукта: CMS «1С-Битрикс: Управление сайтом» и «Корпоративный портал» (коробочный вариант Битрикс24). В 2012 году в компании появился новый продукт – SaaS сервис Битрикс24, который требовал сложной сетевой инфраструктуры.nnБыли поставлены задачи, которые по большому счету друг другу противоречили. Первые испытания продукта проходили внутри компании 1С-Битрикс. Сотрудники воспринимали Битрикс24 негативно, так как нужно было осваивать сервис по указу руководства. Было понятно, что такой продукт будет сложно продвигать даже в лояльной компании. Появилась задача сделать продукт, который сам себя продает и внедряет. Первый тариф стал бесплатным, но достаточно функциональным. Он и сейчас поддерживает до 12ти человек. Это подразумевало, что клиентов будет много. От сервиса будет зависеть бизнес и прибыль клиентов, а значит всё, что только можно, должно быть зарезервировано. [3]n

Выбор хостинга

Выбор типа хостинга должен был удовлетворить следующие факторы:n

  • Глобальность – сервис доступен для всех стран мира.
  • Модернизация и сопровождение сервиса – речь идет о процессе разворачивания нового кода и исправлении рабочего.
  • Надежность и отказоустойчивость – это бизнес проект и от него будет зависеть прибыль клиентов.
  • Возможность быстрого горизонтального масштабирования по нагрузке – возможен как быстрый рост сервиса, так и колебания нагрузки в течение дней, недель, месяцев[2].
  • Расходы на эксплуатацию сервиса – тип хостинга влияет на архитектуру сервиса.
  • Финансовые риски – продукт новый, есть риски провала.

Минусы размещение на физическом сервере:

  • Высокая стоимость при запуске проекта.
  • Сложности с масштабированием.
  • Сложности с администрированием серверов в удаленных дата-центрах.
  • Отсутствие готовых сервисов.

Преимущества облачного сервиса Amazon Web Services:

  • Наличие опыта работы с Amazon – сайт 1С-Битрикс уже хостился в Amazon Web Services.
  • Дата-центры размещены в разных странах.
  • Наличие готовых сервисов – готовые сервисы у Amazon Web Services появляются постоянно, дают возможность быстро экспериментировать и запускать. При успешном использовании можно доработать сервис. Если у Amazon Web Services открыть список доступных сервисов, то можно собрать полную инфраструктуру без необходимости внедрять свои сервисы. [2]
  • Торговый знак Amazon – известен во всем мире, ему доверяют. На сегодняшний день это преимущество проверенно 1С-Битрикс.

Взвесив все факторы на старте проекта, компания для Битрикс24 выбрала облачный хостинг.n

Масштабирование в Amazon Web Services

Динамическое масштабирование сервиса экономит деньги. Для разных проектов есть свои варианты:n

  • Нагрузочное – связанное с ростом нагрузки при развитии проекта.
  • Сезонное – важно для сервисов испытывающих повышенные нагрузки в праздники, например, или в зимний период.
  • Недельное – в зависимости от дня недели, например будние и выходные дни.
  • Суточное – вариант, который используется для Битрикс24.
  • Комбинированное.

Масштабирование по данным сервера можно привязывать к разным метрикам. Можно использовать latency, но ее рост может быть вызван проблемами с кодом на back-end. И использование latency может привести к лишней трате денег на хостинг.nn1С-Битрикс использует load average. Простой вариант, когда количество машин зависит от нагрузки.n

Архитектура масштабирования

Для суточного масштабирования в начале проекта использовалась связка сервисов Elastic Load Balancing, CloudWatch и Auto Scaling.nnnnElastic Load Balancing – используется для балансировки нагрузки.nnCloudWatch – используется для мониторинга ресурсов (load average).nnAuto Scaling – используется для настройки количества серверов и поддержания стабильной прогнозируемой производительности [1].nnСервера разбиты на две группы: «spot» и «on demand«.nnSpot сервера аукционные, их стоимость может быть до 8-ми раз дешевле обычных. Но в случае, если ваша ставка перекуплена, вы потеряете сервер в течение нескольких минут.nnOn demand – группа сервером по обычной стоимости. Поддерживается на случай, когда большая часть серверов группы spot перекуплена.nnТакая архитектура Битрикс24 обеспечивает быстрое масштабирование в течение суток.nnГрафик масштабирования:nnПри этом использования spot серверов значительно, до 7 раз, уменьшает затраты на хостинг. А группа on demand страхует от недостатка ресурсов.n

Хранение и резервирование данных.

Для Битрикс24 используется база Percona XtraDB (MySQL). Реализован условный вариант master-master репликации – active-passive. При этом данные хранятся в двух дата-центрах, но рабочим для каждого пользователя является только один. Данные из активного дата-центра реплицируются в пассивный. В случае проблем или работ идет автоматическое переключение на другой дата-центр. Связанность между дата-центрами может прерываться на часы без последствий.nnАрхитектура:резервирование данных битриксn

Проблемы хранения данных и их и решения

При аварии одного или нескольких серверов они просто исключаются из балансировки. Auto Scaling восстанавливает ресурсы по конфигурации. Отказоустойчивость высокая.nnотказоустойчивость битриксПри авариях всего дата-центра или плановых работах с базой весь трафик переключается в один работающий дата-центр. CloudWatch определяет возросшую нагрузку на сервера, а AutoScaling добавляет их в соответствии с конфигурацией. Приостанавливается мастер-мастер репликация. Репликация возобновляется, когда дата-центр восстанавливает свою работу, трафик распределяется на оба дата-центра и Auto Scaling исключает лишние машины.nnn

Развитие Архитектуры

Вначале Битрикс24 хостился в двух дата-центрах, расположенных на территории США.хостинг БитриксnnОсобенности:n

  • В каждом дата-центре запущены 3-4 сущности mysql. Опытным путем выяснилось, что так mysql производительнее.
  • S3 – статик хранилище Amazon.

Но со временем требования клиентов выросли. Было выпущено мобильное приложения. Возросли требования к скорости работы, развивался сервис Битрикс24. Диск, начал работу real-time чат. Возникла необходимость хостинга в европейском дата-центре. Вся инфраструктура была продублирована в ирландский дата-центр. Клиенты, которые находились в Европе и ближе к Европе были смигрированы сюда. Архитектура позволила перенести клиентов без down time.nnссылки:1 https://aws.amazon.com/ru/autoscaling/nn2 http://json.tv/ict_video_watchnn3 https://blog.bitrix24.ru/iz-pervykh-ust-1sbitriks-na-puti-k-uspekhu-s-bitriks24/