Вернуться

«Облака развязывают программистам руки»

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

Две задачи разработки

Я работал в агентстве в веб-разработке агентства «Финмаркет», когда в 2007 году его купил «Интерфакс». Сразу после покупки нам поставили задачу сделать «Интерфаксу» принципиально новый сайт. С тех пор, уже более 10 лет, я занимаюсь большим количеством задач, но в фокусе внимания именно сайт агентства.

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

На самом деле речь идет об огромном объеме данных: за последние 10—15 лет средний объем одной загружаемой страницы вырос до 3 мегабайт.

Во-вторых, нужно сделать интерфейс сайта удобным как во внешней части, с которой соприкасаются посетители, так и в бэк-офисной, с которой работает редакция.


Ремонт, который нельзя закончить

Работа над сайтом агентства масштаба «Интерфакса» — это постоянный живой процесс, как ремонт, который нельзя закончить, только поставить на паузу. В вебе постоянно что-то меняется, например алгоритмы ранжирования или принципы работы поисковых систем, приходят новые технологии. Например, в последние годы заметно вырос трафик с мобильных устройств, сейчас их доля в общем объеме увеличилась до 65—70%. Эти и многие другие нюансы нужно постоянно учитывать.

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


Кухня разработки

Последняя наша большая задача — это система статистики, которую пришлось модифицировать. Нам нужно было поменять архитектуру системы, чтобы обрабатывать большее количество запросов. Отчасти этот переход связан с миграцией сайта в облако: если раньше в пиковый момент за один день на сайт могло прийти 5 млн человек, то сейчас эта цифра может быть и вдвое больше. Потолка в облаке нет, поэтому и количество записей о просмотрах и посетителях кратно растет. Систему статистики пришлось переделать, чтобы она могла обрабатывать это растущее количество значений.

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

Как облака меняют разработку

Технологии постоянно развиваются, но если сфокусироваться на чем-то самом главном, я бы отметил массовый инфраструктурный переход в облако. Доверия к облачным технологиям все больше, уходит скепсис бизнес-заказчиков и сомнения в их безопасности. «Интерфакс» несколько месяцев назад перенес часть своей инфраструктуры в облако SberCloud, этот опыт признан успешным и он будет масштабирован.

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

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

Я уверен, что через 5—10 лет будет еще больше облаков. Облачные технологии помогут сделать процесс воплощения идей еще быстрее, от идеи до реализации будет проходить меньше времени.