Свой чат для команды на сервере: что учесть до переезда

Рабочая переписка - это архив решений, договорённостей и доступов, который накапливается годами и живёт у стороннего сервиса. Пока всё работает, вопросов нет. Они появляются, когда сервис меняет тарифы, ограничивает историю сообщений или становится недоступен по причинам, на которые вы не влияете.

Разберём, что даёт свой чат-сервер, сколько ресурсов он требует при разном размере команды, что обязательно настроить и почему самая сложная часть переезда не техническая.

Что решает свой сервер

История не обрезается. Бесплатные тарифы часто ограничивают глубину поиска по сообщениям, а именно старая переписка обычно и нужна, когда вспоминаешь, почему когда-то так решили.

Цена не зависит от числа людей. Сервер стоит одинаково для команды из десяти и из ста человек, а подписка считается по каждому.

Данные в вашем контуре. Для части компаний это требование, а не пожелание, особенно когда в переписке обсуждаются клиенты и доступы.

Интеграции без лимитов. Уведомления из систем мониторинга, задач и сборок не упираются в ограничения тарифа, см. мониторинг VPS.

Обратная сторона: доступность чата становится вашей зоной ответственности. Когда команда общается только в нём, падение сервера останавливает работу целиком.

Сколько ресурсов нужно

что именно нагружает чат-сервер и как это растёт с размером команды.
что именно нагружает чат-сервер и как это растёт с размером команды.

Чат нагружает сервер иначе, чем сайт: соединения держатся постоянно, а не открываются на секунду.

Размер командыПамятьКомментарий
До 20 человек2 ГБХватает с запасом
До 100 человек4 ГБПлюс место под файлы
Больше 1008 ГБ и вышеБаза и вложения растут заметно

Три вещи определяют нагрузку сильнее числа сотрудников.

Постоянные соединения. Каждый открытый клиент держит соединение с сервером. Это дёшево по процессору, но требует памяти и упирается в системные лимиты, а не в мощность.

Вложения. Файлы, скриншоты и записи встреч занимают несопоставимо больше, чем текст сообщений. Основной рост диска идёт именно отсюда, и планировать объём надо по ним, см. NVMe, SSD или HDD.

Поиск по истории. Чем больше архив, тем тяжелее поиск. На больших объёмах это отдельная нагрузка на базу, см. база данных на своём сервере.

Что настроить обязательно

HTTPS. Через чат идёт рабочая переписка, и незашифрованное соединение здесь недопустимо. К тому же мобильные клиенты обычно отказываются работать без него, см. SSL-сертификат на VPS.

Закрытая регистрация. Учётные записи заводит администратор либо пускают по приглашению и только с корпоративной почты. Открытая регистрация на публичном адресе означает посторонних в рабочих каналах.

Бэкап базы и вложений вместе. Это две разные вещи: сообщения в базе, файлы в каталоге. Копия только базы восстановит переписку без единого вложения, см. резервное копирование VPS.

Мониторинг с оповещением. Если чат лёг, узнать об этом надо не от сотрудников. И канал оповещения должен быть внешним: уведомление о падении чата, отправленное в тот же чат, бесполезно.

Обновления. Приложение, доступное из интернета и хранящее всю переписку, обновляют регулярно, см. обновление сервера.

Самая сложная часть - не техническая

Поднять сервер несложно. Сложно перевести на него людей.

История не переезжает целиком. Инструменты переноса существуют, но переносят не всё и не всегда аккуратно: форматирование, треды, реакции, вложения. Практичный путь - перенести то, что переносится, а старый сервис оставить в режиме чтения на несколько месяцев.

Часть людей останется в старом. Особенно внешние подрядчики и клиенты, которых вы не переведёте. Заранее решите, где общаетесь с ними, иначе получите два чата вместо одного.

Привычки сильнее удобства. Если новый чат хоть немного менее удобен, команда будет возвращаться в старый. Переезд работает только тогда, когда старый сервис в какой-то момент закрывают.

Мобильные клиенты обязательны. Если на телефоне работает плохо, переезд не состоится независимо от того, насколько хорош сервер.

Практический порядок: сначала перевести внутренние технические каналы, где люди терпеливее, затем остальные, и только потом закрывать старый сервис.

Когда проще остаться на готовом

  • Команда маленькая, и бесплатного тарифа хватает.
  • Нет требований к хранению данных внутри контура.
  • Некому отвечать за доступность. Чат - это то, чем пользуются каждый день, и его простой заметят все сразу.
  • Много внешних участников. Подрядчики и клиенты не пойдут в ваш сервер ради одного проекта.

Свой сервер оправдан, когда команда выросла, подписка стала заметной статьёй расходов или есть требования к размещению переписки.

Частые ошибки

Считают только сообщения. Основной объём дают вложения, и диск планируют по ним.

Бэкапят базу без файлов. Переписка восстановится, вложения пропадут.

Оповещение о падении шлют в свой же чат. Узнать о проблеме не получится.

Оставляют открытую регистрацию. Посторонние в рабочих каналах.

Переводят всех разом без подготовки. Команда расползается по двум чатам и возвращается в старый.

Не проверяют мобильные клиенты до переезда. Половина команды читает рабочие чаты с телефона.

Частые вопросы

Сколько ресурсов нужно под корпоративный чат? Команде до двадцати человек хватает 2 ГБ памяти, до ста - 4 ГБ. Диск планируют по объёму вложений, а не по числу сообщений.

Чем чат нагружает сервер? Постоянными соединениями клиентов, которые требуют памяти, хранением вложений и поиском по истории, который тяжелеет с ростом архива.

Переедет ли переписка из старого сервиса? Частично. Инструменты переноса есть, но треды, реакции и вложения переносятся не всегда полностью. Старый сервис обычно оставляют в режиме чтения.

Что важно забэкапить? Базу с сообщениями и каталог вложений вместе. По отдельности они бесполезны.

Можно ли обойтись без HTTPS? Нет. Мобильные клиенты обычно откажутся подключаться, а рабочая переписка пойдёт по сети открытым текстом.

Как быть с внешними подрядчиками? Решить заранее: либо заводить им гостевые учётные записи, либо оставить для них отдельный канал общения. Иначе появится второй чат.

Что самое сложное в переходе? Не техника, а люди. Переезд удаётся, когда старый сервис в какой-то момент закрывают, иначе команда возвращается в него по привычке.


Нужен сервер под командный чат? VPS на NVMe от 459 руб в месяц - ресурсы и диск наращиваются за минуты по мере роста команды, полный root-доступ. Площадки в Москве, Казани и Амстердаме, активация за 3 минуты.