Insticator SSP Revamp
Тем, кто зашел в блог компании, чаще всего хочется узнать подробности о том, как проходят рабочие процессы, как работается участникам этих процессов, хочется узнать больше о проектах компании. Некоторые читатели, возможно, даже примеряют на себя роль участника проекта, чтобы проверить, хватает ли собственных знаний и умений для того, чтобы с успехом завершить подобный проект.

Итак, мы хотим в этой статье подробнее рассказать о наших проектах. И начнем серию статей с проекта Insticator SSP Revamp.

Если объяснить совсем коротко, то Insticator — компания, занимающаяся рекламными технологиями. Она предлагает интересные продукты, которые помогают издателям повысить вовлеченность с помощью интерактивного контента. Пример такого контента — всем знакомые опросы и викторины. Размещая рекламу вместе с этими опросами, Insticator увеличивает доход своих клиентов-издателей.
Что именно делает компания Insticator?
Она предоставляет интернет-издателям услуги монетизации, включая создание собственных интерактивных рекламных блоков в форме викторин. Компания использует хедер-торги (prebid.js) и в настоящее время создает Supply-Side Platform (SSP) для продажи объявлений партнерам по спросу. У Insticator есть MVP, созданный совместно с предыдущим производственным поставщиком.
Что мы сделали?
Supply-Side Platform (SSP) определяет устройства и пользователей, выполняет геолокацию и фильтрацию трафика, и перенаправляет все ставки на prebid.js, но при этом не может обрабатывать больше пары сотен запросов в секунду.

Мы добавили новые функции: систему мониторинга и отчетности, сжатие трафика, тег RON и ставки ttl; интегрировали с несколькими дополнительными источниками рекламы (DSP), один из которых — BidSwitch. Также мы оптимизировали производительность, использование бессерверных заданий по созданию отчетов ETL с помощью AWS Glue; а также были оптимизированы ресурсы EC2 и RDS.
Чем нам был интересен этот проект?
1
Мы настроили цикл Tuned Node.js для обработки 920 запросов в секунду с 4-аппаратными экземплярами.
2
Мы внедрили элемент измеримости. В системе уже использовались современные инструменты DevOps, но были некоторые неувязки, например, скрипты Terraform уже содержали взаимосвязанные скрипты, которые мы использовали в других проектах, также возникали проблемы управления зависимостями. Мы их исправили. Мы наладили процесс доставки — от написания кода и автоматических тестов, до развертывание для подготовки и производства. Централизованный сбор логов Elastic / Kibana имел решающее значение для устранения проблем в приложении, поскольку оно размещалось в нескольких модулях K8s на нескольких экземплярах EC2.

Элемент измеримости нужен был для показателей приложения: финансовые KPI и контрольные эксперименты с увеличением трафика в режиме реального времени; и для аппаратных показателей: потребление ЦП / памяти для быстрого определения bottleneck в производстве.
3
Мы настроили бессерверные технологии и контейнеризацию. Мы использовали Kubernetes для управления трафиком. Это предоставило нам естественный способ увеличения / уменьшения масштаба для достижения необходимого объема трафика. Мы также настроили Kubernetes для оптимизации производительности при высокой нагрузке. Мы упростили задания AWS Glue путем отправки запросов — данные о показах теперь объединяются с компонентами в реальном времени. Мы начали рекомендовать этот шаблон для AdTech.
4
Мы столкнулись с уже знакомыми нам проблемами высокой нагрузки в новом техническом стеке (Node.js), раньше в AdTech мы его не использовали. Node.js основан на той же реактивной архитектуре с центральным циклом событий, что и Java Netty, которую мы использовали для рекламных технологий в прошлых проектах. Мы также обнаружили антипаттерны с тяжелыми операциями, исчерпывающими цикл, с этой проблемой мы тоже имели дело раньше.
Каков был результат нашей работы?
1
Мы достигли многого. Результаты нашей работы можно представить в виде списка.
2
Мы внедрили элемент измеримости. В системе уже использовались современные инструменты DevOps, но были некоторые неувязки, например, скрипты Terraform уже содержали взаимосвязанные скрипты, которые мы использовали в других проектах, также возникали проблемы управления зависимостями. Мы их исправили. Мы наладили процесс доставки — от написания кода и автоматических тестов, до развертывание для подготовки и производства. Централизованный сбор логов Elastic / Kibana имел решающее значение для устранения проблем в приложении, поскольку оно размещалось в нескольких модулях K8s на нескольких экземплярах EC2.

Элемент измеримости нужен был для показателей приложения: финансовые KPI и контрольные эксперименты с увеличением трафика в режиме реального времени; и для аппаратных показателей: потребление ЦП / памяти для быстрого определения bottleneck в производстве.
Кратко о том, что мы узнали:

  • Выгорание — проблема номер один среди всего IT персонала
  • Какой ритм работы приводит к депрессии?
  • Кто отвечает за выгорание в HR?
  • Как разграничить home/office и отдохнуть в собственном доме: рекомендации, которые стоит применить прямо сейчас.

Несмотря на то, что сфера IT является одной из самых лояльных к сотрудникам, ведущей проблемой даже здесь является выгорание. Что может к нему привести?
Смена дневного ритма на ночной

Часто в транснациональных компаниях митинги и обсуждения удобны не для всех сотрудников офисов — некоторым из них приходится выходить на связь гораздо позже или гораздо раньше рабочего дня.

Такие случаи часто приводят к депрессивному состоянию: биохимия мозга меняется, отдельные гормоны перестают вырабатываться в нужном объеме.


Home office

При всей актуальности такого вида работы, не все из нас все еще способны обозначить четкий рабочий график и вовремя переключиться на личную жизнь в условиях одного и того же пространства.
Как мы работаем с этими проблемами?

В нашей команде есть два коуча, а также психолог, который поможет отследить симптомы и даст рекомендации.

Что мы советуем сотрудникам?
1
Смена рабочего места

Самое важное: работа не должна проходить в зоне сна и принятия пищи. У человека должно быть выделенное рабочее место, которое можно покинуть, когда трудовой день заканчивается.
2
Ритуалы, позволяющие разграничить рабочее и личное

Например, с утра можно переодеться в рабочую одежду, а к вечеру снова облачиться в домашнюю.
3
Не отдыхать в зоне работы

И даже если отдых проходит за компьютером — лучше пересесть с ним на другое место или, по крайней мере, сменить пользователя на девайсе.
2
Найти любимое хобби

Лучше, если это будет что-то предметное, не связанное с рабочей техникой и работой: например, рисование, лепка или выжигание по дереву. Также увлечение может быть связано с телом: любой спорт или прогулки.
А теперь самое важное

  • Все-таки спать ночью и бодрствовать днем, если это позволяют митинги и рабочие задачи
  • Переключаться с рабочего на личное: как минимум, с помощью физической смены места
  • Вовремя отслеживать баланс необходимых витаминов и микроэлементов: это делается регулярно, с помощью медицинских анализов. Обычно в список витаминов в дефиците входит Магний, витамин D, Витамины группы Б и другие


ДРУГИЕ СТАТЬИ
>
Давайте работать вместе
Присоединяйтесь к нашей команде!