SlideShare a Scribd company logo
Как Mail.Ru и AT Consulting
перевели профили абонентов
Beeline на Tarantool
Андрей Дроздов, Mail.Ru Group
Юлия Гейниш, AT Consulting
Наш клиент
миллионов активных
абонентов
58+ 270+
тысяч корпоративных
клиентов
300+
информационных систем
и приложений
500+
различных продуктов и услуг
1000+
новых проектов в год
Цель клиента
•Unified customer profile
•Общий API для всех систем
•Контроль нагрузок на источники
•Версионирование данных
•Входящая нагрузка 300000 TPS
Боль клиента
Решение
Зачем мы объединились?
•Существующие решения не имели требуемого
функционала или не обеспечивали нагрузку
•Опыт создания highload систем
•Опыт внедрения решений в Enterprise
•Разделение рисков и работ
Как поделили задачи?
• Сбор бизнес-требований
• Совместное ТЗ и
архитектура
• Разработка data-ландшафта
• Разработка discovery service
• Тестирование бизнес
логики
• Запуск системы в production
• Сбор технических требований
• Совместное ТЗ и архитектура
• Разработка платформы
• Кастомизация open source
решения
• QA и решение технических
проблем
• Запуск системы в production
Влияние на результат
• При запуске потребовались доработки discovery service и
сервиса авторизации
• Вывод: ключевую инфраструктуру нужно разрабатывать
совместно
Архитектура системы
IVR/SMS/USSD Social Nets WidgetsDesktops / WEBs Mobile Devices In-door digital Partners
DIGITAL
CHANNELS
Step 1Step 2
Источники данных
• Биллинг: абонентские данные
• Препейд биллинг: абонентские данные
• Регионы: принадлежность номера к региону
• Продуктовый каталог: информация о продуктах
• Личный кабинет: доступные услуги и тарифные планы
• Платформа RBT: задолженность по услуге RBT
• Возможно подключение новых источников
Все пошло не так
• Для преобразования, «на лету», native данных в SID
реализован особый коннектор, при этом клиентский
интерфейс остался единым
Синхронизаторы
• Слишком медленные источники данных оповещают об
изменениях через синхронизатор
Инфраструктура
• Для поддержания справочника в актуальном состоянии
организована интеграция с системой мониторинга, для
постоянного контроля доступности сервисов.
Ядро платформы
Версионирование данных
Лента сообщений
Проблемы мышления
Пример задачи
• «Добрый день, коллеги. Уже несколько часов
наблюдаем медленные ответы клиентам от
платформы, приоритет КРИТИЧЕСКИЙ»
• Начали искать проблему в коде платформы,
нужно было диагностировать все решение
Пример задачи
•«Добрый день, коллеги. Просьба прислать
ваши тест кейсы для анализа и передачи
клиенту»
•Ожидали документы, получили код
Почему так?
• В интернет-компаниях другая модель управления рисками
• В Enterprise компаниях начинают копать проблему со всех
сторон и иногда описывают проблему без полной
диагностики
• Интегратор работает с множеством продуктов и времени
проводить диагностику во всех продуктах сразу может не
быть (SLA)
• Вендор мыслит в терминах продукта
• Интегратор мыслит в терминах решения
Правильный пример
•«В решении наблюдаются проблемы c
производительностью, нужно
подтвердить, что компоненты платформы
не являются источником. Просим
подключить ваших экспертов к
диагностике решения»
Разница в мышлении
• Делаем решение, а не
продукт
• Минимизируем доработки
смежных систем
• Приоритет: time to market
• Меньше дефектов - лучше
• Делаем продукт, а не
решение
• Изменяем смежные системы
• Приоритет: качество и
производительность
• Больше найденных
дефектов – лучше
Хотелки
• Клиент:
• Больше функциональности в том же контракте
• Интегратор:
• Поддержка решения и управляемость
• Вендор:
• Качество и возможность создания универсальных
компонент
Доработка ключевого компонента
•За месяц до запуска заказчик попросил
изменить логику работы с правами, что
повлекло доработку сервиса авторизации и
платформы
Влияние на результат
•Изменения могли существенно повлиять
на сроки проекта
•Обе команды должны были доработать
свои компоненты
•В тестово-промышленную эксплуатацию
выходили с заглушкой
Доработка платформы
• Для корректной работы с сервисами биллинга
нужно было добавить возможность обогащения
данными из других источников
Влияние на результат
• Влияние такой доработки на производительность и
общее поведение системы не было проработано и
протестировано в полном объеме
• После запуска в продакшн пришлось столкнуться с
рядом проблем
Чеклист вендора
• Скорость реакции/решения вопросов проблем 2 и 3
уровня поддержки
• Доступность и активность в консультациях по
развитию
• Готовность делиться экспертизой
• Возможность кастомизации продукта
• Готовность к постоянной коммуникации со всеми
участниками процесса
Чеклист интегратора
• Умение переводить с языка клиента на язык вендора
• Готовность к решению спорных и конфликтных
ситуаций
• Опыт координации рабочего процесса команд
• Готовность дать вендору возможность
сконцентрироваться на технологиях
• Готовность перенимать новые знания и менять
подходы к разработке
Передача знаний
• Опыт внедрения решений
виртуализации данных и
Tarantool
• Lua
• Avro schema
• Эксплуатация Tarantool
• IT процессы в телекомах
• Подходы к работе в Enterprise
• Подход к эксплуатации
решений в Enterprise
• Умение внедряться в бизнес-
процессы других компаний
Влияние на результат
• Поддержка 2 уровня выполняется командой AT Consulting.
Команда DevOps в AT Consulting автоматизировала процесс
эксплуатации решения
• Настройки платформы, добавление новых источников и новых
версий схем данных выполняются без привлечения вендора.
• Mail.Ru получила огромный опыт работы в Enterprise и
возможности для привлечения новых клиентов
• В команде Tarantool сформировался отдел Solution Engineering
для кастомизации Open Sourсe продукта под Enterprise
заказчиков
Почему важен прототип?
• Возможность пробовать любые идеи и проверять их
за несколько минут
• Большая часть автоматизации от прототипа пошла в
боевую версию без изменений
• MVP лучше прототипа «на выброс»
• Вся разработка строилась итерациями от прототипа
Как было устроено тестирование?
Как было устроено тестирование?
Как было устроено тестирование?
Как было устроено тестирование?
С чем столкнулись после запуска?
•Чем раньше был предложен и продуман тот
или иной функционал, тем меньше
проблем возникает после запуска
•И наоборот…
Источники данных
• Проблема:
• Из-за возможности выполнять запросы во внешние
источники, проявлялись проблемы с пиковой
производительностью
• Решение:
• Мониторинг всех компонент системы, анализ и выявление
узких мест
• Мораль:
• Без хорошего мониторинга мы бы не решили проблему
• Как можно раньше нужно делать feature freeze
Крэши отдельных узлов кластера
•Проблема:
•Более свежая версия tarantool могла в редких случаях приводить
к падению узла
•Решение:
•Отказоустойчивость внутри ЦОД
•Реакция команды эксплуатации AT Consulting
•Предоставление максимально подробного описания проблемы
•Мораль:
•Enterprise не должен отказываться от более современных и
выгодных бизнесу решений, но это требует детальной
проработки архитектуры
Итоги
✓В production с ноября 2016 года
✓Загружено ~100 млн абонентов
✓Подключено 6 источников
✓Производительность платформы: 300000 tps
Заключение
Текущий подход
Новый тренд

