Денис Усачёв, Сбердевайсы. Как мы один pet-project масштабировали
Во время работы над сложными проектами, например, такими как виртуальные ассистенты, возникают нетиповые задачи, для решения которых нет подходящего инструмента или фреймворка. Иногда такие задачи кажутся маленькими и незначительными, поэтому один разработчик-энтузиаст за два дня пишет на коленке маленький Python сервис и делится им с коллегами. Но как быть, если маленький наколенный проект с 2 RPS, предназначенный для использования несколькими людьми, выстреливает, и его накрывает волна фича реквестов и пользователей из десятков команд? В своём докладе я расскажу, как развивался наш внутренний инструмент UnionPortal, предназначенный для поддержки NLP задач, про его эволюцию, начиная с маленького наколенного проекта и заканчивая большим отказоустойчивым сервисом со всеми правилами хорошего тона enterprise сервиса. Мы затронем такие интересные вопросы как масштабирование, бесшовный вывод из и ввод в эксплуатацию, сокращение стоимости разработки и внедрение единого архитектурного стандарта. План Предпосылки к появлению сервиса. Шаг ноль — делаем прототип UnionPortal 1.0 одним человеком на Streamlit. Шаг первый — замена интерфейса и разделение фронта и бэка. Отказываемся от генерации фронта Python кодом Повышаем UI и UX Внедряем метрики и доказываем значимость сервиса Шаг второй — увеличиваем пропускную способность и отказоустойчивость. Меняем архитектуру. Переходим от одного сервиса к группе сервисов Удешевляем железо — отказываемся от GPU. Делаем на базе SmartApp Framework новый - UnionPlugin Framework Бесшовно заменяем UnionPortal 1.0 на UnionPortal 2.0 Шаг третий — добавляем джентльменский набор в виде ELK, Prometheus и Grafana. Доклад рассчитан на разработчиков и руководителей разработки. Слушатели узнают: Как доказывать значимость pet-project для компании Как масштабировать "сырые" проекты Как можно экономить время и силы на разработке
Название:
Денис Усачёв, Сбердевайсы. Как мы один pet-project масштабировали
Категория:
Разное