Uber отказался от онлайн-чатов Slack и HipChat в пользу своего uChat на базе Open Source-решения Mattermost

На прошлой неделе инженеры компании Uber рассказали в своём блоге о том, как они создали собственное решение для интернет-общения, схожее с популярными Slack и HipChat, но основанное на свободном продукте Mattermost. Их детище получило название uChat.

Работа дизайнеров Uber над боковой панелью Mattermost
Работа дизайнеров Uber над боковой панелью Mattermost / Иллюстрация с сайта Uber Engineering Blog

В компании Uber работают 14 тысяч человек, а её операции распределены по 620 городам мира. Раньше в качестве корпоративного онлайн-чата в Uber использовали популярный сервис Slack, а около года назад (весной 2016) перешли на его конкурента — Atlassian HipChat. Однако оба этих продукта не удовлетворяли потребностям Uber в «надёжном общении сотрудников на десктопах и мобильных устройствах вне зависимости от их местонахождения в мире». Основные требования Uber к онлайн-чату — это масштабируемость для растущего числа сотрудников с учётом сопутствующих расходов, а также простая интеграция с многочисленными инструментами, решающими инженерные, эксплуатационные и бизнес-задачи.

Инженеры Uber начали свои поиски с технологии Internet Relay Chat (IRC) и последующего тестирования существующих альтернатив, а пришли к созданию собственной платформы обмена сообщениями uChat, в которой активно применяются Open Source-продукты: чат Mattermost и система управления конфигурациями Puppet (корпоративный стандарт в Uber). Инженерам компании удалось перейти на новое решение за 3 месяца, обеспечив стабильную доставку более 1 миллиона сообщений в день для десятков тысяч пользователей в едином окружении.

Основные работы Uber с Mattermost были нацелены на производительность: инженеры стремились гарантировать стабильное функционирование чата для случая с 70 тысячами одновременно присутствующих там пользователей и отправляющих от 80 до 200 сообщений в секунду. Для этого были созданы специальные нагрузочные тесты (опубликованы на GitHub), а также проведён анализ пользовательского интерфейса (например, «существующие интерфейсы не позволяли производить поиск более чем по 20 тысячам каналов одновременно»), по итогам чего были сделаны необходимые изменения в коде. Далее была разработана схема деплоя нового чата с применением подхода IaC (инфраструктура как код) на базе Puppet (с модулем Puppet Code Manager). Завершающий этап — создание своих пользовательских интерфейсов (на базе React Native) для мобильных устройств на базе iOS и Android. Последние наработки тоже выложены как Open Source на GitHub.

Итог — достижение 99,9-процентной доступности с uChat, после чего использование старой системы для общения было прекращено. Инженеры Uber планируют реализовать больше возможностей в ближайшие месяцы, следуя обратной связи от своих пользователей, и внедрить в uChat дополнительные улучшения от Mattermost и его Open Source-сообщества.

Дмитрий Шурупов по материалам Uber Engineering Blog, Businessinsider.Com.




!

Если для Вас конкретно эта новость оказалась важной или интересной - пожалуйста, поделитесь ею в своей любимой социальной сети с помощью кнопок, расположенных под этим текстом. Это поможет нам в будущем делать более качественную подборку материалов, исходя из Ваших потребностей\интересов.




Коды для вставки в блог\форум

blog comments powered by Disqus


Вспомним другие новости из этого раздела?


Soft

←+Ctrl+→

Интересные новости
Microsoft выпустит Windows 10 в версии для мощных компьютеровMicrosoft выпустит Windows 10 в версии для мощных компьютеров
Неоднозначный редизайн мобильных приложений Skype добрался до десктоповНеоднозначный редизайн мобильных приложений Skype добрался до десктопов
Убытки грузового гиганта Maersk от вируса NotPetya составили $300 млн
Компания-разработчик СУБД с открытым кодом MongoDB выходит на IPOКомпания-разработчик СУБД с открытым кодом MongoDB выходит на IPO
Блок рекламы


Похожие новости

Ark и Sonobuoy — новые Open Source-утилиты от Heptio для эксплуатации KubernetesArk и Sonobuoy — новые Open Source-утилиты от Heptio для эксплуатации Kubernetes
Онлайн-сервис GitHub начал использовать Kubernetes (и Docker) в своём productionОнлайн-сервис GitHub начал использовать Kubernetes (и Docker) в своём production
Bitnami открыла код своей мобильной панели управления для Kubernetes — CabinBitnami открыла код своей мобильной панели управления для Kubernetes — Cabin
Microsoft добавила поддержку контейнеров Azure Container Instances в Kubernetes и стала членом CNCFMicrosoft добавила поддержку контейнеров Azure Container Instances в Kubernetes и стала членом CNCF
Slack привлек $250 млн при оценке в $5 млрд
openSUSE Leap 42.3: Plasma 5.8 и GNOME 3.20, серверные инсталляции, поддержка Flatpak, интеграция YaST с SaltStackopenSUSE Leap 42.3: Plasma 5.8 и GNOME 3.20, серверные инсталляции, поддержка Flatpak, интеграция YaST с SaltStack
Уязвимости «Devil's Ivy» в Open Source-библиотеке gSOAP оказались подвержены многие IoT-устройстваУязвимости «Devil's Ivy» в Open Source-библиотеке gSOAP оказались подвержены многие IoT-устройства
Доступна бета-версия Briar — Open Source-системы безопасного обмена сообщениями в рамках P2PДоступна бета-версия Briar — Open Source-системы безопасного обмена сообщениями в рамках P2P
Open Container Initiative (OCI) выпустила первую версию своих стандартов на Linux-контейнерыOpen Container Initiative (OCI) выпустила первую версию своих стандартов на Linux-контейнеры
В OpenBSD предложили патч для совместимости с проблемой systemd в обработке имён юзеровВ OpenBSD предложили патч для совместимости с проблемой systemd в обработке имён юзеров
Последние новости

Подгружаем последние новости