Рубим гордиев узел деловых коммуникаций
Итак, разобравшись со структурой клиент-сервера CommuniGate Pro, обратим чуть больше внимания на то, как все это работает.
По нашему мнению, CommuniGate Pro является лучшим масштабируемым решением для объединенных коммуникаций, доступным на сегодняшний день на рынке. Есть очень небольшое количество решений, которые помимо обмена данных в реальном времени с другими серверами по протоколам SIP и XMPP предоставляют возможности взаимодействия с клиентами посредством XIMSS, ParlayX и скриптов CG/PL.
Наш медиа-сервер использует для обмена данными прокол RTP и позволяет связывать более двух собеседников в аудиоконференциях с применением различных аудиокодеков, а встроенный модуль STUN и поддержка ICE, вкупе с интегрированным медиа прокси-сервером, позволяют решать проблемы, характерные для VoIP-клиентов за NAT-файрволлами.
Динамический же кластер реализует архитектуру, в которой все его узлы «активны». По нашему опыту, другие продукты довольствуются схемами восстановления после падения или горячей замены, но только не наше решение. В динамическом кластере все системы работают в виде одной логической сущности, соответственно все узлы берут на себя долю нагрузки. В то же время, каждый узел можно извлечь в любом момент или, аналогично, можно добавить новый. Таким образом, мы позволяем проводить обслуживание любого члена динамического кластера и увеличивать, или уменьшать, задействованные мощности прямо во время работы без прерывов в предоставлении сервиса пользователям.
Каковы ключевые преимущества динамического кластера? Рассмотрим их чуть детальнее:
Техническое обслуживание узлов без остановки сервиса
Как правило обновления програмного и/или аппаратного обеспечения могут привести к ухудшению времени доступности системы. В мире корпоративных технологий и решений подобные события часто называют «запланированные отключения» или «техническое обслуживание». Однако, в мире SaaS-решений операторского уровня такие отключения являются недопустимыми — это все-равно что ваш телефон бы отключался по выходным на «тех. обслуживание».
Для того чтобы избавиться от столь неприятной вещи, в динамическом кластере нами был реализован механизм поочередных обновлений — он позволяет администратору кластера деактивировать узел, распределяя открытые соединения на другие члены кластера до тех пор, пока узел не уйдет в оффлайн полностью и станет доступен для обслуживания. После того как дело сделано, узел просто возвращается в кластер.
Единая система
Динамический кластер CommuniGate Pro позволяет оператору рассматривать всю систему как единую сущность, даже если она состоит из более чем 40 серверов. Таким образом, управление масштабной инфраструктурой на порядки проще, чем в случае с системами корпоративного уровня.
SaaS-провайдерам, предоставляющим услуги для малого бизнеса и индивидуальных предпринимателей, нужна легко масштабируемая система. И динамический кластер обычно представляется в виде облаков, обслуживающие более 20 000 небольших (5–30 конечных пользователей) компаний.
В то же время, в случае с IP АТС и почтовыми решениями, которые не разрабатывались с прицелом на использование как SaaS платформы, управление резко усложняется с ростом пользовательской базы из-за того, что количество отдельный частей увеличивается — прокси сервера, базы данных, LDAP сервера, медиа шлюзы и т.д.
Динамический кластер — элегантное и эффективное решение, без лишних затрат растущее вместе с пользовательской базой.
Эффективность
Платформа эффективно осваивает имеющиеся аппаратные ресурсы. Как следствие, провайдер может достигнуть гораздо большей плотности пользователей на каждом сервере по сравнению с корпоративными решениями. Плотность пользователей критична в дата-центрах, так как позволяет сильно снизить расходы на администрирование, электричество, охлаждение — общую стоимость владения.
На большинстве 64-битных систем операторского класса (Solaris, Linux, BSD) CommuniGate Pro может достичь 90 000 сессий на одну систему. Также существуют проверенные на практике работающие конфигурации для более чем 450 000 конечных пользователей на одной системе.
Предсказуемая масштабируемость
Динамический кластер — система с минимальными накладными расходами на масштабирование. Для увеличения емкости системы достаточно простых дешевых серверов форм-фактора 1U или блейд-серверов.
В отличие от других архитектур с высокими требованиями на вычислительные мощности, для нашей платформы не рекомендовано использование слишком мощных серверов (таких как 8-way). Например, динамический кластер 4×4 с 2-ух процессорными серверами лучше, чем 2×2 с 4-ех процессорными серверами, так как в первом случае удельная нагрузка на один сервер гораздо ниже.
Так как исходный код платформы хорошо распараллелен, вычислительные ресурсы и память используются максимально эффективно, а прогнозирование объема необходимых ресурсов при увеличении пользовательской базы прозрачно и близко к линейной зависимости. Все узлы кластера CommuniGate Pro используют один и тот же исполняемый файл, и поэтому отсутствуют различия в производительности узлов, характерные для неоднородных архитектур.
Структура динамического кластера позволяет провайдерам анализировать и прогнозировать свои затраты с высокой точностью, будь то сервера или хранилища данных.
Высокая доступность
Одним из основных свойств и целей разработки динамического кластера является сведение к нулю времени отсутствия сервиса. Все ноды кластера активные, и при падении одной из них другие члены кластера берут на себя пользовательскую нагрузку.