More Related Content

PDF
Agile Process Wizard или как собрать Agile методологию под конкретный проект
PPTX
Ответственность за качество в разных ИТ-проектах
PPT
Процесс тестирования в условиях неявных требований
PPTX
SEMAT Agile Kitchen
PPTX
Путь тестировщика: Расту или деградирую?
PPTX
Методологии разработки ПО
PPTX
Моделирование бизнес-процессов: методы и инструменты
PPTX
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
Agile Process Wizard или как собрать Agile методологию под конкретный проект
Ответственность за качество в разных ИТ-проектах
Процесс тестирования в условиях неявных требований
SEMAT Agile Kitchen
Путь тестировщика: Расту или деградирую?
Методологии разработки ПО
Моделирование бизнес-процессов: методы и инструменты
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!

What's hot (19)

PDF
AgileDays 2016. Внедрение Agile в Банке
PDF
Введение в performance management
PPTX
Как выбирать задачи, полезные для продукта
PDF
Разделение ответственности в заказной разработке
PPTX
Никита Ремизов - Введение в разработку ТЗ
PPTX
Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...
PPT
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
PPT
Управление изменениями в сложных информационных системах
PPTX
от каждого по потребностям, каждому — по Agile
PDF
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
PPT
Оценка методологии автоматизации - MBT
PDF
Vblock: как должна выглядеть конвергентная инфраструктура современного ЦОД
PPTX
Разделение ответственности в заказной разработке
PPT
Quality assurance
PPT
Антон Немчинов, Применимость SAFe в крупной финансовой организации
PPTX
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
PDF
Евгений Кривошеев. Beyond DevOps
PPTX
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
PPTX
Software craftsmanship 16: online building ml pipeline
AgileDays 2016. Внедрение Agile в Банке
Введение в performance management
Как выбирать задачи, полезные для продукта
Разделение ответственности в заказной разработке
Никита Ремизов - Введение в разработку ТЗ
Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Управление изменениями в сложных информационных системах
от каждого по потребностям, каждому — по Agile
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Оценка методологии автоматизации - MBT
Vblock: как должна выглядеть конвергентная инфраструктура современного ЦОД
Разделение ответственности в заказной разработке
Quality assurance
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
Евгений Кривошеев. Beyond DevOps
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
Software craftsmanship 16: online building ml pipeline
Ad

