SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Как 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
Заключение
Текущий подход
Новый тренд

Mais conteúdo relacionado

Mais procurados

AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеМихаил Кононов
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementCEE-SEC(R)
 
Как выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаКак выбирать задачи, полезные для продукта
Как выбирать задачи, полезные для продуктаSQALab
 
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеCUSTIS
 
Никита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗНикита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗDrupalSPB
 
Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...
Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...
Людмила Гулик “Организация бизнес-процесса работы с требованиями в продуктово...Dakiry
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...Yury Vetrov
 
Управление изменениями в сложных информационных системах
 Управление изменениями в сложных информационных системах  Управление изменениями в сложных информационных системах
Управление изменениями в сложных информационных системах Valery Bychkov
 
от каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по Agileот каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по AgileAlexey Deryushkin
 
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)
Денис Тучин - Болезни Agile ретроспектив и как их лечить (2016 AgileTour.By)Denis Tuchin
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTSQALab
 
Vblock: как должна выглядеть конвергентная инфраструктура современного ЦОД
Vblock: как должна выглядеть конвергентная инфраструктура современного ЦОДVblock: как должна выглядеть конвергентная инфраструктура современного ЦОД
Vblock: как должна выглядеть конвергентная инфраструктура современного ЦОДCisco Russia
 
Разделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеРазделение ответственности в заказной разработке
Разделение ответственности в заказной разработкеSQALab
 
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииАнтон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииScrumTrek
 
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...ScrumTrek
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsScrumTrek
 
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместеМаксим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместеScrumTrek
 
Software craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelineSoftware craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelinePavel Veinik
 

Mais procurados (19)

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

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

технологии внедрения корпоративного портала с практическими примерами внедрений
технологии внедрения корпоративного портала с практическими примерами внедренийтехнологии внедрения корпоративного портала с практическими примерами внедрений
технологии внедрения корпоративного портала с практическими примерами внедренийTatjana Ostretsova
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»DataArt
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARESQALab
 
Бизнес-анализ: грани разумного
Бизнес-анализ: грани разумногоБизнес-анализ: грани разумного
Бизнес-анализ: грани разумногоSQALab
 
5 alina petrenko - key requirements elicitation during the first contact wi...
5   alina petrenko - key requirements elicitation during the first contact wi...5   alina petrenko - key requirements elicitation during the first contact wi...
5 alina petrenko - key requirements elicitation during the first contact wi...Ievgenii Katsan
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 
Анализ больших данных с помощью инструментов Google
Анализ больших данных с помощью инструментов GoogleАнализ больших данных с помощью инструментов Google
Анализ больших данных с помощью инструментов GoogleNetpeak
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...tabtabus
 
Как спроектировать систему сквозной аналитики
Как спроектировать систему сквозной аналитикиКак спроектировать систему сквозной аналитики
Как спроектировать систему сквозной аналитикиMariia Bocheva
 
Вебинар: ИТ-проекты глазами Заказчика
Вебинар: ИТ-проекты глазами ЗаказчикаВебинар: ИТ-проекты глазами Заказчика
Вебинар: ИТ-проекты глазами ЗаказчикаАлександр Кольцов
 
Метрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцахМетрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцахSQALab
 
Сергей Слесарев, Отличия в работе тестировщика в software-development компани...
Сергей Слесарев, Отличия в работе тестировщика в software-development компани...Сергей Слесарев, Отличия в работе тестировщика в software-development компани...
Сергей Слесарев, Отличия в работе тестировщика в software-development компани...SQADays_2009_Piter
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 

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

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

Mais de Ontico

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

Mais de Ontico (20)

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