Есть ли жизнь после Exchange?
Привет, меня зовут Яков, я инженер-проектировщик в компании Т1 Интеграция. Мы с командой интегрируем у заказчиков новые почтовые системы — CommuniGate Pro, RuPost, VK WorkMail — и помогаем с миграцией данных (преимущественно из Exchange).
В наше время мессенджеров и мгновенных сообщений электронная почта по-прежнему остаётся незаменимым сервисом, сбой которого может остановить работу всей компании. Согласование важных вопросов, назначение встреч, ведение календарей, адресная книга — все эти функции обеспечиваются почтовыми серверами. И исторически сложилось так, что много лет стандартом в этой области был Microsoft Exchange, в том числе и в российских компаниях. Но мир стремительно меняется, и Microsoft уже приостановила работу многих своих сервисов на территории нашей страны.
Так есть ли жизнь после Exchange? Есть! И довольно счастливая. Мы выяснили это на своём опыте: протестировали несметное количество российских почтовых систем, которые появляются как грибы после дождя, а также реализовали несколько проектов по миграции тысяч пользователей.
Заметки о миграции
Вне зависимости от выбранного решения интегратор должен обеспечить максимально безболезненный перенос данных и переключение пользователей на новую систему. Многие вендоры предоставляют инструменты и рекомендации по миграции, однако каждый случай нужно рассматривать отдельно.
Для небольших и средних компаний проще всего перенести всех пользователей за выходные, однако чаще всего это утопический сценарий. Как правило, масштабы почты в организациях такие, что приходится планировать длительный период сосуществования систем — от трёх месяцев до года. При этом письма пересылаются между исходной и целевой системой с помощью служебных доменов третьего уровня. Например, в случае домена company.com можно использовать домен old.company.com для Exchange и new.company.com для целевой почтовой системы. Так в них поддерживаются входящие ящики, что позволяет с минимальными издержками вернуть пользователя обратно на Exchange, в случае необходимости.
![8c6cfc893e12e4555acd10f45d4cb86d.png](https://habrastorage.org/r/w1560/getpro/habr/upload_files/8c6/cfc/893/8c6cfc893e12e4555acd10f45d4cb86d.png)
Например, при замене Outlook одна из важнейших задач — оправдать ожидания пользователя. Ведь если он не получит адекватного аналога привычному почтовику, проект обречён на провал. Большинство отечественных вендоров это понимает, поэтому разработчики предлагают средства его модификации. Конечно же, Outlook может работать с протоколами SMTP и IMAP (и даже POP3, если он ещё для кого-то актуален), однако с протоколами CalDav и CardDav толком работать не умеет. Есть плагины, исправляющие это упущение и позволяющие синхронизировать календари и адресные книги, чтобы пользователь чувствовал себя максимально комфортно.
Основные игроки
CommuniGate Pro
Самый крупный и скандальный продукт на отечественном рынке почтовых систем. Первая версия вышла ещё в 1998 году, разрабатывала её команда из трёх российских программистов. За годы платформа CommuniGate обросла различными дополнениями и стала серьёзно конкурировать с Microsoft Exchange и Microsoft Teams. Сейчас CommuniGate Pro используют свыше 6000 российских компаний и органов власти, более трёх миллионов пользователей.
И всё было бы хорошо, если бы не скоропостижная смерть одного из разработчиков. Его дочь и наследница развязала целую патентную войну, которая привела к тому, что довольно долго лицензии CommuniGate Pro не продавались, а новые версии не выходили. Позднее продажи возобновили, но осадок остался.
VK WorkMail
Если CommuniGate изначально разрабатывался как корпоративной почтовый сервер, то следующий наш герой пришёл в B2B-сегмент из массового рынка. Проект VK WorkSpace был запущен в 2013 году на основе Почты Mail.ru как набор облачных сервисов для совместной работы. В декабре 2016 года его перезапустили, превратив в платформу, объединяющую три основных продукта: мессенджер VK Teams, файловое хранилище VK WorkDisk и почтовый сервис VK WorkMail, который доступен в облаке VK или может быть развёрнут on-premise.
VK WorkMail — корпоративная почтовая система с микросервисной архитектурой, нацеленная в первую очередь на крупные компании. При установке создаётся множество контейнеров, отвечающих за различные функции системы. Это обеспечивает высокую отзывчивость и отказоустойчивость на уровне отдельных компонентов.
В VK WorkMail есть встроенная система мониторинга всех компонентов на основе Zabbix и Grafana:
На текущий момент VK WorkMail является единственной системой, где есть функциональность общих почтовых ящиков (аналог Shared Mailbox в Exchange):
Авторы понимали, с кем им придётся конкурировать, и сделали механизм миграции и сосуществования, приспособленный под длительный период совместной работы с Exchange:
Как мигрировать с Exchange на VK WorkMail
Миграция состоит из этапов:
Настройка сосуществования Exchange и VK WorkMail (отправка и получение писем через Exchange).
Миграция всех данных из Exchange в VK WorkMail.
Поддержка согласованности данных в двух системах на период миграции.
Постепенное переключение пользователей на VK WorkMail.
Переключение отправки и получения писем на VK WorkMail.
VK WorkMail обеспечивает высокую производительность и доступность электронной почты, однако сама система весьма сложна в первичной установке и настройке. Также могут возникать трудности с отладкой из-за сложной микросервисной архитектуры. Может потребоваться значительное количество вычислительных ресурсов и ресурсов хранения данных.
RuPost
Ещё подробнее мы рассмотрим самого молодого, но не менее перспективного участника нашего обзора — RuPost от Группы «Астра». Это корпоративная почтовая система безо всяких излишеств. Она без проблем интегрируема — «из коробки»! — с российскими антивирусами, системами антиспама, DLP-решениями и другими системами. Обратите внимание, что разработчики RuPost ориентируются на интеграцию только с теми сторонними продуктами, которые входят в реестр Минцифры.
Мы считаем, что для почтовой системы крайне важно удобство пользователей. Рядовой сотрудник компании не должен почувствовать разницы при миграции с одной системы на другую. И здесь у RuPost есть заманчивое преимущество: его сервер поддерживает обычный Outlook, а тот не только знаком всем, но и может, например, работать с локальными почтовыми архивами, которые хранятся у пользователей на рабочих станциях. По нашему опыту, проблема совместимости с Outlook часто возникает при замене иностранных почтовых систем.
RuPost не забыл и о системных администраторах, о которых часто забывают. Для них есть удобный и интуитивно понятный веб-интерфейс, позволяющий быстро освоиться тем, кто привык администрировать Exchange.
Здесь тоже есть собственная система мониторинга
Интерфейс управления экземплярами кластера
Управление почтовыми ящиками
Веб-клиент
Настольный клиент
Ещё одна немаловажная задача — при переходе с одной системы на другую работа сервиса не должна прерываться ни на секунду. Для этого нужен эффективный механизм переноса данных, а также совместная работа двух систем на время перехода. В RuPost есть утилита для перехода с другой почтовой системы. Миграция состоит из этапов:
Настройка сосуществования Exchange и RuPost с помощью специального шаблона конфигурации.
Установка и настройка узла миграции.
Миграция данных на RuPost.
Финализация данных и переключение пользователя на RuPost. Переключение является односторонним и не подразумевает отката пользователей на Exchange.
RuPost сравнительно проста в первоначальной установке и настройке, легко масштабируется. В ней создана централизованная система конфигураций с шаблонами для развёртывания кластера. В целом, функциональность уже достаточно богатая:
Механизм доверенных почтовых серверов на уровне доменов.
Разделение доменов и алиасов (псевдонимов), которые прописываются в поле Proxy address.
Можно настроить AutoDiscover (автовыбор клиента при сосуществовании одного домена в Exchange и RuPost) на уровне групповых политик DNS или добавлением записи в hosts.
К недостаткам RuPost относится наличие двух потенциальных точек отказа — PostgreSQL и служба Memcached. Их отказоустойчивость должна обеспечиваться сторонними средствами.
Также пока не реализована:
Аутентификация клиента внутри домена через Kerberos и другие системы централизованного управления (однако это уже запланировано к разработке).
Отзыв отправленных писем.
Гранулярное восстановление данных в профиле аккаунта.
Как мигрировать с альтернативных систем на RuPost
Миграция с других почтовых систем (SourceOne, Commvault, Zimbra и др.) будет уже не такой простой, как с Exchange. Каждый случай придётся рассматривать отдельно, и, возможно, потребуется помощь интегратора.
В общем случае применяются доступные инструменты миграции вроде IMAPsync, а также требуется написать много скриптов автоматизации для взаимодействия с исходной и целевой системой. К сожалению, RuPost пока не может похвастаться богатой функциональностью CLI и API, и некоторые возможности автоматизации ограничены.
Нагрузочное тестирование
Новая почтовая система должна выдерживать ту же нагрузку, что и Exchange, и даже больше, так как при миграции пользователей на новый сервер нагрузка будет двойная. А электронная почта обычно и без того высоконагруженная система, особенно в крупных организациях. Мы проводили различные нагрузочные тестирования, с помощью JMeter генерировали нагрузку на различные компоненты почтовых систем и имитировали типичную работу пользователей в течение дня.
Вот пример нашего стенда для нагрузочного тестирования RuPost:
![94614d6b694c55fa021f3d94cdc5cabb.png](https://habrastorage.org/r/w1560/getpro/habr/upload_files/946/14d/6b6/94614d6b694c55fa021f3d94cdc5cabb.png)
Стенд представлял собой кластер из 8 узлов RuPost 2.5, сервера СУБД PostgreSQL, сервера службы Memcached, NFS-хранилища и балансировщика нагрузки HAproxy. В качестве генератора нагрузки мы использовали JMeter.
Характеристики тестовых машин:
Наименование машины | CPU | Оперативная память | Назначение машины |
---|---|---|---|
rupost01 | 4 | 32 Гб | Узел кластера RuPost |
rupost02 | 4 | 32 Гб | Узел кластера RuPost |
rupost03 | 4 | 32 Гб | Узел кластера RuPost |
rupost04 | 4 | 32 Гб | Узел кластера RuPost |
rupost05 | 4 | 32 Гб | Узел кластера RuPost |
rupost06 | 4 | 32 Гб | Узел кластера RuPost |
rupost07 | 4 | 32 Гб | Узел кластера RuPost |
rupost08 | 4 | 32 Гб | Узел кластера RuPost |
memcached | 4 | 4 Гб | Компонент RuPost для кеширования данных |
postgres | 16 | 32 Гб | Сервер СУБД PostgreSQL |
balance | 4 | 4 Гб | Балансировщик нагрузки |
jmeter | 10 | 8 Гб | Генератор нагрузки |
dc-01 | 4 | 8 Гб | Контроллер домена AD DS, DNS-сервер |
СХД | |||
Наименование сервера | Чтение IOPS | Запись IOPS | |
NFS | 4000 | 11000 | NFS-хранилище для данных почтовых ящиков, очередей и индексов |
Нагрузка в течение двух часов генерировалась внутри системы со 100 случайно выбранных адресов отправителей на 500 случайно выбранных адресов получателей. В среднем получалось 5000 сообщений в минуту. Сообщение представляло собой электронное письмо с заполненной темой, случайно сгенерированным текстом и файлом формата .txt размером 100 Кб. Показатели снимались с помощью Zabbix раз в одну минуту.
Примечание: мы тестировали в тесном взаимодействии с инженерами вендора, поскольку система «из коробки» не выдерживает подобную нагрузку и требует доработок шаблона конфигурации RuPost. После серии настроек удалось добиться стабильных показателей обработки очереди:
В среднем, пики активных очередей при тестировании достигали 500 сообщений и держались не больше минуты. Также мы проверили сценарии массового подключения клиентов по протоколу IMAP и входа в веб-интерфейс почтовой системы.
Мы считаем, что система может работать в крупных компаниях, однако требует тщательной проработки масштабирования, архитектуры и учёта условий конкретной ИТ-инфраструктуры заказчика. Впрочем, большинство российских систем показывают себя хорошо в таких тестах и обеспечивают необходимую производительность.
Послесловие
Как показывает наш опыт, среди российских почтовых решений вполне реально найти подходящую альтернативу Exchange. Конечно, новые системы непривычны для пользователей и администраторов, но всегда можно найти интегратора, который поможет переехать максимально безболезненно.