В марте 2024-го рынок встряхнула новость от Microsoft о грядущем отключении доступа к облачным сервисам компании для корпоративных клиентов из России. Оперативно делая бэкапы, одни побежали искать «обходные пути», вторые — подбирать альтернативы продуктам Microsoft. А я решил обратиться к своему опыту работы с отечественными решениями для унифицированных коммуникаций (UC), чтобы снова поделиться им на Хабре :) 

В прошлом году я рассматривал мессенджер eXpress как альтернативу Zoom. Объектом для изучения в сегодняшней статье я выбрал Squadus вендора «МойОфис». Этот мессенджер уже довольно давно позиционируется в рынке как почти полноценная замена MS Teams. Кроме того, у нас в К2Тех был опыт миграции в Squadus из Teams. 

О том, что такое Squadus и как мы на него переезжали, я и расскажу под катом!

Решения для корпоративных коммуникаций в России: все лучше, чем кажется?

До недавнего времени многие компании планировали до последнего сидеть на продуктах Microsoft или Google, потому что не видели альтернативы. А между тем, в сегменте унифицированных коммуникаций мы наблюдаем настоящий бум. Раньше все чуть ли не молились на Microsoft Teams, но еще в 2022-м возникла явная потребность в миграции и с тех пор начали активно развиваться аналоги. 

Нужно понимать, что Microsoft не случайно практически монополизировал рынок. MS Teams — очень удачное решение и идеальной замены нет ни в России, ни в мире. Вместо этого существуют десятки различных решений разной степени проработанности — почтовые системы, мессенджеры, платформы для видео- и аудиоконференцсвязи, совместной работы с документами, назначения задач, планирования рабочего дня. Без наличия экспертизы во всех них выбрать очень сложно. 

Команда практики инфраструктурных решений К2Тех уже порядка 17 лет внедряет различные решения для корпоративных коммуникаций и совместной работы. Мессенджер eXpress, который я рассматривал на Хабре как альтернативу Zoom с возможностью развертывания on-premise, — лишь одно из множества решений, с которыми мы работаем. Кроме него, можно выделить:

  1. Решения от VK Tech — VK WorkMail, VK Teams, VK Workdisk.

  2. Communigate PRO — монолит, включающий в себя почту, календари, мессенджер и возможность осуществления звонков. 

  3. RuPost — почтовую систему от группы компаний Astra

  4. И экосистему «МойОфис» — Почта, Squadus, Мой Офис Частное облако, Редакторы документов.

Итак, продолжим серию обзоров на решения для UC и остановимся на последнем подробнее, а именно на Squadus.

Что такое Squadus

Окно чата, каким его видит пользователь

Squadus — довольно комплексный софт для коммуникаций внутри компании. Он позволяет общаться (текстовые сообщения, звонки, видеоконференции), совместно работать над документами, за счет интеграции с корпоративным каталогом находить сотрудников организации и создавать рабочие группы. Также здесь реализована функциональность федераций — специальный режим работы, который позволяет объединять команды из разных организаций и налаживать коммуникацию между ними. 

Тем не менее, многие из этих возможностей есть и у других отечественных решений. Сильные стороны Squadus, которые позволяют нам рекомендовать его клиентам для целей импортозамещения:

  • Чат-боты, способные автоматизировать различные рутинные действия.

  • Возможность осуществлять видео-, аудио- и конференц-связь с одновременной записью и сохранением чата.

  • Возможность подключать к системе гостей — с доступом к конкретному чату или проекту.

  • Совместное редактирование документов. Эту востребованную у заказчиков функцию внедрили недавно.

«МойОфис» действительно стремится создать экосистему как у Microsoft, и Squadus, позиционируется как один из важных ее компонентов. Продукт выпущен на рынок в апреле 2023-го, а уже в ноябре того же года CNews назвал его лучшим цифровым рабочим пространством года. В общем, на первый взгляд все выглядит хорошо, но как на практике?

Установка Squadus и миграция с MS Teams: чего ожидать?

Squadus доступен на всех платформах (веб, десктоп, мобильные) и поддерживает ОС «Альт», Astra Linux, «Ред ОС», а также общение на macOS, Windows, iOS и Android. Архитектура: объектное хранилище MinIO, БД MongoDB, видеосвязь — Jitsi.

