Привет! Меня зовут Алексей Карпов, я DevOps-инженер (MLOps) отдела ML разработки в OKKO. Хочу поделиться опытом в работе с Apache Airflow в связке с Kubernetes. Расскажу, как установить Airflow в Kubernetes, настроить автоматическую синхронизацию DAG'ов с удалённым репозиторием, а также как отладить его работу. Всё это — на примере запуска простейшего DAGа.
Компания Okko временно не ведёт блог на Хабре
Backend Client как универсальный инструмент для UI-автотестов
Всем привет!
В этой статье я бы хотел поделиться инструментом, который мы в Okko используем для UI-автотестов для клиентских приложений платформы Android.
Обычно, когда в компаниях начинают задумываться о UI-тестах, первой вехой такой автоматизации являются чистые e2e-тесты. Это уже хороший результат, но, к сожалению, как только наше покрытие начинает выходить за рамки того, что можно сделать только через клиент, начинаются большие проблемы.
Также по мере расширения покрытия мы начинаем сталкиваться с проблемой времени выполнения тестов, которое может легко составлять и несколько часов, поскольку для каждого кейса мы должны заново прокликивать на клиенте все предусловия для какой-либо из проверок.
И соответственно, чем больше мы этим занимаемся, тем выше вероятность падения UI-тестов, поскольку в идеальном мире взаимодействия с клиентом должно быть ровно столько, сколько необходимо для выполнения теста, а у нас же получается всё наоборот. Поэтому после того, как такие тесты уже написаны, все начинают задумываться, а не начать ли применять к фронтовым тестам что-нибудь из бэкенда. Мы столкнулись с этой же проблемой.
В статье я расскажу, как можно выйти из этого положения, причем данный опыт можно применить и превентивно, еще до того, как будут написаны ваши первые тесты.
Динамические типы с GraphQL
Реализация динамических типов на GraphQL выглядит довольно естественно. Однако, есть определенные сложности.
Как правила линтинга влияют на архитектуру приложения
В eslint есть одно простое, но мощное правило, которое поможет вам в поддержании архитектуры приложения.
Секретная миссия: как «Агенты Okko» помогают создавать лучший сервис
Как это работает?
В апреле 2020 года под руководством директора по сервису и клиентскому опыту Дарьи Юрасовой стартовал проект «Агенты Okko». Это сообщество пользователей, цель которого – сделать сервис лучше, привлекая действующих пользователей Okko к тестированию продукта.
Сообщество помогает находить проблемы удобства использования и выявлять технические недочеты платформы. Для этого предусмотрено 2 направления тестирования – юзабилити и техническое.
«Агенты Okko» тестируют сервис в различных форматах: онлайн-опросы, удаленные немодерируемые тесты, индивидуальные интервью и другие.
Как пользователи становятся Агентами?
Пользователи Okko получают приглашение в сообщество со ссылкой на анкету. При отборе учитываются все данные пользователя, начиная от опыта использования продукта до демографических параметров. Эта информация используется для формирования оптимальной выборки для каждого исследования.
Пользователи, прошедшие отбор, добавляются в сообщество, в котором они делятся опытом, общаются и задают вопросы по сервису. Приглашения на исследования участники получают по почте или с помощью каналов группы в Telegram и WhatsApp.
Позиция инженерной команды Okko по событиям, связанным с Nginx
Как вы знаете, в прошедшие два года у Окко сменились акционеры, однако, до сих пор это не влияло на нашу работу, так как акционеры предоставляли нам свободу действий. История с NGINX стала полной неожиданностью для всех нас. Порция ненависти досталась заодно и нам, как онлайн-сервису, входящему теперь в Rambler Group.
Тем не менее, увольняться и бросать наш сервис, который мы строили без малого 10 лет, мы не хотим, и собираемся продолжать развивать его дальше. Причина этого — наша ответственность перед миллионами простых пользователей сервиса, 90% которых не знает даже, что такое веб-сервис, и наше огромное желание показывать им лучший футбол и фильмы.
Как уже сообщалось в СМИ, до конца года ожидается разбор ситуации среди акционеров, а мы пока с искренним волнением и болью следим за развитием ситуации и рассчитываем на благополучный ее исход во благо всего IT-сообщества. Искренне надеемся, что вы разберетесь в ситуации и не будете вымещать на нас и нашем сервисе Okko свою злобу и раздражение.
Автоматизация заготовки постеров онлайн-кинотеатра
Особенности тестирования веб-приложения для видеосервиса
Услуги потокового вещания по запросу (VOD) стали неотъемлемой частью нашей повседневной жизни. Video on Demand — это система доставки видеоконтента, которая позволяет зрителям выбирать контент (видео) и просматривать его в удобное время (по запросу) на любом устройстве, предназначенном для воспроизведения видео (веб, планшеты, смартфоны, игровые приставки и т. д.).
В настоящее время значительная доля Интернет-трафика тратит свои данные на просмотр аудио- и видеоконтента. С ростом скорости передачи данных потоковая передача мультимедиа стала основным способом распространения информации среди пользователей.
Обеспечение бесперебойной работы вашего медиаконтента имеет решающее значение. Качество воспроизведения видео является существенным фактором общего пользовательского опыта интеллектуальных устройств.
В данной статье поговорим об особенностях тестирования веб-приложений для видеосервиса, в частности, остановимся на особенностях тестирования плеера.
Рекомендации в Okko: как заработать сотни миллионов, перемножив пару матриц
Знакома ли вам ситуация, когда на выбор фильма вы тратите гигантское количество времени, сопоставимое со временем самого просмотра? Для пользователей онлайн-кинотеатров это частая проблема, а для самих кинотеатров — упущенная прибыль.
К счастью, у нас есть Rekko — система персональных рекомендаций, которая уже год успешно помогает пользователям Okko выбирать фильмы и сериалы из более чем десяти тысяч единиц контента. В статье я расскажу вам как она устроена с алгоритмической и технической точек зрения, как мы подходим к её разработке и как оцениваем результаты. Ну и про сами результаты годового A/B теста тоже расскажу.
Сюрпризы планировщика запросов в БД PostgreSQL
Эти базы данных бесплатны, благодаря SQL удобно интегрируются с остальными компонентами в системе, они популярны и с ними умеют работать большинство разработчиков и аналитиков. Нагрузку (трафик и объемы) они могут переварить достаточно объемную, чтобы спокойно продержаться до того момента, когда компания сможет позволить себе более сложные (и дорогие) решения для аналитики и отчетов.
Rekko Challenge
Сегодня мы запускаем Rekko Challenge 2019 — соревнование по машинному обучению от онлайн-кинотеатра Okko.
Мы предлагаем вам построить рекомендательную систему на реальных данных одного из крупнейших российских онлайн-кинотеатров. Уверены, что эта задача будет интересна и новичкам, и опытным специалистам. Мы постарались сохранить максимальный простор для творчества, при этом не перегружая вас гигабайтными датасетами с сотнями предварительно посчитанных признаков.
Подробнее про Okko, задачу, данные, призы и правила — ниже.
Вы и Брэд Питт похожи на 99%
Мы в отделе аналитики онлайн-кинотеатра Okko любим как можно сильнее автоматизировать подсчёты сборов фильмов Александра Невского, а в освободившееся время учиться новому и реализовывать классные штуки, которые почему-то обычно выливаются в ботов для Телеграма. К примеру, перед началом чемпионата мира по футболу 2018 мы выкатили в рабочий чат бота, который собирал ставки на распределение итоговых мест, а после финала подсчитал результаты по заранее придуманной метрике и определил победителей. Хорватию в четвёрку не поставил никто.
Недавнее же свободное от составления ТОП-10 российских комедий время мы посвятили созданию бота, который находит знаменитость, на которую пользователь больше всего похож лицом. В рабочем чате идею все настолько оценили, что мы решили сделать бота общедоступным. В этой статье мы кратко вспомним теорию, расскажем о создании нашего бота и о том, как сделать такого самому.