Рубріки: Интервью

«Цена ошибки становится все выше»: в Megogo рассказали про критические моменты работы сервиса

Анастасія Пономарьова

Megogo — один из крупнейших медиасервисов на территории Украины. Однако популярность и большой наплыв зрителей, как бы это ни казалось странным со стороны, могут принести немало хлопот команде айтишников, а невероятно большой наплыв — даже «положить» сервис. О таких ситуациях и технических решениях рассказал CIO медийной IT-компании Дмитрий Мелков в интервью Highload.

Ключевым был момент, когда мы из стартапа перешли в налаженную структуру

CIO Megogo Дмитрий Мелков

Я в проекте девять лет — пришел в компанию, когда Megogo уже был запущен  как стартап. Поскольку первая модель видеосервиса была рекламной, то нужен был большой трафик. Когда ресурс начали накачивать трафиком, возникли и первые трудности с производительностью сайта. В команде тогда было 15 человек, и нужно было создавать из этого количества целую структуру.

Для меня как человека, отвечающего за IT, ключевым был момент, когда мы из стартапа перешли в налаженную структуру и количество специалистов выросло до 40. Раньше мы отделы создавали горизонтально, но когда у тебя в подчинении 15–16 человек, становится сложно так руководить. Ведь это еще один уровень менеджмента, в результате ты еще больше оторван от своих команд.

Когда начинается превращение из стартапа в большую компанию, появляется много согласований, менеджмента, совещаний. Компания растет быстрее. Цели, которые раньше ставили себе на год, теперь реализовываем за неделю. Сейчас у нас в разработке 160 специалистов. Много чего поменялось, стало гораздо больше нагрузки, больше серверов, людей, задач. Эта махина несется, цена ошибки становится все дороже. 

Нет ни одного сервиса, который бы не падал и не ломался

Все ошибки дорогие — особенно те, которые происходят в проде. Они случаются даже у мировых гигантов — нет ни одного сервиса в интернете, который бы не падал и не ломался. За период моей работы в компании у нас было три-четыре ситуации, которые прямо ножом по сердцу. Одна из причин — мы используем много заимствованных технологий от больших компаний, хотя у нас написано также много своего кода. Так, однажды была ошибка в продукте Facebook. Как потом оказалось, эта ошибка возникает только в уникальных случаях. При наших нагрузках, комбинациях, которые могут происходить, именно она и возникла.

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

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

Иллюстрация

Из-за максимальных нагрузок что-то начинает работать не так

Когда происходит какое-то знаковое событие или общенациональный праздник, возникают аномальные нагрузки. Сложно предположить, сколько людей будут пользоваться сервисом и смотреть телевизор, в итоге, как бы ты не готовился, как бы не рассчитывал нагрузку и не увеличивал с большим запасом мощности своей критичной инфраструктуры, все равно нет гарантии, что ты предусмотрел абсолютно всё.

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

Если пользователь заплатил за услугу, то у тебя нет права на ошибку. Например, мы эксклюзивно транслируем разные спортивные турниры в Украине. Мы сделали своего рода революцию на этом рынке ранее трансляция таких событий была уделом классического телевидения. И пользователям не важно, что на самом деле, чтобы сигнал дошел до его дома, он проходит миллион разных состояний. Это космические технологии: сигнал идет со спутника, проходит через множество посредников, обрабатывается с помощью разных технологий, обогащается звуком, переводится, накладывается, сжимается. Просто все должно работать.

Нам помогли пережитые кризисы

Как ни странно это признавать, нам помогли пережитые кризисы. Помню, затруднения в работе были, когда у Зеленского с Порошенко был батл на стадионе. Все люди резко включили телевизоры и телефоны, плюс у нас уже была возможность перемотать телевизионную запись назад — те, кто не успел с начала посмотреть, перематывали. У нас произошел коллапс. Никогда за всю историю сервиса люди не перематывали так интенсивно трансляцию телеканалов. Сервера не были к такому готовы, запись шла с проблемами, команда сильно переживала из-за этого.

В итоге, мы нашли для подобных ситуаций клауд-решение: если мы видим, что идет большой рост активности и нашего железа не хватает, мы научились разворачивать Megogo в облаках. Для этого есть Amazon. Такой ход стоит больших денег, но для пользователя это прозрачно. Облако принимает на себя излишек нагрузки и потом, когда она начинает снижаться, мы постепенно возвращаемся к работе со своими собственными структурами, которые сильно дешевле в содержании. 

Кроме всего прочего, после каждого инцидента важно сделать работу над ошибками, некую ретроспективу. Разобраться, что и в какой момент пошло нет так, что изменить и поправить, чтобы ситуация не повторялась в будущем. Все это нужно грамотно расписать со всеми командами, участвовавшими в проектировании, спасении и починке. 

Офис Megogo, фото: dou.ua

Конкуренты или злоумышленники пытаются сломать работу нашего сервиса

Мы пришли к высокому уровню стабильности и надежности, и последние два года почти не испытываем проблем с «падениями» из-за нагрузок. Но появились угрозы безопасности, когда непонятно, кто — конкуренты или злоумышленники — безуспешно пытаются сломать работу нашего сервиса и нелегальными способами разрушить нашу инфраструктуру. Потому профильные специалисты делают наш периметр максимально защищенным. 

Хотя мы не банк, не проводим операции с платежными системами и не храним данных кредитных карт, злоумышленники пытаются использовать данные клиентов. Мы за этим очень внимательно смотрим: когда периметр пытаются нарушить, злоумышленники обычно что-то в процессе ломают. Это их выдает.     

В продолжении интервью Дмитрий расскажет о найме сотрудников, работу с токсичными айтишниками и кодинг как проявление креатива. Читайте скоро на Highload.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023