Блог компании Miro

  • ХабрахабрФото SQL миграции в Postgres. Часть 1

    SQL миграции в Postgres. Часть 1

    Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ...  Если приложение может быть недоступно какое-то время для проведения миграций, то ответы на эти вопросы не представляют сложности. А что делать, если миграции нужно проводить на горячую – не останавливая базу данных и не мешая другим с…

    Читать далее »
  • ХабрахабрФото Как не продолбать архитектуру в погоне за фичами

    Как не продолбать архитектуру в погоне за фичами

    Я работаю в Miro со дня основания, вначале как фронтенд инженер, сейчас как менеджер core-команд, которые разрабатывают внутреннее ядро канваса и realtime-коллаборации на нём. Мы очень быстро растём: в пользователях, в размере команды, в количестве выпускаемых фич. Немного фактов за 2020 для контекста: Перешагнули рубеж в 10 миллионов регистраций; Пиковая онлайн-нагрузка за год выросла в 7 раз; Команда разработки выросла…

    Читать далее »
  • ХабрахабрФото Выбор хэш-функции в задаче шардирования данных

    Выбор хэш-функции в задаче шардирования данных

    Мы в Miro работаем над процессом шардирования баз Postgres и используем разные подходы в зависимости от бизнес-требований. Недавно перед нами встала задача шардирования новых баз, в ходе неё мы выбрали новый для нас подход к шардированию, основанный на согласованном хешировании (consistent hashing). В ходе реализации этого подхода один из центральных вопросов заключался в том, какую реализацию не-криптографической хэш-функции нам лучше…

    Читать далее »
  • ХабрахабрФото [Перевод] Prometheus и VictoriaMetrics: отказоустойчивая инфраструктура для хранения метрик

    [Перевод] Prometheus и VictoriaMetrics: отказоустойчивая инфраструктура для хранения метрик

    В статье мой коллега Luca Carboni, DevOps Engineer из амстердамского офиса Miro, рассказывает, как выглядит наша инфраструктура для хранения метрик. Все компоненты в ней соответствуют принципам высокой доступности (High Availability) и отказоустойчивости (Fault Tolerance), имеют чёткую специализацию, могут хранить данные долгое время и оптимальны с точки зрения затрат. Стек, о котором пойдёт речь: Prometheus, Alertmanager, Pushgateway, Blackbox exporter, Grafana и…

    Читать далее »
  • ХабрахабрФото Иван Дёмшин, Head of Engineering в Miro, о продуктовой разработке, смене технологий и эволюции процессов в компании

    Иван Дёмшин, Head of Engineering в Miro, о продуктовой разработке, смене технологий и эволюции процессов в компании

    Это конспект интервью с Иваном Дёмшиным, Head of Engineering в Miro, про историю продукта и компании, структуру продуктовой разработки, смену технологий на фронте и бэке, эволюцию тестирования, процесс найма и развития инженеров. Полную двухчасовую версию можно посмотреть на Ютуб-канале Хекслет. Оглавление:История продукта и компании— RealtimeBoard → Miro Как устроена продуктовая разработка— Рабочее окружение— Стек, монолит— Релизы Выбор технологий и их эволюция— Flash → Canvas— Angular → React—…

    Читать далее »
  • ХабрахабрФото Победители Miro Platform Contest

    Победители Miro Platform Contest

    В начале ноября мы объявили об открытой бете платформы Miro, провели конференцию о платформенной разработке с JetBrains, Stripe и другими компаниями (видео всех докладов), а также запустили онлайн-конкурс для разработчиков по созданию плагинов. В нём приняли участие инженеры из Польши, Швейцарии, Словакии, Белоруссии, Литвы, России и других стран. Конкурс завершился! Мы готовы объявить победителей! 1 место и $10,000 Planning Poker…

    Читать далее »
  • ХабрахабрФото Как мы учились рисовать тексты на Canvas

    Как мы учились рисовать тексты на Canvas

    Мы разрабатываем платформу для визуальной коллаборации. Для отображения контента мы используем Canvas: на нём рисуется всё, в том числе тексты. Готового решения для отображения текстов на Canvas один в один как в html не существует. За несколько лет работы с отрисовкой текстов мы изучили разные варианты реализации, набили много шишек и, кажется, нашли хорошее решение. Расскажу в статье, как мы…

    Читать далее »
  • ХабрахабрФото Отказоустойчивый кластер PostgreSQL + Patroni. Опыт внедрения

    Отказоустойчивый кластер PostgreSQL + Patroni. Опыт внедрения

    В статье я расскажу, как мы подошли к вопросу отказоустойчивости PostgreSQL, почему это стало для нас важно и что в итоге получилось. Сервера находятся в Amazone в одном регионе Ирландии: в работе постоянно 100+ различных серверов, из них почти 50 — с базами данных. У нас высоконагруженный сервис: 2,5 млн пользователей по всему миру, 50К+ активных пользователей каждый день. При…

    Читать далее »


Кнопка «Наверх»