Информационная панель администратора Squadus

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

Мы столкнулись с проблемами с установкой Squadus на Astra Linux, докер-контейнерами, на версиях 1.7.4 и 1.7.5. Инсталляция не хотела заканчиваться, прерываясь досрочно. На других ОС («Альт», РЕД ОС, другие версии Astra) таких проблем не обнаружено. В итоге мы разворачивали эту систему на Astra Linux SE 1.7.3. 

Важно тщательно отнестись к подготовке конфигурационных файлов инсталляции, чтобы все прошло гладко, а также:

  1. Перед установкой на Astra Linux нужно проверить /etc/hosts на предмет отсутствия записи: 127.0.0.1 FQDN. Если hostname совпадает с FQDN, то в /etc/hosts присутствует запись, которая приводит к попытке обращения к MongoDB по 127.0.0.1:27017, в результате получается ошибка: connection refused.

  2. При установке Python и модулей следует внимательно подойти к версионности пакетов. Неправильный выбор также может вызывать сбои.

Панель мониторинга развернутой в Docker системы

Обычно если компания работала в MS Teams в течение нескольких лет, там накапливается большой объем исторических данных: переписки, календарные события, файлы, которыми обменивались сотрудники. И все эти данные необходимо перенести при миграции на новое решение.

Мы переезжали со сравнительно небольшим багажом — перевели на Squadus часть своей команды и работали с ним некоторое время. Мы проверяли удобство использования и выявляли возможные баги — словом, оценивали, стоит ли рекомендовать этот софт клиентам. 

Процесс миграции состоит из трех стандартных этапов:

1. Выгрузка всех данных из MS Teams.

2. Приведение их к нужному формату.

3. Импорт данных в Squadus.

Приведение к нужному формату при миграции не слишком сложное — достаточно составить табличные файлы заданного формата. Немного более заковыристая задача — организация итогового архива, который должен быть подготовлен для загрузки данных.

Для этого мы написали небольшой скрипт. 

Файл main.ру:

import csv
import json
import re

with open('chatmembers.json', 'r', encoding='utf-8-sig') as fin:
    member_data = json.load(fin)

with open('chat.json', 'r', encoding='utf-8-sig') as fin:
    chat_data = json.load(fin)

users = {}

with open('users.csv', 'w') as fout:
    writer = csv.writer(fout, quotechar='"')

    for member in member_data:
        user_id = member['userId']
        email = member['email']
        name = member['displayName']
        login = email.split('@')[0]

        row = [login, email, name]
        writer.writerow(row)

        users[user_id] = login


with open(f'messages1.csv', 'w') as fout:
    writer = csv.writer(fout, quotechar='"')

    chat_data = [i for i in chat_data if i['body']['content'] != '<systemEventMessage/>']

    sender_ids = set([i['from']['user']['id'] for i in chat_data])
    senders = [users[i] for i in sender_ids]

    for item in chat_data:
        sender_id = item['from']['user']['id']
        sender_login = users[sender_id]
        receiver_login = senders[0] if sender_login == senders[1] else senders[1]
        timestamp = item['id']
       
        body = item['body']['content']
        body = re.sub('<[^<]+?>', '', body)

        row = [sender_login, receiver_login, timestamp, body]
        writer.writerow(row)

  1. Экспорт данных мы проводили с помощью модуля PowerShell Microsoft.Graph.Users и утилиты командной строки cli-microsoft365.

  2. Из MS Teams получили данные в формате JSON, но для импорта в Squadus требуется CSV. Поэтому парсим данные с помощью питона и составляем CSV-файлы нужного вида. 

  3. Скриптом main.ру создаются файлы с пользователями и сообщениями из одного личного чата. Далее собираем ZIP-архив, файлы в котором должны находиться строго в той же структуре, что описана в разделе 4.4.3.1 руководства администратора.

  1. В интерфейсе администратора переходим в раздел «Импортировать» → «Импортировать файл», выбираем тип импорта «CSV» и прикрепляем архив → «Импортировать».

Меню импорта данных

