Благодаря Reddit становится популярен формат Ask Me Anything (AMA) — когда команда специалистов, ответственных за какой-то большой, популярный проект, предлагает всем желающим задавать им любые вопросы об их работе и о том, что у сервиса «под капотом», как всё устроено. Первыми формат AMA на Хабре использовали разработчики Badoo. Мы тоже решили попробовать. Надеемся, что другие компании последуют нашему примеру и начнут впускать читателей на свои внутренние кухни.
Стартовать AMA мы решили с командой Облака Mail.Ru. Это молодой, активно развивающийся проект, о котором нам всегда задают много вопросов. К тому же с момента запуска (с августа 2013 года) Облако разрослось в большую семью проектов.
Исторически Облако начиналось как B2C-продукт с веб-, десктопной и мобильными версиями. Однако B2B — это тоже очень перспективный рынок. Поэтому у нас появилась платформа Mail.Ru для бизнеса, объединяющая все B2B-сервисы компании Mail.Ru Group, в том числе Облако для архивов (Icebox), Облако для рабочих групп (Teambox) и Горячее хранилище (Hotbox).
Кто и как именно обеспечивает жизнедеятельность и процветание этого весёлого семейства, как достигается сохранность данных, за счёт чего мы добиваемся высокой скорости загрузки файлов и низкой latency — обо всём этом вы узнаете из статьи, а после сможете задать любые интересующие вас вопросы.
Для начала немного истории
Когда мы начинали писать Облако, то взяли за основу единую кодовую базу, которая использовалась и в Почте, и в Моём Мире, и в контентных проектах. Эту кодовую базу мы называем Mpop. Она представляет собой кучу библиотек, написанных на Perl. И несколько лет назад на ней жили все портальные проекты Mail.Ru Group. Когда в каком-то из проектов что-то рефакторили в Mpop, это влияло и на остальные. Постепенно каждый проект переехал на свою версию Mpop, а затем мы начали от неё уходить. Почта, например, частично перешла на Go. Мы тоже изначально жили на Mpop, но потихонечку всё переписали на свой супербыстрый Perl-сервер. У нас полностью асинхронная архитектура, мы используем AnyEvent. И если вы знаете Perl, то приходите к нам, у нас очень весело и интересно!
Как всё устроено
Структурно Облако Mail.Ru состоит из нескольких команд:
- Команда, которая пишет серверную часть и выстраивает её взаимодействие с хранилищами и мобильными клиентами.
- Команда разработки API, прослойки между серверами и вебом. API пользуются и Icebox, и Teambox.
- Команда разработки Hotbox. Она разрабатывает как административный интерфейс для работы с бакетами и ключами в Hotbox, так и само S3 API.
- Команда разработки UI (пользовательского интерфейса) и вёрстки. Отвечает за красоту интерфейса, его стабильность, скорость и функциональность.
- Команда разработки десктопного клиента, которая делает облачный клиент под платформы Windows, Linux, macOS. Также эта команда работает над Скриншотером и разнообразными фичами под него.
- Две команды мобильной разработки, которые пишут клиентские приложения для iOS и Android, напрямую взаимодействующие с серверной частью.
- Команда админов, которая всё это поддерживает, не смыкая глаз днями и ночами.
- Также у нас есть команда тестирования и команда автотестирования, которая пишет автотесты для API.
Под капотом веб- и десктопной версий Облака
Бэкенд Облака Mail.Ru написан на ANSI C, Perl, Lua и немного С++. На Perl решаются задачи, связанные с API. Например, редактирование документов. К слову, мы когда-то рассказывали на Хабре о том, как показываем видео в Облаке, серверная часть там написана на Perl + Lua.
С самого начала, когда ставилась задача создать Облако, одним из главных требований было отсутствие долгих поисков по БД, никаких seek
по диску и хранения по принципу append only. На момент старта мы не нашли подходящей БД под древовидные данные, поэтому создали собственную для представления файловой системы.
Приведём немного чисел:
- В день наши юзеры загружают порядка 100 терабайт данных.
- У нас есть более тысячи серверов дисковых хранилищ — это более 100 петабайт данных, в них находится более 9 миллиардов файлов. Нужно оптимально обходить и верифицировать их и быть уверенными в том, что пользовательский контент хранится надёжно и без изменений.
- Число активных пользователей ежемесячно — более 18 миллионов. Каждый день на веб заходит много сотен тысяч уников.
- Мы меняем в среднем десять дисков в неделю, на них заново накатываем данные.
- Пропускная способность сети — до 200 Гбит/c (при необходимости мы можем увеличить её в несколько раз). На закачку к нам сейчас идёт около 25 Гбит/с.
Изначально Облако писалось с фокусом на десктопные и мобильные клиенты. Затем стало ясно, что веб-то жжот, нужно переделывать. Облако полностью переписали асинхронно (вообще у нас вся кодовая база асинхронная, от ANSI C до AnyEvent в Perl), стало намного лучше и быстрее. Например, сейчас веб-версия Облака живёт на том же десятке серверов, что и три года назад, при том, что число пользователей существенно выросло. Только тогда они лежали в полке по ресурсам без какого-либо запаса. Другие наши новые продукты, например Hotbox, мы тоже пишем на Perl. Такие дела.
Под капотом мобильного Облака
Для написания iOS-приложения Облака мы продолжаем использовать Objective-C. Swift пока не трогаем по ряду причин:
- Мы всё ещё поддерживаем iOS 7. Да, Swift уже поддерживается на этой версии операционки, но работать со Swift’овыми зависимостями весьма затруднительно.
- Swift всё ещё нестабилен, и нам не хочется повторять героические подвиги по адаптации новых версий языка, хорошо описанные командой разработчиков Firefox.
- Использование Swift в данный момент существенно увеличивает размер приложения, а мы гордимся тем, что весим всего около 20 Мб.
- Мы активно используем динамические свойства языка Objective-C, а в Swift аналогов нет.
В качестве примеров применения динамизма Objective-C приведём следующие:
- Написание юнит-тестов на утечки памяти. Это возможно благодаря нашей библиотеке POSAllocationTracker. Возможность использования в юнит-тестах выгодно отличает её от фейсбучного аналога в лице FBAllocationTracker.
- Автоматическое обнаружение доступа к объекту из неправильного потока. Имплементировано в объекте POSSchedulableObject из библиотеки POSRx. Кстати, в ней вы можете посмотреть на боевые примеры юнит-тестов на утечки памяти.
Другие архитектурные особенности iOS-приложения:
- Использование POSInputStreamLibrary для загрузки видеофайлов в Облако. На графике ниже отображаются два вида загрузок видеофайлов. Оранжевые столбы — загрузки, содержимое которых получено с помощью API Photos.framework. Синие столбы — содержимое получено с помощью ALAssetsLibrary и завёрнуто в POSInputStreamLibrary. Это делает загрузку тяжёлых видеофайлов экстремально быстрой, как было описано в нашей давней статье.
- Использование disaster recovery тестов. В нашу сетевую библиотеку встроен механизм генерации случайных сетевых ошибок. Таким образом, в отладочной сборке приложению обязательно прилетят от сервиса пятисотки и четырёхсотки. Благодаря этому практически невозможно не протестировать каждую новую фичу на данные краевые случаи. Имплементация доступна в наглядном виде в объекте POSHTTPGateway из библиотеки POSRx.
Главная архитектурная задача для iOS приложения на сегодняшний день — избавление от подвисаний приложения при работе с большими облаками. В качестве инструмента для решения данной проблемы мы видим паттерн Schedulable Architecture, о котором мы не так давно писали на Хабре. Чтобы по мере его внедрения немедленно видеть результаты и быть уверенными, что движемся в правильном направлении, мы сделали мониторинг подвисаний. Сейчас у нас уже есть график самых проблемных мест в виде списка классов, в которых чаще всего происходят зависания. Выглядит он так:
Благодаря плагину для HockeyApp у нас есть полная информация о каждом зависании — стек вызовов и логи.
Android-клиент Облака полностью разработан на Java (мы пока не нашли для себя выгоды в Kotlin’e). В принципе, в архитектуре нет ничего супермодного: MVP, весь сетевой слой в сервисе, для сети используем okhttp, данные храним в SQLite, за исключением галереи. Там может быть очень много данных, и их надо быстро поднимать из кеша. Поэтому для галереи мы применяем самописную сериализацию. Для коммуникации внутри приложения есть eventbus от green robot. Для эффективной работы в фоне на новых версиях андроида используем JobScheduler’ы, а для не очень новых — GcmNetworkManager.
Для выкатки фич на процент, A/B тестирования и части аналитики используем Firebase. Для отладки взаимодействия с сервером юзаем в дебажных сборках Stetho от Facebook. В последней версии почти перешли на векторную графику в приложении. Думаю, через пару версий полностью перейдём на неё. Тесты пишем на junit, uiautomator и espresso.
Под капотом B2B-Облака
B2B-Облако — это три разных продукта:
- Teambox — облако для рабочих групп, аналог B2C-Облака, в котором можно выделить личное пространство для каждого аккаунта в домене, создавать общие папки для отделов и групп сотрудников и настраивать доступ к файлам.
- Hotbox — хранилище с быстрым доступом для распространения медиа- и любого другого часто скачиваемого контента с S3-совместимым протоколом доступа, распределённым хранением с множественным копированием и гарантированным SLA 99,99 %.
- Icebox — объектное облачное хранилище для архивации и длительного хранения данных и простым веб-интерфейсом. Оно создано для хранения и доступа к редко используемым данным с поддержкой протокола S3, к которым при необходимости можно получить быстрый доступ.
B2B-Облако состоит из двух частей — фронтенда, который мы встроили в нашу Платформу для бизнеса, и бэкенда, который обеспечивает управление Облаком и его работу. Та часть бэкенда, которая отвечает за функционирование Облака, написана на Perl, поддержка управления — на Python.
Платформа для бизнеса biz.mail.ru обеспечивает доступ к управлению всех B2B-Облаков. Сама платформа — это общая административная панель для B2B-сервисов Mail.Ru: Почты для сайта, корпоративного Календаря, Агента, службы DNS и B2B-Облаков. Платформа предоставляет личный кабинет администраторов и реализована по принципу плагинов — есть общие элементы (авторизация, управление проектами и доменами, списком пользователей), есть отдельные разделы для подключаемых сервисов — Почты, Teambox, Hotbox, Icebox и других. У Платформы есть своё API и механизм проксирования запросов из бэкенда Платформы в бэкенды подключенных сервисов. Таким образом, у нас имеется общая инфраструктура, функционал которой разрабатывают разные команды программистов, а для пользователей всё управление собрано в одной административной панели.
Итак, спрашивайте!
По традиции надо обозначить время, когда мы будем отвечать на вопросы. И пусть это будут два дня, а не один: сегодня и завтра с 12.00 до 19.00 (по московскому времени). Но в случае особо ожесточённых дискуссий мы, конечно, не ограничимся этим интервалом. Задавайте вопросы про наш софт, про наши серверы, про наши команды, про наше API и так далее. Погнали!
Комментарии (91)
mkevac
07.06.2017 12:12+3И еще один…
— Довольно странное решение, на мой взгляд, оставаться на Perl, если уж появилась возможность уйти от Мрор. Почему? Ведь большинство людей, услышав Perl, сразу же думают о вымерших динозаврах. Вы видите будущее у этого языка?Croston
07.06.2017 12:45+2Краткий ответ: да.
Более развернуто: язык программирования этот инструмент. Выбор в пользу того или иного языка определяется не только возрастом его (скорее на это вообще плевать), а наличием экспертизы и множества наработанных решений и библиотек. У нас очень сильная экспертиза в нём, люди знают его вдоль и поперёк и могут выдавать на нём очень хорошие программные решения.
Замечу, такой же вопрос задавался и 4 года назад — и я на него похожим образом отвечал — https://habrahabr.ru/company/mailru/blog/198122/#comment_6869340luht
07.06.2017 17:58А когда mPOP переименовали в Mpop?:)
Croston
07.06.2017 17:59Трудности перевода :). mPOP он.
luht
08.06.2017 05:14Спасибо!
Скажите, пожалуйста, сколько лет самому старому коду, который ещё есть в production всего mail.ru? Что это за модуль? Жив ли CAG (Common Authentication Gateway)?:)
Croston
13.06.2017 16:45Облако довольно молодой проект, тут нету такого уж старого кода. Но думаю что в недрах авторизации где-то лежат строчки которым много много лет.
alxgutnikov
07.06.2017 12:18Привет! А вот про UI команду ( которая верстка и JS ) вы маловато как-то рассказали ))) Интересно узнать, есть ли какие-то KPI на скорость загрузки интерфейса? если есть, то каким образом вы за ними следите: может быть какая-то система сбора/агрегации метрик своя есть?
madimp
07.06.2017 17:53+1Строгих KPI по скорости нет. В основном следим за производительностью по своим ощущениям, отзывам коллег и пользователей. Разумеется, при разработке стараемся не засорять код лишними операциями с большими временными затратами.
Но и мониторинги имеются (Grafana). Критичные нагруженные места смотрим и по ним. Например, список файлов в Облаке. Мониторится чуть ли не каждый чих. К примеру, загрузка/догрузка/обновление списка файлов, отрисовка и перерисовка файлов, вставка и изъятие, сортировки, загрузка превью, загрузка данных и т.д. Смотрим и на количество и на время, по которым следим, чтобы показатели улучшались.
alxgutnikov
07.06.2017 12:20И еще один: насколько я знаю некоторые из проектов в mail.ru ушли в сторону TypeScript и строгой типизации. Что ребята из облака об этом думают, планируете ли использовать ts,flow или что-то подобное?
madimp
07.06.2017 17:54+1На данный момент ts мы не используем, но другие проекты, особенно с общим кодом, частично используют, и у нас есть все шансы поучаствовать в этом празднике.
yar229
07.06.2017 12:25+3Простите, не смог удержаться
Когда будет WebDAV?
Croston
07.06.2017 12:51Так он уже есть!
Для всех новых пользователей biz.mail.ru облака (если домен создан после середины декабря 2016 года) вебдав есть. То есть он входит в пакет услуг в Teambox.
Также мы планируем в скором времени включить вебдав для платных пользователей облака. Ожидаем сделать до конца лета, скорее всего даже раньше.Komol
07.06.2017 13:24+4Подозреваю, что вопрос был про бесплатные аккаунты.
Croston
07.06.2017 13:49-1Мы прекрасно понимаем, что пользователи на бесплатных аккаунтах его просят. Но из-за того, что мы изначально давали очень много места в Облаке, WebDAV позволил бы использовать его не только в личных, но и в коммерческих целях (например, хранить в нем объемные технические данные: логи, бекапы и т.д.).
Для коммерческого использования мы в итоге сделали отдельный сервис Teambox, на котором доступен WebDAV.
При этом, чтобы не огорчать наших лояльных пользователей, мы скоро включим WebDAV для тех, кто подключил себе любой платный тариф.AlexGluck
07.06.2017 15:36Что помешает коммерческим компаниям использовать облако как физический пользователь, и платить не 2.3 рубля за гигабайт в месяц, а 7000 в год за терабайт? Ограничения в 32 Гб то сохраняются для всех.
Croston
07.06.2017 16:21Teambox предоставляет много дополнительных возможностей, кроме вебадва. Если нужен только вебдав — то можно будет делать именно так, как вы описываете, никаких препятствий к этому нет.
AlexGluck
07.06.2017 16:35+2Для тех кто получил 1ТБ бесплатно в облаке, покажите все платные подписки, а не только те которые больше-дороже текущей бесплатной.
yar229
07.06.2017 16:48+1(просто придираясь к форме)
в коммерческих целях… объемные технические данные: логи, бекапы и т.д.
разве эти данные не могут быть личными?
чтобы не огорчать наших лояльных пользователей, мы скоро включим WebDAV для тех, кто подключил себе любой платный тариф
то есть бесплатный пользователь лояльным считаться не может?
Massacre
09.06.2017 14:50+1Почему-то у Яндекса он бесплатный, что и определило выбор… Причём тут коммерческие цели к способу доступа без клиента и браузера?
XardasNetpoint
07.06.2017 12:51Как вы хешируете файлы (я про хеш, который отдается при запросе /api/v2/folder)? Опишите пожалуйста алгоритм.
Croston
07.06.2017 12:57Алгоритм описывать не могу, довольно чувствительная информация. Одно скажу точно, недавней атаке https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html мы не подвержены.
А вам это для чего нужно? Может быть как-то иначе можно решить вашу задачу?yar229
07.06.2017 13:17Security through obscurity, нет?
Croston
07.06.2017 13:23Нет. От знания алгоритма хеширования никакого вектора атаки не появляется. Если вы считаете иначе, пожалуйста, аргументируйте.
Но это не означает, что мы хотим его раскрывать.yar229
07.06.2017 14:37Вектор атаки вы выше указали сами, коллизии при дедупликации файлов в облаке.
Но, безусловно, раскрывать не обязаны.Croston
07.06.2017 16:49За всю историю существования облака мы не сталкивались с коллизиями.
Про вектор атаки: всё равно интересно как именно вы будете использовать гипотетическую уязвимость?yar229
07.06.2017 16:59В том мире, где я самый умный и быстрый, а у вас проверка на совпадение идет исключительно по размеру файла и хэшу — первым залью вредительски изменённый, скажем, «debian-100.1.0-amd64-DVD-1.iso» и следующие сколько-то тысяч пользователей, положив уже нормальный файл в облако, по факту получат бяку
Croston
07.06.2017 17:52Гипотетически вектор атаки есть. Дело за малым, найти хеш коллизию на нашем алгоритме хеширования. По нашим представлениям — сейчас такой возможности нет.
XardasNetpoint
07.06.2017 17:32для использования API и проверки того, лежит ли файл в облаке или нет, что бы иметь возможность считать локальный хеш файла, и сравнивать с тем что в облаке, условно говоря, я хочу хранить в облаке бекап, но официальный клиент использовать я не хочу.
a_tito_v
07.06.2017 14:11Когда поиск по облаку сделаете?
Croston
07.06.2017 14:12+1Вот же, положила: https://s.mail.ru/B7ZY/CSjbhc2RC
yar229
07.06.2017 14:16Помнится, его включали постепенно и есть ощущение, что чем старше аккаунт, тем дольше на нем не включали поиск, может, процесс еще не закончился?
Croston
07.06.2017 14:38Его и правда включали постепенно, но на 100% он выкатился более чем два месяца назад.
Также включение не зависило от древности аккаунта, там совсем другой алгоритм A/B сплита.
xaoc80
07.06.2017 14:16У меня вопрос, возможно, не по теме. Точнее два вопроса. Есть ли у вашей команды задачи, связанные с интеллектуальной обработкой данных, ML и используете ли вы гетерогенные вычисления — CPU/GPU для этого?
Croston
07.06.2017 14:51+1Да, такие задачи есть по анализу изображения, используем современные CNN (сверточные нейронные сети), все расчеты выполняются на GPU.
В скором времени будем внедрять их в продукт, увидите их в действии.
tehnolog
07.06.2017 14:41+2Ну если можно спрашивать обо всём, то спрошу о котиках. Сколько человек в команде Облако.Мейлру и сколько из них содержат кота дома? Только честно.
Croston
07.06.2017 14:49+2Ого. Мы стараемся не раскрывать никаких цифр же! Но ладно…
Про количество человек — именно только над облаком и платформой работает более 50 человек. Также есть отдельно от нашей команды «общие» дизайнеры, тестировщики. Котики есть у 5-10% сотрудников, я полагаю :).
Carnolio
07.06.2017 16:24Есть ли какая либо верификация того, что складывается в облако, я имею в виду вирусы или объекты авторского права, пусть даже закамуфлированные?
Croston
07.06.2017 16:27Да, есть.
В своё личное облако мы разрешаем загружать почти всё что угодно. Однако при попытке поделится этим контентом — могут возникать проблемы, в момент его скачивания с паблика.
Про вирусы мы предупреждаем, запрещенный контент просто не даём скачивать и просматривать.
Если надо более подробный рассказ — уточните вопрос.redmanmale
07.06.2017 16:34Какие способы выявления запрещённого контента вы используете?
Croston
07.06.2017 16:51Антивирус, жалобы пользователей, жалобы правообладателей.
В бэклоге висит задача по распознаванию плохого контента с помощью нейросетей.
yar229
07.06.2017 18:15https://geektimes.ru/post/279076/#comment_9478028
Мы не ограничиваем создание сторонних клиентов. При этом стоит заметить, что API, которое вы используете, не является публичным и может изменяться без обратной совместимости при дальнейшем развитии Облака.
Скажите пожалуйста, эта позиция все еще актуальна?
С уважением, команда Облака.yar229
07.06.2017 18:21P.S. Если да, то налицо противоречие — с одной стороны, облако имеет вполне четко озвученные ограничения, с другой — разрешает использовать сторонние клиенты, которые вполне себе могут нарушать оные.
Croston
07.06.2017 18:45Не вижу противоречия. Все ограничения апи имеет само в себе. Если каким-то образом апи позволяет эти ограничения обойти — это ошибка и мы можем это ограничение ввести. Таким образом его изменить.
SoloMidPlzD
07.06.2017 18:45Когда меня знакомие перестанут просить удалить вируси мейлру ??
Croston
07.06.2017 18:46Мы не можем контролировать и отвечать за ваших знакомых.
Чем именно я вам могу помочь?
AcidVenom
07.06.2017 21:37Анонимайзер для бизнеса? Оперативно выпилили фичу после моего тикета.
И допилите, пожалуйста, фильтры почты для домена!Magir
08.06.2017 12:28Анонимные ящики немного пересеклись с синонимами, но мы скоро всё исправим и включим обратно.
Общепочтовые фильтры стоят в планах, когда-нибудь мы их реализуем.
mrrouter
07.06.2017 22:53-1Сделайте, пожалуйста, возможность докачивать файл (в обе стороны) после разрыва связи, а не начинать всё сначала. Не у всех безлимитные тарифы. И ещё я замечал, что у вас при загрузке в «Облако» большого (хотя бы 200 МБ) файла из-под «Мегафона» на половине пути режется скорость до 32 Кбит/с и дальше соединение остаётся таким постоянно, приходится соединяться заново. В поддержке «Мегафона» сообщили, что они ничего не ограничивают.
жалобы правообладателей.
Вам не противно так холуйствовать? Где ваше самоуважение?Croston
08.06.2017 12:24Скорость мы не режем вне зависимости от размера файла, провайдера, тарифа и прочего.
gzhegow
08.06.2017 02:23Уважаемые бойцы из Маил, главным образом вопрос конечно к старшему кодеру, который управляет процессом разработки, но все-таки.
Если это не тайна, поясните пожалуйста как вы подключаете новых людей на проекты? Обилие названий технологий, которые сегодня пиарятся и ничего кроме денег в себе не несут…
(ну имеется в виду — пиаришься, все уважают, кто не уважает — тыкаешь носом что он что-то не знает и опять профит, с точки зрения бизнеса — выигрыш, с точки зрения науки — дальше только тупой и еще тупее)
… сводит лицом к лицу с вопросом подключения на проект новых людей. И пытаясь нанять людей которые знают все те вещи, о которых ежедневно пиаряться — часто случается что денег выкладываешь за людей кучу, а на выходе он знает вот строго только вот эту технологию, потому что она очень сложная, хотя то же можно сделать и простыми средствами, но вот он ее знает и поэтому дорогой специалист. Как я это называю — дорогой но глупый.
Как вы подключаете на проекты новых людей? Я сейчас не имею в виду техническую сторону вопроса — гит им там настроить или еще как, но для меня даже просто убедится, что человек способен писать код на том же уровне, что и мы с ребятами — занимает просто дикое время — проверить верстку, проверить знание бэма, потом яваскрипт, знает ли ноду, способен ли настроить сервак и бесконечное количество сфер, по каждой согласоваться и сотрудника подключить на проект нужно пара недель. И это без обьяснения ему что и куда.
А полностью готовый как правило стоит бешеных денег, и понтов у него соответственно куча — если даже что-то не знает, выкручивает так будто это мы идиоты, хотя на деле нужно проект делать, а он только сказки травит.
Вы просто тщательно отбираете кадры, или у вас спец отдел подготовки есть или еще как?
СпасибоCroston
08.06.2017 12:35В своем комментарии вы затронули такое количество разных тем, что, честно говоря, не знаю, на что именно отвечать. Главное, что я для себя вычленил, — вы хотите знать, как у нас устроена система найма сотрудников. Не хочу показаться банальным, но в двух словах об этом не напишешь Мы много рассказывали об этом на разных площадках, например, вот: https://rb.ru/opinion/it-talanti/
zigrus
08.06.2017 08:34интересует как убрать рекламу в почте, когда набираешь письмо, слева есть блок рекламы
ладно если бы он был статичной, а так он периодически дергается, меняется, сильно раздражаетlatrekc
08.06.2017 12:41К сожалению рекламу убрать нельзя. Чтобы почта работала нужны тысячи серверов (хранить/получать/отправлять/отдавать письма) и тысячи сотрудников (для поддержки и постоянного развития). Кто то должен за это платить. Реклама это почти единственный осмысленный способ заработка для такого проекта.
Некоторые другие проекты пробовали предлагать пользователям подписку или единоразовую оплату для отключения рекламы, но это удручающе не эффективный способ, не окупает даже собственную разработку.zigrus
08.06.2017 14:14ну хотя бы что бы она не мигала
можно ведь сделать так что ты обновление рекламных постов не отвлекало от написания текста
зачем ее обновлять раз в 3 минуты?
NYMEZIDE
08.06.2017 09:50-6Когда прекратите сувать везде Амиго, Агент, Спутник и т.д. а лучше когда прекратите разработку и поддержку этих продуктов, закроете их с концами? А также продвигать ваш г**но поиск и почту?
algol
10.06.2017 23:03В Облака на Zeppelin: опыт создания облачного сервиса Mail.Ru Group
Странно, что в этой статье о Perl и mPOP ни слова, хотя с них начинали писать Облако.codesign
13.06.2017 15:50В той статье вообще не рассматривается часть, на схеме изображённая как WebAPI и Zipper, которые и были написаны на Perl.
saipr
13.06.2017 12:20Интересно, будет ли в облаке средства шифрования и электронной подписи?
Будут ли использоваться облачный токен pkcs#11?
dmitrybelsky
13.06.2017 16:59Вопрос если не к разработчикам, то к продактам. Почему мейл лезет в конкуренцию на рынок, где дофига игроков, вместо работы на рынке бизнес-приложений (он у нас пустой вообще)?
Croston
13.06.2017 17:00Что бы вы предложили?
dmitrybelsky
13.06.2017 23:04К почте логичным дополнением выглядит документооборот. С всякими подписями электронными для Энтерпрайза. С ВРМ сверху и, чем черт не шутит, элементами RPA (типа цифровой секретарь)
На диск напрашиваются умная база знаний и всякие форумы с вики.
Добавляем новости — и вполне себе корп портал.
На портал логично сервисы самообслуживания навертеть для сотрудников (за основу можно взять тот переписанный сап, что у вас используется)
Отсюда же логически вытекает какая-нибудь аналитика сверху тарантула типа табло или клика
Это раз;)
mkevac
О, класс. Люблю АМА :-) Ну держитесь!
— Сейчас у большинства крупных игроков есть свои «облака» для бизнеса. Но очень сложно выбрать, понять какой из облаков лучше. Я с ходу не нашел у вас на сайте https://biz.mail.ru/ сравнения с другими облаками. Планируется ли такое сравнение сделать? Ну и есть ли\будут ли какие-то средства для переноса данных из других облаков?
— Мне, как частному лицу, тоже очень хочется иметь почту на своем домене (на самом деле уже есть), но у вас везде «бизнес», «бизнес». Могу ли я как частное лицо платить и пользоваться всеми этими фичами? Не будет ли каких-то заморочек?
— Что за БД под древовидные данные? Есть где-то более подробная информация?
— Планируется ли сделать клиенты под ваше облачное хранилище для операционной системы что стоит на Synology NAS-ах? Большинство из популярных там уже есть.
Croston
— Сейчас у большинства крупных игроков есть свои «облака» для бизнеса. Но очень сложно выбрать, понять какой из облаков лучше. Я с ходу не нашел у вас на сайте https://biz.mail.ru/ сравнения с другими облаками. Планируется ли такое сравнение сделать?
В целом мы старались сделать наши цены конкурентноспособными с б2б предложениями других игроков. Например с тем же хотбоксом — на первый взгляд может показаться что мы не дешевле, чем амазон — у нас хранение стоит дороже немного. Но за счёт того что трафик у нас дешевле существенно, при ожидаемом паттерне использования — в итоге общий счёт должен выходить существенно меньше.
Идея хорошая, надо сделать. Занесём в планы — чтобы можно было сразу увидеть на чём люди выигрывают если переходят с других решений к нам.
Ну и есть ли\будут ли какие-то средства для переноса данных из других облаков?
Пока нету и в ближайшее время мы не планировали делать такой инструмент, потому что не было спроса. Будет спрос — будем делать инструменты.
— Мне, как частному лицу, тоже очень хочется иметь почту на своем домене (на самом деле уже есть), но у вас везде «бизнес», «бизнес». Могу ли я как частное лицо платить и пользоваться всеми этими фичами? Не будет ли каких-то заморочек?
Да, всё должно работать нормально. Там можно быть как физ лицом — тогда обычные оплаты по карте/всякими онлайн деньгами — так и юрлицом, тогда всё со счетами фактурами, бухгалтериями, выставлением счетов и прочим.
То есть в данном контексте бизнес — это как деятельность, а не как форма организации. Частному лицу там можно точно также всё. Попробуйте!
— Что за БД под древовидные данные? Есть где-то более подробная информация?
Своя, самописная. Описания как такового нигде нет, ибо она используется только на облаке. Идея в целом такая, что нам надо уметь очень быстро записывать изменения и держать в памяти текущее дерево пользователя. Там много нюансов.
— Планируется ли сделать клиенты под ваше облачное хранилище для операционной системы что стоит на Synology NAS-ах? Большинство из популярных там уже есть.
Честно говоря, сейчас это не стояло в приоритете. Мы фокусируемся сейчас на бизнес сервисах ориентированных либо на работу через наш веб интерфейс/вебдав или по протоколу s3. Пока до других протоколов руки не дошли, но в будущем мы постараемся поддержать всё, что нужно рынку.