Сергей Чернышев: «С каждым годом Веб становится только медленнее»
Представляем третий выпуск подкаста о технологиях, процессах, инфраструктуре и людях в IT-компаниях. Сегодня в гостях у «CTOcast» — Сергей Чернышев, один из лидеров Web Performance Optimization сообщества (Нью-Йорк).Слушать подкаст
1-ая часть текстовой версии подкаста
Текстовая версия подкаста (2-ая часть)О вызовах современной оптимизации веб-производительности Александр Астапенко: Сейчас уже заканчивается 2014 год, то есть прошло 7–8 лет с тех пор, когда впервые начали говорить об оптимизации веб-производительности, когда были систематизированы best practices для этой области. Что ты думаешь об оптимизации веб-производительности сегодня? Насколько это актуально и с какими вызовами сталкиваются веб-разработчики? Изменились браузеры, изменились технологии.Сергей Чернышев: До сих пор прозрачность веб-стека — серьезная проблема, причем не только с технической точки зрения. Сейчас это скорее образовательная проблема, то есть люди просто не знают, что оптимизацией веб-производительности нужно заниматься, хотя инструменты уже достаточно хорошо разработаны. На мой взгляд, именно это является существенным барьером перед тем, чтобы изменить тренд. А тренд очень простой: с каждым годом Веб становится только медленнее. Казалось бы, технологии идут вперед, но это не так. Изменить ситуацию можно только в том случае, если люди будут уделять внимание проблеме скорости. То есть не технические проблемы являются самыми важными.
Сейчас появились новые инструменты, например, с тех пор, как я разработал Show Slow для синтетического тестирования веб-сайтов, развилось новое направление — Real User Monitoring (RUM), который позволяет в реальном времени анализировать скорость реальных пользователей и видеть настоящую картину.
Также проблемой является то, что для многих это большой скачок между понятием того, как проанализировать синтетический тест, увидеть сколько твой инструмент показал на табло (Три секунды? Или пять секунд? Сколько там запросов?) и тем, чтобы реально наблюдать, как настоящие пользователи видят твой сайт. Не существует одной цифры, существует целый спектр цифр: от очень быстрых до очень медленных. Задача стоит подвинуть их всех ближе к нулю.
Следующий вызов — мобильный Веб, который стал чем-то актуальным. Те проблемы, которые были у нас раньше, теперь опять становятся важными, им нужно уделять внимание: сети, совсем другие скорости передачи, сетевые задержки и прочие подобные вопросы.
Еще есть одна важная задача, которую сложно решить из-за уже упомянутой непрозрачности веб-стека и огромного количество компонентов, которые входят в него — визуализация данных о том, как обстоят дела со скоростью. И многие люди пытаются сейчас решить эту проблему как с RUM, так и с синтетическими данными.
На самом деле, браузеры существенно продвинули свои технологии, появилось много компаний, которые позволяют ускорить веб-сайты. Так что с точки зрения технической оптимизации дело обстоит достаточно неплохо. Анализ и стратегия разработки для скорости являются более проблемными местами.
Павел Павлов: А ты продолжаешь быть вовлеченным во все эти технологические проблемы? Работаешь ли с новыми инструментами? К примеру, ты создавал Show Slow. Является ли актуальным данный проект?
Сергей Чернышев: Show Slow до сих пор используется и является важным инструментом в первую очередь для поддержки процесса оптимизации, где можно посмотреть каков тренд. Тем не менее, Show Slow стал менее актуальным в связи с появлением RUM. И проект, конечно, не так активен, как был раньше. Я сделал ему интеграцию с очень популярным проектом Web Page Test, который создал Патрик Минэн (Patrick Meenan). Комбинация этих двух инструментов позволяет при помощи Web Page Test глубоко посмотреть в анализ страницы, а также увидеть тренды всех этих метрик.
То есть как инструмент Show Slow важен. Возможно, он станет Dashboard или скорее инструментом, поддерживающим процесс, нежели технически-аналитическим решением в чистом виде. Просто потому что другие инструменты делают эту работу лучше.
Я пользуюсь Web Page Test постоянно и активно участвую в его развитии не как разработчик, но как человек с полей. И сейчас я пытаюсь понять в каком направлении мне лично двигаться: то ли стоит разрабатывать инструменты по ускорению, то ли работать с визуализацией. Я недавно на конференции Velocity разговаривал с дизайнером Марком Земаном (Mark Zeman), у которого интересный подход к визуализации скорости данных. И, возможно, мы и пойдем в этом направлении.
О конференциях и web performance сообществе Александр Астапенко: Web Performance Optimization Foundation. Я, честно признаюсь, очень мало знаю про эту инициативу. И хотелось бы от тебя пару слов услышать. Какая миссия у организации, какие проекты текущие есть? Сергей Чернышев: Организация была создана, чтобы продвигать Web Performance Optimization. Среди участников — Стив Содерс (Steve Souders), Стоян Стефанов (Stoyan Stefanov), Патрик Минэн и несколько других человек, которые активно занимаются веб-производительностью. Главным проектом на данный момент является поддержка Web Page Test и его продвижение его в массы. Также наша цель — создание митапов и различных мероприятий, посвященных скорости, например, WebPerfDays Unconference. Задача у организации очень простая — скорость. Люди должны знать, что скорость можно и нужно улучшать.
Александр Астапенко: Раз уже затронули тему конференций. Расскажи немного про Velocity. Кто там спикерами является узнать несложно, а кто же слушатели этой конференции? Ты говорил, что бизнес не понимает важности инвестирования в увеличение скорости. Приходит ли туда бизнес? Или это конференция только для разработчиков?
Сергей Чернышев: Для начала нужно сказать огромное спасибо O’Reilly за то, что они создали эту конференцию. Теперь уже она проходит, по-моему, четыре раза в год в разных местах мира. Началась конференция в Санта-Кларе, в Калифорнии. Velocity на самом деле состоит из двух частей: Performance и Operations — два лагеря, которые слегка пересекаются, но не сильно.
На конференцию приходят системные администраторы, фронтэнд-разработчики и бизнесы. Особенно последние пару-тройку лет — огромное количество бизнесов. Реальность в том, что веб-сайты растут и становятся только медленнее, особенно, когда мобильный Веб стал актуальным.
Velocity охватывает широкий спектр вопросов. И бизнес активно приходит туда. Конечно, в основном это технические менеджеры. Конференция техническая и человеку с бизнес подковкой будет тяжело. Но с другой стороны, я видел там как представителей правительства США, так и просто бизнесы, в основном из e-commerce. Они первыми, естественно, оккупировали этот вопрос, потому что для них очень легко провести параллель между скоростью и деньгами. Это тяжелее для других сфер. Так что конференция Velocity — прекрасная конференция, на мой взгляд. Если есть возможность посетить ее либо в Европе, либо в Америке, то я очень рекомендую это сделать.
Павел Павлов: Velocity проходит в Штатах, Европе, проходит даже в Китае. Фактически развивается по всему миру. Но в то же время есть в Рунетe огромное пространство, где тема недостаточно разогрета. Существуют, безусловно, компании, которые занимаются веб-производительностью, книги издавались на эту тематику, есть блоги, спикеры. Но сообщества как такового нет.
Сергей Чернышев: Да, я согласен. Существует конференция HighLoad, которая в основном смотрит на вопросы масштабируемости и доступности. Как раз недавно была. Некоторые спикеры туда приезжают: Филипп Тэлис (Philip Tellis) и Бади Брюэр (Buddy Brewer) выступали там.
Павел Павлов: И Стоин Стефанов.
Сергей Чернышев: Да, точно. Согласен. Так что как-то это существует, но очень мало. Я вообще слабо знаком с тем, как организовываются конференции в России. Но Европа, слава Богу, близко. Так что послушать там имеет полный смысл.
Павел Павлов: Может имеет смысл подтолкнуть Стива Содерса и компанию провести хотя бы небольшую конференцию в Москве?
Сергей Чернышев: Я думаю, что главное — не то, кого пригласить, а то, кто локально сможет этим заняться. То есть найти людей, которые интересуются вопросом локально. Естественно, пригласить спикеров можно и это несложно. Но, на мой взгляд, важно, чтобы организаторы смогли собрать сообщество, что и подвинет в нужном направлении спикеров, которые готовы выступать.
Необязательно ждать большой конференции. И, на самом деле, O’Reilly внимательно смотрело на то, как развиваются локальные сообщества, прежде чем они организовали конференцию в Нью-Йорке и в Европе. Как в Лондоне был очень популярный митап для Европы, так и в Нью-Йорке был один из самых популярных митапов. И только после этого они создали конференцию. Для бизнеса как O’Reilly требуется, чтобы было подтверждение локальной активности. Организуйте митап в Минске, Москве, Киеве. И это то, как можно продвигать вопрос.
Александр Астапенко: Есть митапы, Velocity, но есть еще и WebPerfDays. Можешь рассказать о сути и цели WebPerfDays?
Сергей Чернышев: WebPerfDays была изначально создана в Сан-Франциско по подобию DevOpsDays. Это, грубо говоря, однодневная конференция, которая имеет слегка другой формат. Конечно, там существует пара презентаций в традиционном стиле, но остальная часть — обсуждение, то есть каждый может принести свой вопрос по теме веб-производительности, после чего все разделяются на группы и обсуждают этот вопрос в течение какого-то времени.
С точки зрения формата — очень простое, но важное дополнение к традиционному стилю конференций. Часто после официальной Velocity Conference на следующий день проходит WebPerfDays Unconference, потому что очень легко привлечь тех, кто уже посетил основную конференцию, а также создать локальное однодневное мероприятие.
WebPerfDays для тех, кто знает, о чем вообще идет речь — тех, кто занимается веб-производительностью или как-то к этому относится. Это хороший шанс пообщаться со спикерами в менее формальной обстановке, обсудить вопросы более детально, потому что многие из тех, кто выступает на Velocity, также участвуют в WebPerfDays.