Как стать автором
Обновить
Привет, Хабр! Меня зовут Антон Герасимов, я руковожу департаментом разработки в московском центре компании МойОфис. Почти четыре года мы с командой создаём новую высоконагруженную и отказоустойчивую почтовую систему Mailion. Она предназначена для корпоративных коммуникаций и построена на Cloud Native микросервисной архитектуре. В этой статье я расскажу, как мы создавали продукт с момента замысла до текущей бета-версии, как затачивали почтовый движок под работу с контентом и как справлялись с вызовом — поддержать совместную работу даже 1 000 000 пользователей и масштабироваться на такое количество рабочих мест.
Как мы со всем этим справились
Всего голосов 46: ↑43 и ↓3+40
Комментарии19

Комментарии 19

Здравствуйте! Думаю, вы знаете, что компании хранят базу своих пользователей в службе каталогов. Думаю, знаете, даже в какой именно службе каталогов. Расскажите про взаимодействие с AD, про авторизацию на основе членства в группах, про разделение прав администраторов, про антиспам и прочие корпоративные прибамбасы. Про то, как можно автоматизировать рутинные операции типа создания/удаления ящика. Вобщем про то, как системы выглядит со стороны администраторов и службы безопасности.
Наверное ответ может тянуть на целую новую статью.
Вы правы – ответы на эти вопросы тянут на целую статью и даже не одну и мы обязательно напишем их.
Расскажите про взаимодействие с AD, про авторизацию на основе членства в группах, про разделение прав администраторов, про антиспам и прочие корпоративные прибамбасы
— Это такой сарказм?) Я два года назад выяснял этот вопрос, их техподдержка и пресейл зависли на вопросах про ActiveDirectory, работы с группами, управлнении через групповые политики и авторизация Single Sign-On… По почте молчали 2 недели, на словах сказали что-то вроде «Внедрения с такими завышенными требованиями — не наш кейс..»
НЛО прилетело и опубликовало эту надпись здесь
Надо же! Люди переизобретают CommuniGatePro на новомодных (читай: сырых и глючных) технологиях. Кроме того, я не понял, зачем мне может понадобиться ломать работающее (на мульён пользователей) и бросаться внедрять ЭТО? Из маркетинговой шелухи и странных картинок данный посыл совсем не очевиден.
Стильно-модно-молодёжно же =)
Вы и MTA свой заимплементили или использовали какой-то из имеющихся («подружив» его с нужными БД)? Просто, когда читаешь про электронную почту, задаёшься вопросом, кто у неё MX, кто MTA, кто MDA и вот это вот всё…
Ох, не про это же статья… совсем не про это :) у ребят скрум же
MTA в Mailion выполняет ~1% всех функций. Если очень грубо говорить, то это просто очередь доставки и транспорт SMTP (больше, в нашем случае, MTA ничем не занимается) MDA у нас собственной разработки.
Процессы прохождения стадий обработки от «SMTP HELLO» до того как пользователь прочитает письма, большая и сложная тема. Если к ней будет интерес, то обязательно расскажем.
Спасибо. От себя скажу, что интерес есть!

Все что тут описано сделано уже лет 30 назад и называется MS Outlook + MS Exchange.
И уж поверьте, ни один здравомыслящий клиент из энтерпрайза не будет менять свою почту на ваш продукт. Ну как минимум лет 10 еще =)

В состав решения Mailion входит специальный плагин для MS Outlook, который позволяет прозрачно заменить сервер MS Exchange и сохранить полную функциональность решения и добавляет дополнительные возможности.
Мне не известны решения, которые предоставляли такой прозрачный переход.

Мммм… Дайте подумать… MDaemond! Сколько лет уже существует? И тоже плагин есть. А, ну и классика — smtp/pop3|imap. Существуют уже лет 30.
Но суть не в этом. Exchange — это офигенный кластер, который доказано работает с миллионами пользователей, есть куча админов которые знают что с ним делать, курсы, метриалы.
Общие календари, интеграции, гранулярные права…
Есть практически божественный DAG, интеграция с различными DLP, антивирусами.
А бекапы? Кто из вендеров вас умеет бекапить так, чтобы восстановить одно письмо, а не весь кластер?
Что из этого есть у вас?
Вот у вас где все это? Ах да, у вас же модно-молодежно...


Ребята, вы сделали некий аналог офиса365/гуглопочты со своими рушечками. Возможно это и неплохая штука, но, пожалуйста, не держите пользователей хабра за идиотов — не надо нам рассказывать что ваше облачное решение нормально зайдет в среде кровавого энтерпрайза. Тут уже все давно придумано и сделано.

События очень вероятно могут сложиться так, что менять MS Outlook + MS Exchange на продукт отечественного производства все же придется. И ранее чем через 10 лет. Мир меняется.

Скорее всего нет, ибо Exchange дальше 2019 уже будет по подписке и вряд ли кто его купит, а вот заставлять покупать новое вместо существующего никто не будет, так что в реальности мы можем просидеть на последней версии exchange еще лет 10-15. А потом уж действительно может много поменяться =)

Текст в баннере на хабре — «Как с нуля создать Cloud Native почту». В самой статье — про почту, которая разворачивается on premises у клиента. Как это согласуется с Cloud Native?
Отличная тема!!! Рад, что система работает и справляется с нагрузкой. Опишите в цифирях, сколько IOPS обслуживает Ваша система хранения данных, будет очень интересно узнать нагрузку.

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

Спасибо.
IOPS – показатель, зависящий от аппаратных возможностей оборудования. Одной из целей подсистемы хранения, является сокращение аппаратных требований по части подсистемы IO. В масштабных почтовых системах, в каждый момент времени, происходит большое количество операций над небольшими или средними объектами и это является одним из слабых мест «классических» архитектур. В Mailion мы постарались учесть такие слабые места и исправить их на уровне архитектуры решения.

Про подсистему хранения мы обязательно напишем в ближайшее время.

Опыт показывает, что подобный сервис сложно монетизировать. А так спасибо за статью, интересно посмотреть современные подходы в этой области. Мы делали подобный сервис около десяти лет назад.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий