Представляем третий выпуск подкаста о технологиях, процессах, инфраструктуре и людях в ИТ-компаниях.
Сегодня наш гость на «CTOcast» — Сергей Чернышев, один из лидеров сообщества Web Performance Optimization (Нью-Йорк).
Слушайте подкаст
О нашем собеседнике: Сергей Чернышев окончил Российский государственный университет нефти и газа имени И.
М.
Губкина (2000 г.
).
В первой половине 1990-х годов занимался сборкой компьютеров, системным администрированием и технической поддержкой.
В 1996–1998 годах – веб-разработчик в Unicor, в 1998–2002 годах – технический директор дизайн-студии Новикова.
С 2002 года живет и работает в США.
В 2002–2003 годах – системный администратор SelectMinds. С 2003 года работал в компании truTV (ранее Court TV), а с 2012 года занимал должность технического директора веб-систем и приложений.
С 2009 года он активно участвует в сообществе по оптимизации веб-производительности.
Организатор New York Web Performance Meetup Group, а также конференции WebPerfDays New York. Член правления Фонда оптимизации веб-производительности.
Текстовая версия подкаста (часть 1)
О личном и немного об истории российской IT-индустрии
Александр Астапенко: Каким был ИТ-рынок в начале и середине 1990-х, когда вы только начинали свою карьеру? Как вам удалось выжить и каковы были ваши цели на этом этапе? Сергей Чернышев: С самого начала я просто искал работу.Не могу сказать, что я сразу задумался о своем бизнесе или о чем-то в этом роде.
Друг отвел меня в обычную компанию по сборке компьютеров Tower, и именно там я понял, что любой компьютер можно разобрать и собрать и не бояться мифической машины.
Еще я понял, что бизнес не так уж и страшен и им может заниматься каждый.
Вскоре я объединился с парой своих друзей, и мы организовали сервисный центр, где помогали людям жить с компьютерами: собирали то, что им нужно, продавали оборудование и так далее.
В то время это было довольно веселое занятие.
Несколько крупных поставщиков везли железо в контейнерах в Москву, а продавало его несколько мелких компаний.
Ни о каких гарантиях и качестве, естественно, не могло быть и речи, каждый сам за себя.
За этим приходилось внимательно следить, а опыт, полученный в Tower, помог определить качество комплектующих по внешнему виду даже без включения.
Помню, в то время все пользовались таким каталогом толщиной с палец.
На мой взгляд, там были все виды товаров, но в первую очередь компьютерная продукция.
Из этого каталога можно было купить что угодно.
В итоге сделали следующее: если был заказ, уточнили, что нужно человеку, взяли деньги, а потом купили, собрали необходимое оборудование и доставили.
Главное, что нас отличало, наша сильная сторона – это качество услуг.
К каждому принтеру приходила пачка бумаги, человек не уходил, пока все не заработало.
Павел Павлов: Однако в какой-то момент вы начали переключаться на веб-разработку? Сергей Чернышев: Да Да.
Для этого было несколько причин.
Во-первых, бизнесом нужно заниматься серьёзно, нужны инвестиции, но наш подход был достаточно простым, и такой бизнес не мог существовать долго.
Кроме того, мой отец очень активно говорил мне, что быть слесарем – это не карьера, и в жизни нужно делать больше дел.
Я, наверное, не слушал его, но думаю, что он всё же добавил мне в голову серьёзных мыслей.
Интернетом я начал пользоваться где-то в 1993 или даже 1992 году.
На тот момент Интернета как такового еще не существовало.
Был такой интернет-провайдер «Гласнет», один из первых в Москве, и я активно участвовал в местном сообществе пользователей.
Андрей Себрант, известный российский интернет-деятель, был человеком, который показал мне и моим коллегам, что такое Интернет. Меня этот вопрос очень впечатлил, и я начал свою разработку, что называется, на коленях еще в 1994 году — когда TCP/IP только начал появляться, можно было запустить первый браузер и посмотреть что-нибудь в Интернете.
Как сейчас помню, одним из первых моих сайтов был журнал Жванецкого, назывался он «Магазин Жванецкого».
Конечно, в Интернете его уже невозможно найти.
Александр Астапенко: Сергей, а что это была за история с Андреем Себрантом? Сергей Чернышев: Андрей Себрант на тот момент был, по-моему, руководителем отдела маркетинга в «Гласнете».
Хотя я сомневаюсь, что тогда были такие четкие различия.
На одной из тусовок этого интернет-сообщества мы были у Андрея дома, и я впервые увидел, что такое Интернет, что такое браузеры, увидел на странице GIF-изображения.
Я был просто поражен этим.
Думаю, именно тогда я понял, что буду заниматься Интернетом.
А потом Андрей показал несколько инструментов.
Был редактор HotDog, который позволил мне увидеть, что такое HTML и как он вообще работает, и как начать делать первые страницы.
Александр Астапенко: Каким было развитие в конце 1990-х годов? Кто тогда были клиентами, для которых вы делали сайты? Сергей Чернышев: Сначала я делал это для друзей и знакомых.
Потом, уже учась в «Керосинке», я пошел работать веб-разработчиком и системным администратором к интернет-провайдеру, который обеспечивал Интернетом все здание.
В то время не было разделения по профессиям; нас всех называли веб-мастерами.
Веб-мастер занимался дизайном, HTML, кодированием сервера, хостингом и всем остальным.
Позже я связался с Сергеем Новиковым, который занимался дизайном и хотел создать студию веб-дизайна, и присоединился к нему в качестве технического сооснователя компании.
Мы делали сайты для всех, кто хотел.
Компаний было много, часто они приходили со своим видением того, что им нужно.
Основная задача заключалась в том, чтобы их убедить, ведь чаще всего люди тогда понятия не имели, что такое сайты.
На тот момент еще не было WordPress, чтобы взять и что-то на нем построить; все было написано с нуля.
Александр Астапенко: Понятно, тогда в Интернете был такой дикий Запад. Примерно в 2002 году вы переехали в США.
Можете ли вы сказать несколько слов об этом периоде? Сергей Чернышев: Да.
Иммиграция – сложная проблема; нельзя сказать, что стимул был только один.
Мне хотелось стать богатым и счастливым, и взгляд за границу предвещал такие перспективы.
Да, о семье нужно было заботиться.
Александр Астапенко: А с профессиональной точки зрения? Сергей Чернышев: С профессиональной точки зрения было понятно, что бизнес в России очень коррумпирован и продолжать этим заниматься сложно.
По сути, движение вперед требует недобросовестности в своих действиях.
Многим это удалось, а мне нет. И в Америке, конечно, было огромное желание приобщиться к интернет-толпе и увидеть необъятность возможностей.
Александр Астапенко: Сергей, 2002 год – самое дно кризиса после краха доткомов.
Каким был тогда рынок для российского веб-разработчика, системного администратора с многолетним опытом за плечами? Легко ли было найти работу? Сергей Чернышев: Да, в 2002 году действительно было дно.
С точки зрения переезда скажу так: вы уже довольно давно планируете переезд и сложно знать, что все будет плохо, о том, что происходит на самом деле.
Машина трогается с места, а вы двигаетесь, когда все срослось.
Так что особых планов не было.
Может быть, сейчас это проще, но тогда было так.
Когда я приехал сюда, я понял, что рынок совсем плохой, однако мне удалось быстро найти работу.
Первый принцип заключался в том, что первое место не выбирается.
После трех или четырех интервью, а может и пяти, я нашел SelectMinds. Правда, из руководителя студии в России я просто перешёл на системного администратора в небольшой компании.
При переезде мой трудовой стаж обнулился, мой зарубежный опыт никто не учитывал по разным причинам: бизнес другой, меня нельзя проверить и доверять, никто не может проверить твоё резюме.
И вообще, только те навыки, которые ты мог проявить, только они и влияли.
Александр Астапенко: Поработав в SelectMinds системным администратором, вы все равно возвращаетесь к веб-разработке и переходите в Court TV. Так? Сергей Чернышев: Да.
Тогда найти работу стало намного проще и я заинтересовался телекомпанией «Суд».
Первые пару лет были несложными, хотя благодаря популярности телеканала и его сайта посещаемость была значительной.
После этого начались более сложные проекты.
Мы были одними из первых, кто начал трансляцию в Сети.
Судебное телевидение начало освещать криминальные истории и судебные процессы над преступниками.
У нас есть несколько таких судебных дел, как «Суд над Майклом Джексоном», или было такое громкое дело Скотта Петерсона.
На момент оглашения приговора трафик на наших серверах увеличился в двадцать раз по сравнению с дневным максимумом.
И это заставило меня заняться эссенциальной архитектурой для масштабируемости, понять, как строить такие системы и развивать разработки в этом направлении.
Что в конечном итоге привело меня к веб-производительности: потому что там, где есть проблемы с масштабируемостью, будут проблемы и с производительностью.
Об оптимизации веб-производительности
Павел Павлов: Для тех, кто не совсем знаком с этой темой, не могли бы вы объяснить, что такое оптимизация веб-производительности? Как зародилось это движение? Вы были в начале; 2009 год – это самое начало, не так ли? Сергей Чернышев: Фактически с 2007 года я начал этим активно заниматься.Я посетил первую презентацию Стива Содерса, основателя движения WPO (оптимизация производительности веб-сайтов) и работавшего в то время в Yahoo, по теме скорости веб-сайтов.
В то время термина «оптимизация веб-производительности» даже не существовало.
Я думаю, Стив открыл глаза многим людям.
Все понимали, что чем медленнее скорость, тем хуже сайт. Здесь не придется далеко ходить.
Но большинство людей традиционно связывают скорость сайта со скоростью сервера.
Работа с трафиком была распространенной проблемой: когда приходит много людей и им требуется много ресурсов сервера, масштабируемость становится большой проблемой, и вам нужно убедиться, что веб-сайты продолжают работать.
На это было направлено внимание разработчиков, то есть это считалось скоростью.
И Стив показал, что скорость больше зависит от того, как построена веб-страница и чем она загружается, от внешнего интерфейса, а не от нагрузки на систему.
Веб-сайт может работать медленно даже для одного пользователя.
Поэтому нужно искать проблему в другом месте.
И инструментов в то время, конечно, не было, вернее, были очень простые инструменты, ими было достаточно сложно пользоваться и о них никто не знал.
Таким образом, непрозрачность веб-стека мешала людям увидеть реальную проблему.
И Стив показал, что если вы посмотрите на серверную часть, внешний интерфейс, на то, как работает протокол HTTP, вы сможете сделать гораздо больше выводов о реальной скорости веб-сайта.
Я уже довольно давно работаю над gzip, сжатием веб-запросов, управлением кэшем и т. д. Мне было ясно, в чем проблема.
И первая презентация, которую провел Стив Содерс на выставке Web 2.0 Expo в Сан-Франциско, открыла мне глаза, и я, что называется, прозрел.
Павел Павлов: А вы были там лично? Сергей Чернышев: Да.
Я присутствовал на этой конференции в качестве гостя.
Стив и его коллега (Тенни Тойрер) представили великолепное исследование статистики, которое они провели в Yahoo, анализируя, что действительно влияет на скорость сайтов, как это влияет на интерфейсную часть.
Те самые первые правила, которые ввел Стив для ускорения работы сайтов, не зависящих от серверов, от железа.
Павел Павлов: Тебе удалось тогда поговорить с самим Стивом? Сергей Чернышев: Да, я с ним разговаривал, встречался с ним на этой конференции.
Это было очень интересно.
Думаю, именно он вдохновил меня на создание митапа.
На той же конференции, но уже в 2009 году, я спросил его, как он относится к такой идее.
Конференции были верным способом распространения знаний, но, находясь в Нью-Йорке, было очень сложно ждать целый год следующей конференции.
Я уже искал способы организовать локальные мероприятия.
Стив ответил, что было бы интересно увидеть какое-нибудь местное сообщество.
В общем, это подстегнуло мой интерес к созданию первого митапа в Нью-Йорке.
Павел Павлов: То есть встреча в Нью-Йорке была одной из первых групповых встреч по веб-перформансу? Сергей Чернышев: Он был буквально первым.
Когда я создавал свою группу, я создал тему «Веб-производительность» на сайте meetup.com; раньше его не существовало.
И сейчас существует уже более 100 групп по этой теме со всего мира.
Павел Павлов: Кто были первыми участниками? И какова была реакция людей, когда вы попытались раскрутить все эти темы и рассказать им? Сергей Чернышев: Прежде чем открыть встречу, я выступил с презентацией о продуктивности на встрече по веб-стандартам в Нью-Йорке.
Сообщество было небольшое, на той презентации было около 35–40 человек.
И глаза людей открылись, как и мои, когда я увидел, с чем работает Стив Содерс, его подходы.
Люди просто понятия не имели, как браузер загружает изображения, скрипты и CSS-файлы.
Им было не очевидно, как все это произошло; никто об этом не думал.
И как только вы визуализируете и показываете первую водопадную диаграмму, люди начинают понимать.
В то время браузеры работали довольно плохо и несложно представить, как выглядел этот водопад – все было очень медленно.
Поэтому было легко показать, в чем заключалась проблема с производительностью.
Максимальная скорость в 20% зависит от сервера, но на самом деле цифра ближе к 10% или даже 5%.
Все остальное зависит от того, как сделана веб-страница и в какой последовательности загружаются ее компоненты.
И люди действительно были ошеломлены тем, как все происходило на самом деле.
Это показало мне, что проблема актуальна.
Павел Павлов: Давайте вернемся к истокам WPO и вашей встрече со Стивом.
Помимо создания первой встречи WPO в Нью-Йорке, он также вдохновил вас на разработку собственных инструментов и решений, которые помогут сделать веб-сайты быстрее и позволят вам измерить их скорость.
Так? Сергей Чернышев: Совершенно верно.
Как я уже сказал, проблема с веб-производительностью заключалась в отсутствии инструментов и непрозрачности стека.
Стив был одним из первых разработчиков инструмента Yahoo — YSlow, который анализировал веб-сайты на предмет поддержки лучших практик и просто выдавал некоторые показатели, сообщая человеку, насколько хорош его сайт (от 0 до 100) и что можно сделать, чтобы Улучши это.
Проблема с этим инструментом заключалась в том, что он не обеспечивал долгосрочного анализа того, как происходят изменения в процессе разработки.
Производительность сети имеет тенденцию к ухудшению, то есть с разработкой новых частей программ, новых функций качество программ с точки зрения скорости только ухудшается.
Это очень сложно заметить при разовом статическом анализе.
Я увидел, что это проблема, поэтому разработал первую версию Show Slow, которая позволяла собирать данные из расширения Firebug YSlow. И я создал серверный компонент, который просто принимал эти данные.
В программе нет ничего сложного, но она собирает данные и позволяет выявить тенденцию с течением времени.
Как оказалось, это во многом показало, насколько важно для бизнеса развитие скорости.
Я столкнулся с этим на truTV, когда было очень сложно абстрактно сказать бизнесу – как техническим специалистам, так и клиентам – что им необходимо ускорить работу сайта.
Легко сказать, но вам никто не верит, люди не понимали, зачем им нужно этим заниматься, тем более заниматься этим серьезно и уделять этому много времени.
А Show Slow был создан как первый инструмент, который позволил бы нетехническим людям увидеть результат без использования сложных инструментов, таких как YSlow, чтобы показать тенденцию улучшения или ухудшения скорости.
Естественно, помимо инструментов, я также начал изучать различные методы и способы ускорения сайтов.
И кэш был первым способом.
Самый простой метод заключался в использовании кэша, чтобы браузер не возвращался каждый раз на сервер за всеми картинками и так далее.
И я разработал Asset Manager, который, грубо говоря, использовал ревизии из системы контроля версий и таким образом манипулировал URL. После этого я создал файл .
htaccess, который было очень легко поместить в корень веб-сайта, и он волшебным образом ускорил работу всего веб-сайта, что было своего рода маркетинговым ходом.
Я выбрал этот путь, чтобы убедить тех людей, которые не очень разбираются в технике, что проблему скорости можно легко решить.
И, на мой взгляд, многим это понравилось.
Я думаю, что на данный момент это мой самый популярный проект на GitHub. Люди действительно хотят быстрого и простого решения.
Текстовая версия подкаста будет продолжена в ближайшие дни.
Теги: #Интервью #биография #подкаст #производительность #Оптимизация клиентов #WPO #Высокая производительность #Оптимизация клиентов
-
Ибн Пакуда, Бахья Бен Йосеф
19 Oct, 24 -
Каррер, Пауль
19 Oct, 24 -
Открытый Интерфейс Hive: Мы Сделали Это
19 Oct, 24 -
На Кого Вы Работаете?
19 Oct, 24 -
Как Обойтись Без Капчи?
19 Oct, 24 -
Интересные Js-Фреймворки Для Изучения
19 Oct, 24 -
Филологический Спор О Доступе К Гостам
19 Oct, 24