Similar to Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool / А.Дроздов, Ю.Гейниш (20)

PPT
технологии внедрения корпоративного портала с практическими примерами внедрений
PPTX
IT-шная история игрушек или feature-driven тестирование в действии
PPTX
Роман Кокин «Организация тестирования в больших командах»
PDF
Проектирование программных систем. Занятие 4
PPT
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
PPT
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
PPTX
Бизнес-анализ: грани разумного
PDF
5 alina petrenko - key requirements elicitation during the first contact wi...
PDF
PPTX
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
PPTX
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
PDF
Анализ больших данных с помощью инструментов Google
PPTX
Организация эффективной работы команды при разработке и поддержке сложной инф...
PPTX
Как спроектировать систему сквозной аналитики
PDF
Презентация Экспресс42 DevOps .pdf
PPT
Вебинар: ИТ-проекты глазами Заказчика
PPTX
Метрики автоматизированного тестирования на пальцах
PPTX
Облачные сервисы Майкрософт и возможности для партнеров, Azure University
PPT
Сергей Слесарев, Отличия в работе тестировщика в software-development компани...
PPT
Основные конкурентные преимущества системы электронного документооборота Naum...
технологии внедрения корпоративного портала с практическими примерами внедрений
IT-шная история игрушек или feature-driven тестирование в действии
Роман Кокин «Организация тестирования в больших командах»
Проектирование программных систем. Занятие 4
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Бизнес-анализ: грани разумного
5 alina petrenko - key requirements elicitation during the first contact wi...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
Анализ больших данных с помощью инструментов Google
Организация эффективной работы команды при разработке и поддержке сложной инф...
Как спроектировать систему сквозной аналитики
Презентация Экспресс42 DevOps .pdf
Вебинар: ИТ-проекты глазами Заказчика
Метрики автоматизированного тестирования на пальцах
Облачные сервисы Майкрософт и возможности для партнеров, Azure University
Сергей Слесарев, Отличия в работе тестировщика в software-development компани...
Основные конкурентные преимущества системы электронного документооборота Naum...
Ad

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool / А.Дроздов, Ю.Гейниш

  • 1. Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool Андрей Дроздов, Mail.Ru Group Юлия Гейниш, AT Consulting
  • 2. Наш клиент миллионов активных абонентов 58+ 270+ тысяч корпоративных клиентов 300+ информационных систем и приложений 500+ различных продуктов и услуг 1000+ новых проектов в год
  • 3. Цель клиента •Unified customer profile •Общий API для всех систем •Контроль нагрузок на источники •Версионирование данных •Входящая нагрузка 300000 TPS
  • 6. Зачем мы объединились? •Существующие решения не имели требуемого функционала или не обеспечивали нагрузку •Опыт создания highload систем •Опыт внедрения решений в Enterprise •Разделение рисков и работ
  • 7. Как поделили задачи? • Сбор бизнес-требований • Совместное ТЗ и архитектура • Разработка data-ландшафта • Разработка discovery service • Тестирование бизнес логики • Запуск системы в production • Сбор технических требований • Совместное ТЗ и архитектура • Разработка платформы • Кастомизация open source решения • QA и решение технических проблем • Запуск системы в production
  • 8. Влияние на результат • При запуске потребовались доработки discovery service и сервиса авторизации • Вывод: ключевую инфраструктуру нужно разрабатывать совместно
  • 9. Архитектура системы IVR/SMS/USSD Social Nets WidgetsDesktops / WEBs Mobile Devices In-door digital Partners DIGITAL CHANNELS Step 1Step 2
  • 10. Источники данных • Биллинг: абонентские данные • Препейд биллинг: абонентские данные • Регионы: принадлежность номера к региону • Продуктовый каталог: информация о продуктах • Личный кабинет: доступные услуги и тарифные планы • Платформа RBT: задолженность по услуге RBT • Возможно подключение новых источников
  • 11. Все пошло не так • Для преобразования, «на лету», native данных в SID реализован особый коннектор, при этом клиентский интерфейс остался единым
  • 12. Синхронизаторы • Слишком медленные источники данных оповещают об изменениях через синхронизатор
  • 13. Инфраструктура • Для поддержания справочника в актуальном состоянии организована интеграция с системой мониторинга, для постоянного контроля доступности сервисов.
  • 18. Пример задачи • «Добрый день, коллеги. Уже несколько часов наблюдаем медленные ответы клиентам от платформы, приоритет КРИТИЧЕСКИЙ» • Начали искать проблему в коде платформы, нужно было диагностировать все решение
  • 19. Пример задачи •«Добрый день, коллеги. Просьба прислать ваши тест кейсы для анализа и передачи клиенту» •Ожидали документы, получили код
  • 20. Почему так? • В интернет-компаниях другая модель управления рисками • В Enterprise компаниях начинают копать проблему со всех сторон и иногда описывают проблему без полной диагностики • Интегратор работает с множеством продуктов и времени проводить диагностику во всех продуктах сразу может не быть (SLA) • Вендор мыслит в терминах продукта • Интегратор мыслит в терминах решения
  • 21. Правильный пример •«В решении наблюдаются проблемы c производительностью, нужно подтвердить, что компоненты платформы не являются источником. Просим подключить ваших экспертов к диагностике решения»
  • 22. Разница в мышлении • Делаем решение, а не продукт • Минимизируем доработки смежных систем • Приоритет: time to market • Меньше дефектов - лучше • Делаем продукт, а не решение • Изменяем смежные системы • Приоритет: качество и производительность • Больше найденных дефектов – лучше
  • 23. Хотелки • Клиент: • Больше функциональности в том же контракте • Интегратор: • Поддержка решения и управляемость • Вендор: • Качество и возможность создания универсальных компонент
  • 24. Доработка ключевого компонента •За месяц до запуска заказчик попросил изменить логику работы с правами, что повлекло доработку сервиса авторизации и платформы
  • 25. Влияние на результат •Изменения могли существенно повлиять на сроки проекта •Обе команды должны были доработать свои компоненты •В тестово-промышленную эксплуатацию выходили с заглушкой
  • 26. Доработка платформы • Для корректной работы с сервисами биллинга нужно было добавить возможность обогащения данными из других источников
  • 27. Влияние на результат • Влияние такой доработки на производительность и общее поведение системы не было проработано и протестировано в полном объеме • После запуска в продакшн пришлось столкнуться с рядом проблем
  • 28. Чеклист вендора • Скорость реакции/решения вопросов проблем 2 и 3 уровня поддержки • Доступность и активность в консультациях по развитию • Готовность делиться экспертизой • Возможность кастомизации продукта • Готовность к постоянной коммуникации со всеми участниками процесса
  • 29. Чеклист интегратора • Умение переводить с языка клиента на язык вендора • Готовность к решению спорных и конфликтных ситуаций • Опыт координации рабочего процесса команд • Готовность дать вендору возможность сконцентрироваться на технологиях • Готовность перенимать новые знания и менять подходы к разработке
  • 30. Передача знаний • Опыт внедрения решений виртуализации данных и Tarantool • Lua • Avro schema • Эксплуатация Tarantool • IT процессы в телекомах • Подходы к работе в Enterprise • Подход к эксплуатации решений в Enterprise • Умение внедряться в бизнес- процессы других компаний
  • 31. Влияние на результат • Поддержка 2 уровня выполняется командой AT Consulting. Команда DevOps в AT Consulting автоматизировала процесс эксплуатации решения • Настройки платформы, добавление новых источников и новых версий схем данных выполняются без привлечения вендора. • Mail.Ru получила огромный опыт работы в Enterprise и возможности для привлечения новых клиентов • В команде Tarantool сформировался отдел Solution Engineering для кастомизации Open Sourсe продукта под Enterprise заказчиков
  • 32. Почему важен прототип? • Возможность пробовать любые идеи и проверять их за несколько минут • Большая часть автоматизации от прототипа пошла в боевую версию без изменений • MVP лучше прототипа «на выброс» • Вся разработка строилась итерациями от прототипа
  • 33. Как было устроено тестирование?
  • 34. Как было устроено тестирование?
  • 35. Как было устроено тестирование?
  • 36. Как было устроено тестирование?
  • 37. С чем столкнулись после запуска? •Чем раньше был предложен и продуман тот или иной функционал, тем меньше проблем возникает после запуска •И наоборот…
  • 38. Источники данных • Проблема: • Из-за возможности выполнять запросы во внешние источники, проявлялись проблемы с пиковой производительностью • Решение: • Мониторинг всех компонент системы, анализ и выявление узких мест • Мораль: • Без хорошего мониторинга мы бы не решили проблему • Как можно раньше нужно делать feature freeze
  • 39. Крэши отдельных узлов кластера •Проблема: •Более свежая версия tarantool могла в редких случаях приводить к падению узла •Решение: •Отказоустойчивость внутри ЦОД •Реакция команды эксплуатации AT Consulting •Предоставление максимально подробного описания проблемы •Мораль: •Enterprise не должен отказываться от более современных и выгодных бизнесу решений, но это требует детальной проработки архитектуры
  • 40. Итоги ✓В production с ноября 2016 года ✓Загружено ~100 млн абонентов ✓Подключено 6 источников ✓Производительность платформы: 300000 tps