Мы написали скрипт только для одного из этапов, но при необходимости можно автоматизировать весь процесс от получения данных до формирования ZIP-файла с корректной структурой.

В целом миграция проходит неспешно, с небольшим лагом. При десятках пользователей данные «доезжают» за несколько минут, при сотнях пользователей с большими массивами информации процесс может занять около часа. При этом некоторые пользователи вместе с сообщениями импортируются быстрее, а другим приходится ждать дольше.

Среди замеченных при миграции недостатков — невозможность импортировать вложения. Эта опция, кажется, доступна при миграции со Slack, но не из MS Teams. Также нельзя импортировать метаданные о сообщениях — кто какую реакцию ставил, какое сообщение на что было ответом. А это иногда бывает важно, поскольку часто сообщение в отрыве от контекста может быть уже не очень понятно при повторном прочтении.

Оба вида импорта (вложения и метаданные), видимо, возможны при использовании встроенных команд API, но для работы с ним потребуется писать собственную утилиту. Далеко не каждый админ станет заниматься этим при переезде. 

Squadus на практике: преимущества и недостатки

Несмотря на некоторые сложности при переезде, спустя несколько недель использования мы в целом довольны возможностями Squadus. Прежде всего, хочется отметить такие преимущества, как: 

  • качество мессенджера и инструментов видеосвязи не уступает MS Teams и другим аналогам; 

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

Панель создания конференции

Интерфейс Squadus простой и понятный благодаря сходству с MS Teams. При этом можно настраивать папки чатов, ботов, команд и каналов под свои задачи. Многим участникам испытаний понравилась возможность онлайн-редактирования документов прямо из чата, ею удобно пользоваться. Наконец, Squadus имеет продуманные интеграции с внешними системами, такими как Jira, что расширяет возможности использования.

Разумеется, есть и недостатки. Не хватает подробной документации: описания API, примеров создания ботов и т. п. В документации вендора вкратце описана базовая функциональность, остальное нужно тестировать методом проб и ошибок. Нет функции удаленного доступа к рабочим столам, как у Help desk, когда во время созвона можно передать управление собеседнику. Вендор говорит, что это в планах, но пока без конкретики.

Мы столкнулись с отдельными багами. Один из них — проблема с механизмом синхронизации системных ролей. Squadus позволяет создавать пользовательские роли, наделять их определенными правами и синхронизировать по протоколу LDAP с группами в службе каталогов. Мы хотели создать роль «Администраторы Squadus» и назначить ее импортированным из Teams администраторам. Но при импорте все пользователи из группы каталога получили права администратора, независимо от исходных ролей. Мы сообщили о проблеме, и к моменту публикации статьи ее уже исправили. Так что вы с этим уже не столкнетесь :)

Панель управления правами доступа

Команда активно дорабатывает продукт: меньше чем за год для него вышло четыре релиза, а баг-репорты обрабатываются буквально в следующем апдейте. Если у заказчиков появляется какая-нибудь новая боль, и они ее озвучивают — можно быть уверенными, что «МойОфис» постарается ее закрыть. Такой короткий цикл обратной связи — наверное, одна из лучших особенностей нашего вынужденного импортозамещения.

Итого:

Источник: it-news.online

Squadus хорошо подходит для любых распределенных команд, в качестве замены Zoom и Skype, особенно если нужно on-premise решение. Однако он будет наиболее востребован в тех компаниях, которым нужна максимально близкая замена для Microsoft Teams и наличие инфраструктуры: облака, текстового редактора, почтового клиента. Продукт развивается, ему есть куда расти и, кажется, его ждет большое будущее.

Если вам интересно почитать еще о российских решениях для унифицированных коммуникаций, оставляйте комментарии! Возможно, получится целый цикл статей про отечественное UC :)  

Больше статей про отечественное ПО:

Практика замены MS Office: 4 ситуации, когда это невозможно…но вполне получается

Без 5% VMware? Обзор свежего релиза платформы виртуализации zVirt 4.1

Первый взгляд на Termit 2.0 — российскую систему терминального доступа

Обзор РЕД АДМ и Атом.Домен: новые альтернативы службе каталогов MS Active Directory