К основному содержимому
Логотип ArchDays 2019
ArchDays · 22 ноября 2019

«Мы делили апельсин» или эволюция за 3 года

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

/ Эволюция веба · ArchDays 2019

Содержание слайдов

  1. 1. «Мы делили апельсин» или эволюция за 3 года

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

  2. 2. О чём поговорим

    Acquisition Department и процесс

    Frontend: монолит → микрофронтенды

    CMS: шаблоны → редактор блоков

    Персонализация: A/B → ML, и уроки

  3. 3. 01. Acquisition Department

    Что у нас под капотом

  4. 4. Что входит в привлечение

    Публичный веб и системы вокруг него · ~50 разработчиков

    Неавторизованный веб флагманов

    Безрелизная CMS для веба и мобильных

    Персонализация и A/B-тесты

    Автоматизация каналов привлечения

  5. 5. 02. Процесс рендеринга

    Что происходит между запросом пользователя и показом страницы

  6. 6. End-to-end pipeline

    User → LB → Frontend → CMS → Personalization → DataStore

  7. 7. Три системы менялись сильнее всего

    На них и сфокусируемся

  8. 8. 03. Frontend Story

    Story #1 — от монолита к микрофронтендам

  9. 9. Frontend в 2016

    Стартовая точка истории

  10. 10. Step #0 — войти в тему

    Прежде чем что-то менять — понять

    Познакомиться с командой

    Погрузиться в процесс разработки

    Понять боли команды и стейкхолдеров

    Сформулировать тактический план

  11. 11. Step #1 — выделить компоненты

    Из монолита — к компонентной модели

    Разделить ответственности

    Минимизировать связность

    Зона ответственности на команду

    Согласовать контракты

  12. 12. Step #2 — сделать платформу

    Чтобы компоненты катились независимо

  13. 13. Step #3 — масштабировать команды

    Когда платформа есть — растим продуктовые команды

    Команда владеет своими страницами

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

    Релизы независимые, много раз в день

    Контракты через API и события

  14. 14. 04. CMS Story

    Story #2 — от шаблонов к редактору блоков

  15. 15. CMS в начале пути

    Как было устроено редактирование контента

  16. 16. Редактор блоков

    Безрелизное управление контентом

    Страницы из переиспользуемых блоков

    Контентщик собирает как лего

    Превью и публикация без инженеров

    Версионирование и откат

  17. 17. Маркетинг перестал быть горлышком

    Что дал редактор блоков

    Time-to-market лендингов: дни → часы

    Инженеры — на продуктовые задачи

    Контентщики получили автономию

    Консистентность через набор блоков

  18. 18. 05. Personalization Story

    Story #3 — от A/B-тестов к ML-предикторам

  19. 19. Персонализация в начале

    Простые правила и A/B-тесты

    Вариации через JSON

    A/B: контроль + 1–2 вариации

    Сегментация по простым атрибутам

    Анализ — руками аналитика

  20. 20. VW-предиктор

    Vowpal Wabbit для онлайн-выбора лучшей вариации

    Многорукий бандит вместо A/B

    Онлайн-обновление весов вариаций

    5+ вариаций одновременно

    Трафик автоматически на лучшие

  21. 21. Платформа для экспериментов

    68+ активных тестов одновременно

  22. 22. 06. Уроки за 3 года

    Что мы поняли про эволюцию архитектуры

  23. 23. Главные выводы

    Принципы, которые работают

    Эволюция важнее революции — шагами

    Платформа окупается с 5+ команд

    Самообслуживание — ключ к скорости

    Контракты важнее общего кода

    метрики и эксперименты — встроены, а не плагин

  24. 24. Ссылки и материалы

    Conway's Law — Melvin Conway (1968)

    Team Topologies — Skelton, Pais (2019)

    Domain-Driven Design — Eric Evans (2003)

    Accelerate / DORA + Online Controlled Experiments

  25. 25. Спасибо!

    polomodov.tech

    Все слайды и ссылки — в Telegram-канале

    Александр Поломодов, Технический директор и Fellow, Т-Технологии

    @book_cube