М.СПИРИДОНОВ: Добрый день, коллеги. Сегодня 13 октября 2011 года. Вы слушаете 119-й выпуск программы «Рунетология». Меня зовут Максим Спиридонов. Традиционно и искренне мы благодарим за информационную поддержку деловой сайт Forbes.ru. Спонсор сегодняшнего выпуска — интернет-фильтр SkyDNS. SkyDNS — это защита от фишинга и ботнетов, блокировка баннеров, запрет доступа к порнографии и другим категориям нежелательных ресурсов. Базовые возможности сервиса бесплатны даже для юридических лиц, а стоимость коммерческой подписки для небольшой компании с десятком сотрудников составит всего 300 рублей в месяц. Напомню, что теперь у «Рунетологии» есть дочерний образовательный проект - школа интернет-маркетинга «Нетология». На семинарах «Нетологии», которые ведут опытные специалисты-практики, вы получите качественное образование в сфере рекламы, продвижения и PR в интернете. Подробности на сайте netology.ru. То, что сегодня практически любой, даже самый далекий от технологичности бизнес, так или иначе, уже использует глобальную сеть интернет – это факт. Для большинства бизнесов на сегодня вполне достаточно тех или иных типовых решений в области работы с Сетью. Будь это просто сообщество в социальной сети или корпоративный сайт, портал. Они зачастую построены на той или иной коробочной системе управления контентом. Однако бывают случаи, когда интернет-бизнес построен на работе с сотнями тысяч или миллионами пользователей. В таких ситуациях на помощь приходят специалисты по высоким нагрузкам – фигуры в программистской среде очень уважаемые и в чем-то даже легендарные. Сегодня мы говорим с руководителем одной из немногих в Рунете структур, занимающихся высокими нагрузками в интернете, руководителем компании “Онтико” – Олегом Буниным. Олег, приветствую!
О.БУНИН: Всем привет!
М.СПИРИДОНОВ: Работа с каким из известных российских веб-проектов была для тебя и для вас как структуры наиболее интересна и показательна с точки зрения ваших возможностей? С Вконтакте?
О.БУНИН: Пожалуй, да. Это самый громкий проект, но я бы не сказал, что мы там развернулись в полную силу.
М.СПИРИДОНОВ: Что вы там делали?
О.БУНИН: Мы помогали ребятам так программировать их сайт, чтобы в будущем, когда туда придет множество миллионов пользователей, у них всё продолжало работать. Это даже не столько про высокие нагрузки, сколько про грамотное программирование.
М.СПИРИДОНОВ: Когда вы пришли туда?
О.БУНИН: Это было несколько лет назад, через 3-4 месяца после старта проекта. Я недавно смотрел Excel-файлы, которые мне прислал Павел Дуров, со списком и статистикой пользователей (на тот момент их было десятки тысяч).
М.СПИРИДОНОВ: И уже тогда они закладывались на высокие нагрузки?
О.БУНИН: Да.
М.СПИРИДОНОВ: Это было разумно с их стороны. Главное, что оптимистично, поскольку в тот момент существовало немало подобных соцсетей, которые, казалось бы, были почти на равных. Помнишь?
О.БУНИН: Да.
М.СПИРИДОНОВ: Как ты думаешь, чем тогда взял Вконтакте?
О.БУНИН: Я думаю, что причиной была любовь ребят, которые создавали проект как детище. Вылилось это во внимание к деталям, в самую лучшую логику работы, самые лучшие технологические средства.
М.СПИРИДОНОВ: Ты видел, что люди искренне погружены в то, чем они заняты?
О.БУНИН: Да. Я несколько раз общался с Павлом Дуровым и его командой. Когда с ними общаешься, всегда уходишь вдохновленным.
М.СПИРИДОНОВ: Ты один из тех немногих, кто видел Павла Дурова и общался с ним?
О.БУНИН: Да, он живой, он существует.
М.СПИРИДОНОВ: С ума сойти. Вы сейчас продолжаете взаимодействовать с Вконтакте?
О.БУНИН: Теперь они нас консультируют и выступают у нас на конференции.
М.СПИРИДОНОВ: Они стали выше вас по уровню?
О.БУНИН: Доклады, которые они читают, как правило, оказываются лучшими докладами HighLoad.
М.СПИРИДОНОВ: Это еще одна тема, которую мы затронем с тобой не как с разработчиком, а как организатором конференций по теме высоких нагрузок. Сейчас скажу о том, что Рунетология выходит в альянсе с порталом Superjob.ru. Сейчас Досье Олега и продолжим разговор.
ДосьеОлег Бунин родился 23 июня 1978 года. В 2001 году окончил факультет автоматики и вычислительной техники Московского государственного института электроники и математики. С 2000 по 2006 год руководил отделом веб-разработок компании Рамблер. При непосредственном участии Олега Бунина были разработаны сервисы Рамблер-Фото, Группы, Рассылки, Афиша, Мобильный Рамблер, Vision, а также проект Rambler-ICQ. С 2006 по 2008 год руководил IT-подразделением компании NewMedia Stars. В 2008 году основал компанию «Онтико», которая специализируется на консультировании и разработке высоконагруженных систем, например, таких как социальная есть ВКонтакте и спортивный портал Sports.ru. Олег Бунин является организатором профессиональных конференций веб-разработчиков - HighLoad ++ и Российские интернет-технологии. Холост. Живет и работает в Москве.
М.СПИРИДОНОВ: Получается, что ты внес очень серьезный вклад в то, каким был Рамблер в 2000-2006 годах. Ты был одним из руководителей?
О.БУНИН: Не я, а команда, которая у меня была. У нас был отдел веб-разработки, и мы занимались всем, что движется – всей интерактивной частью, то есть фото, группами, планетой, фото- и видео-хостингами и так далее.
М.СПИРИДОНОВ: Почему ты ушел? У тебя была хорошая должность – технический директор одного из ведущих порталов Рунета.
О.БУНИН: Я вырос, мне захотелось расти дальше. Мне захотелось отвечать не за один конкретный отдел и его продукты, мне хотелось отвечать за всю техническую сторону, и Костя Рыков из NewMedia Stars меня переманил.
М.СПИРИДОНОВ: Ты и в Рамблере отвечал за всю техническую сторону. Разве нет?
О.БУНИН: Нет, параллельно со мной существовало еще несколько технических отделов. То, что мы делали, мы не поддерживали самостоятельно, а сдавали в отдел поддержки. В своей разработке мы не касались почты, Рамблер.Медиа, поиска. Одна из причин ухода – не то, что мы не касались этого, а то, что мы не могли развивать и интегрировать наши проекты так, как нам казалось правильно.
М.СПИРИДОНОВ: То есть ты был одним из технических топ-менеджеров, но не техническим директором?
О.БУНИН: Да.
М.СПИРИДОНОВ: Интересные тогда были задачи? Ощущалось ли движение в сторону нищеты? Почему Рамблер падал и падал, как ты думаешь?
О.БУНИН: На мой взгляд, жилось там прекрасно. Мы создали отдел с нуля. Когда мне поручили эти направления, отдела не было, и интерактива, как такового, не было. Мы были на лезвии ножа, мы делали самые передовые сервисы. Мы первыми сделали Рамблер.Фото, тогда не было ни Яндекс.Фото, ни Мейл.ру.Фото. Но с технической точки зрения причиной проблем была косность. Рамблер не был готов к решительным действиям. Что сделали Mail.ru, когда запустили свой фото-хостинг? Они поставили ссылку на фото-хостинг, то есть когда ты логинился в своей почте, ты сразу же получал доступ к фото-хостингу. Это было очень удобно. Пользователю нужно было просто переключить вкладку.
М.СПИРИДОНОВ: Это пресловутые вещи, которые сейчас очень активно используют и Мейл, и Яндекс.
О.БУНИН: Да. Не смотря на то, что мы активно пытались пробить подобные решения для Рамблера, мы не смогли это сделать. Мы просто не смогли сломить сопротивление топ-менеджмента. Это была очень странная ситуация, потому что казалось, что нам – программистам, это было нужно больше, чем кому бы то ни было.
М.СПИРИДОНОВ: Какие аргументы приводились в ответ?
О.БУНИН: Я не помню. Все соглашались с тем, что это интересно, но никто этого не делал.
М.СПИРИДОНОВ: Как ты считаешь, причиной неуспеха Рамблера тех времен было то, что набор верно сделанных сервисов не был скоординирован? Хочется верить, что сейчас он находится на новом витке, дай Бог ему здоровья. Посмотрим, что у них получится.
О.БУНИН: Совершенно верно. Есть общепринятое мнение, что в крахе Рамблера виноваты управленцы. Я с этим абсолютно согласен. Если говорить про меня, то мне не хватило выдержки, навыков, управленческой компетенций, чтобы доказать, что то, что мы предлагаем, достаточно привлекательно для дальнейшей реализации.
М.СПИРИДОНОВ: Это твое фиаско как управленца, или ты сделал всё, что мог?
О.БУНИН: На мой взгляд, я сделал всё, что мог. Я считаю, что тот опыт, который я получил в Рамблере, позволяет мне разруливать абсолютно любый ситуации, решать любые проблемы. Тогда косность Рамблера оказалась сильнее, ведь в тот момент в Рамблере работало много талантливых людей. Я имею в виду Желонкину, Засурского, Калинина, и никто ничего не смог сделать. Мы все вместе не справились с консервативностью, которая оказалась для Рамблера смертельной.
М.СПИРИДОНОВ: Я перенесу временную метку на более ранний срок и спрошу то, что спрашиваю у многих гостей Рунетологии. Как ты оказался в интернете?
О.БУНИН: Российский интернет тогда еще только начал создаваться. Яндекса еще не было, а Рамблер уже был. Мы с товарищем в рамках школьной программ сделали сайт Перекрестка «Cross.ru». Я всегда тянулся к интерактивным, сложным высоконагруженным сайтам. На тот момент он был таковым, потому что наша посещаемость доходила до 3000 тысяч в сутки, и это было сравнимо с Рамблером.
М.СПИРИДОНОВ: Ничего себе.
О.БУНИН: Да, это было прикольно.
М.СПИРИДОНОВ: Не столько удивительно, что у вас столько людей было, сколько невелики цифры Рамблера.
О.БУНИН: Это смешные по современным меркам цифры. Мы делали что-то вроде интерактивного сайта. У нас публиковались статьи, и люди обсуждали их, у нас были первые прообразы ролевых интернетовских игр, была гостевая книга. Люди приходили в трактир, и один писал «Я прихожу в такой-то трактир и вижу, что за углом кто-то сидит», и этот кто-то подхватывал игру, они играли в текстовый Квест, который сами на ходу и придумывали, развивали, описывали ситуации. Несколько лет продолжалась эта игра.
М.СПИРИДОНОВ: Почему она затихла?
О.БУНИН: Мы решили завязать с сайтом. У нас появилась работа, нам надо было как-то жить, а в тот момент это было хобби, которое не приносило денег.
М.СПИРИДОНОВ: Просто забросил проект, и он затух?
О.БУНИН: Да.
М.СПИРИДОНОВ: А как ты пришел в Рамблер?
О.БУНИН: Я приходил в компанию, которая принадлежала инвесторам Рамблера. Мы пришли туда программистами, потом нас слили с Рамблером, и я попал к Игорю Ашманову, занимался одним из проектов под его руководством.
М.СПИРИДОНОВ: И стал управленцем?
О.БУНИН: Через 2-3 года да.
М.СПИРИДОНОВ: Как в технической сфере человек становится руководителем? Почему ему не остаться программистом? Что им движет?
О.БУНИН: Я думаю, что внутри человека что-то мечет, и он хочет большего. Был период, когда я 6 месяцев работал без выходных. Мне просто не нравилось, как что-то было сделано, и я это переделывал. В конечном счете, подобное рвение было замечено, и Денис Калинин и руководство тогдашнего Рамблера решило, что стоит дать мне больше ресурсов.
М.СПИРИДОНОВ: Ты ушел из Рамблера в 2006 году и оказался в NewMedia Stars. Как ты сам сказал, Костя Рыков тебя переманил.
О.БУНИН: Да.
М.СПИРИДОНОВ: Чем ты там занимался?
О.БУНИН: У Кости были большие планы по развитию собственных интернет-проектов. На тот момент были Взгляд.ру, Дни.ру. Тогда это были большие по посещаемости проекты. У него была цель создать несколько подобных информационных проектов, несколько интерактивных проектов, несколько игровых проектов. Выстраиванием всей этой инфраструктуры я и занимался.
М.СПИРИДОНОВ: Как ты сам считаешь, и как считают твои тогдашние работодатели, удачно?
О.БУНИН: Да. Мы сделали команду, которая развивала проекты NewMedia Stars.
М.СПИРИДОНОВ: Тогда NewMedia Stars, как мне кажется, был одним из наиболее заметных холдингов в интернете. Сегодня их звучание гораздо более скромное. Посещаемость и значимость их проектов значительно меньше, чем многих других.
О.БУНИН: Я за СМИ-проектами особо не слежу. Но, например, RUSSIA.RU вырос из интернет-телевидения, одного из первых в России. Сейчас это довольно приличный информационный портал со своими блогами, почтой и прочей системой. Мне кажется, они просто переориентировались с простых СМИ на интерактивные.
М.СПИРИДОНОВ: Ты в личной беседе рассказывал о том, что работа в NewMedia Stars была очень специфической, что там был постоянный творческий беспорядок, всё кипело, менялось. Так ли это?
О.БУНИН: Да, это так. Я думаю, что Костя Рыков, как руководитель, вносит свою специфику. Во-первых, он очень требователен к качеству выпускаемых продуктов, требователен к мелочам. Во-вторых, он очень творчески подходит к работе. Мы могли, сделав почти всё, показывая Косте почти готовый результат, который казался ему неидеальным, приступить к переделке всего с самого начала.
М.СПИРИДОНОВ: Видимо, были запасы финансирования. С точки зрения бизнеса, это довольно накладно.
О.БУНИН: Да.
М.СПИРИДОНОВ: Ты ушел из NewMedia Stars по собственной инициативе?
О.БУНИН: В каком-то смысле по собственной инициативе. Пришла пора. Всё сложилось так, что мне было пора уходить. Задача была выполнена, и я хотел заниматься собственными проектами.
М.СПИРИДОНОВ: Каким образом ты пришел к идеи создания компании, занимающейся высокими нагрузками? Или это вышло из фриланса?
О.БУНИН: Это произошло эволюционным путем. Как любой программист, я не мог удовлетвориться простой работой. Естественно у меня была команда фрилансеров, мы что-то делали. Получилось так, что основные навыки моей команды лежали в области сложных проектов – таких, которые нельзя сделать на простой CMS. Нам всегда нравилось творить что-то нестандартное, искать нестандартные решения, исследовать новые технологии. Всё это вылилось в компанию, которая специализируется на высоких нагрузках.
М.СПИРИДОНОВ: Как вы ищете клиентов, ведь они редки? Это вопрос, который задавали твои конкуренты, которые специально прислали подборку вопросов на почту.
О.БУНИН: В основном, это сарафанное радио. Мы постоянно думаем, что пора начать маркетинговую деятельность компании, но реально ей никто сейчас не занимается. Приведу пример. Сейчас очень много дизайн-студий, и выбрать из них лучшую сложно. Все они похожи между собой. Единственная возможность конкурировать на сверх насыщенном рынке – делать что-то настолько качественно, что подобраться будет сложно. Мы пытаемся работать, и клиенты, которые у нас получили то, что хотели, рекомендуют нас кому-то другому.
М.СПИРИДОНОВ: Можешь назвать интересные кейсы из области высоких нагрузок? Например, с Вконтакте. Я думаю, они будут близки почти любому слушателю.
О.БУНИН: Технический кейс?
М.СПИРИДОНОВ: Да, но не нужно называть технические термины. Вы приходите, и что вы делаете, после чего всё становится замечательно?
О.БУНИН: Любой проект, который развивается, проходит в своей работе несколько стадий. Сначала пишется какое-то решение, набор скриптов, которые работают на одном сервере и выполняют какие-то задачи, постепенно мощности железа становится мало. Дальше начинаются архитектурные решения. Нужно будет решать, как проект будет расти дальше с технической точки зрения. Есть несколько видов масштабирования: горизонтальное и вертикальное. В этот момент нужно принимать достаточно важные технологические решения о том, что будет дальше. У каждого способа масштабирования есть свои плюсы и минусы. Всё это нужно учитывать. Например, мы, приходя в любую компанию, спрашиваем о том, какую сайт планирует получать посещаемость через год, какого характера она будет. В зависимости от класса сайта (СМИ, социальная сеть или фотохостинг) характер нагрузки будет разным. Например, миллион пользователей для социальной сети – это очень существенно, это не так существенно, как миллион пользователей для СМИ. Характер решений будет кардинально различаться.
М.СПИРИДОНОВ: Видимо, основную роль играет программный архитектор, который принимает базовые решения?
О.БУНИН: Да, он собирает информацию о том, что и как будет работать. Он принимает решение о том, как в технологическом плане будет развиваться проект, он решает, как он будет масштабироваться, как будет переписываться так, чтобы выдерживать большие нагрузки. Проект нужно подготовить к подобному масштабированию. Мы изучаем программную архитектуру сайта, то есть смотрим, как происходит разделение на модули, как проходит процесс выполнения запроса. Один из моих любимых вопросов на собеседовании – сколько стадий проходит запрос, сколько времени проходит, пока пользователь не получит ответ, в стандартной схеме, где работает Apache и Perl или PHP. Мало, кто из программистов знает ответ на этот вопрос. Их десятки, десятки раз этот запрос переформатируется, изучается, разбирается на детали, собирается вновь. Десятки машин может пройти этот запрос перед тем, как будет сформирован ответ. В общем, нужно сделать так, чтобы программная архитектура позволяла использовать подобную сложность выполнения запросов. В итоге, ее нужно переделывать. Как правило, это серьезные и глубокие изменения. Нужно ввести слой для работы с базой данных, слой для работы с кэшом, слой для генерации ответов пользователя и так далее. Когда подобная архитектура уже будет разработана, дальнейшее не представляет особых сложностей.
М.СПИРИДОНОВ: Вообще что такое высокие нагрузки? Расскажи обобщенно. От какого количества начинаются высокие нагрузки? С какого числа пользователей и характера нагрузки нужно задумываться о том, чтобы всерьез заниматься нагрузками, а не полагаться, что выдержит стандартная CMS?
О.БУНИН: Это зависит от типа проектов, но в целом это десятки тысяч пользователей в сутки. Начиная от 30-40 тысяч пользователей в сутки, я бы задумался о том, что будет дальше. Это, конечно, не высокие нагрузки, но тем не менее.
М.СПИРИДОНОВ: А что такое высокие нагрузки? У меня на проекте максимум 150-170 тысяч. Это высокие нагрузки?
О.БУНИН: Я думаю, что в твоих проектах не используются шаблонные решения.
М.СПИРИДОНОВ: Конечно, нет.
О.БУНИН: Это означает, что люди уже думали о том, как сайт будет выдерживать такое количество людей.
М.СПИРИДОНОВ: Понятно, что думали. Мне любопытно, как верно определять это понятие. От 100 или 200 тысяч?
О.БУНИН: Реально высокие нагрузки – сотни тысяч пользователей. Задумываться об этом стоит, когда на сайте десятки тысяч пользователей в сутки. Понятное дело, что для миллионов уже совсем другие идеи и решения. Сотни тысяч – это типичный случай.
М.СПИРИДОНОВ: По моим наблюдениям, как нетехнического менеджера, очень по-разному решаются эти проблемы с точки зрения железа. Видимо, это зависит от квалификации специалистов, которые занимаются вопросом. Я знаю, что бывает, когда 100-200 тысяч посещаемости крутится на одном сервере. Также я видел, когда при посещаемости 50 тысяч стоит кластер на 5 серверов. Как ты прокомментируешь такую ситуацию?
О.БУНИН: Нужно смотреть, что это за проекты. Бывает такое, что 100 тысяч человек приходят, смотрят одну страницу и уходят. В таком случае всё может крутиться на одном сервере. Каждый из 50 тысяч пользователей может генерировать большую нагрузку, сложные алгоритмические вычисления, которые требуют участия большого количества процессорной мощности. В этом случае может быть 5 серверов.
М.СПИРИДОНОВ: В тех случаях, про которые я говорил, речь идет об интернет-СМИ с возможностью комментирования.
О.БУНИН: В таком случае всё зависит от рук и ума разработчиков. Сейчас стоимость сервера значительно ниже, чем ума людей. Тот же самый Игорь Сысоев, который недавно получил инвестиции в свою собственную разработку, экономил Рамблеру многие десятки и даже сотни тысяч долларов. Именно потому, что он написал такое программное обеспечение, которое работало быстро и не требовало большого количества железа.
М.СПИРИДОНОВ: Я всё время стараюсь сделать выводы, которые были бы применимы для предпринимателя. Очень важно определиться с тем, кто будет программировать, поскольку это может выливаться в большие деньги.
О.БУНИН: Да, совершенно верно.
М.СПИРИДОНОВ: Очень важно иметь хорошие отношения с тем, кто укладывает твой парашют. Похожая история.
О.БУНИН: Да, действительно похожая.
М.СПИРИДОНОВ: Среди прочих напастей, которые относятся к высоким нагрузкам, есть DDoS. Вы умеете с ними бороться?
О.БУНИН: Да, мы умеем защищаться от DDoS. Самый правильный ответ звучит так: «Ваш сайт должен быть спрограммирован таким образом, чтобы не замечать DDoS».
М.СПИРИДОНОВ: Давай будем реалистами. Я понимаю, о чем ты говоришь. С запасом в десятки раз?
О.БУНИН: Речь идет необязательно о том, что у тебя должно быть 100 серверов, когда реально нужно 10. Это значит, что у тебя всё должно быть спроектировано таким образом, что для тебя не составляет труда с 10 серверов вырасти до 100, что тебе не нужно ничего переписывать, ты просто включаешь их и все. Ты должен включить их, и всё должно продолжать работать.
М.СПИРИДОНОВ: Иными словами, ты стоишь с серверами наготове, и если у тебя пошел DDoS, то ты подключил еще десяток?
О.БУНИН: Либо так, либо ты нажал на волшебную кнопочку, и произошли невидимые для пользователя изменения, и сайт продолжает работать. У тебя должны быть спроектированы различные уровни, твой сайт должен автоматически реагировать на повышенную нагрузку. Дело не в том, чтобы заказать новые сервера, а в том, чтобы увеличить время кэширования с одной минуты до 5 минут.
М.СПИРИДОНОВ: То есть, чтобы для пользователя возникали какие-то неудобства, но умеренные.
О.БУНИН: Да. 99% пользователей не заметят, что у тебя время кэширования выросло с одной до пяти минут, но это снизит нагрузку в десятки раз. Это вполне реальные цифры.
М.СПИРИДОНОВ: В крупных американских проектах высокие нагрузки – это нагрузки на сервера совсем иного порядка. Вспомним тот же самый Facebook, eBay или Amazon. Они на порядок или на порядки больше. Есть ли принципиальные отличия в российском и западном подходах к работе?
О.БУНИН: По этой причине мы очень часто приглашаем на нашу конференцию западных специалистов. У нас обычно четверть докладов проходит на английском языке. Цель всего этого – выяснить, как они справляются с теми или иными решениями. Набор технологий, решений и способов одинаковый, но сайт, который создается в России, даже если он будет успешным, может не дорасти до высоких нагрузок, потому что у нас маленькая аудитория. Сайт, который создается на американском рынке, если он будет успешным – практически 100% высоконагруженное решение. Они с этим чаще сталкиваются, чем мы.
М.СПИРИДОНОВ: Какие западные проекты с точки зрения работы с большим количеством данных и пользователей у тебя вызывают наибольшее уважение?
О.БУНИН: Я не буду оригинальным, это Google и Facebook.
М.СПИРИДОНОВ: Меня тоже восхищает то, как Facebook при огромной серверной базе, огромном количестве кода и сложной технической инфраструктуре держит высочайший темп разработки и выкатывает новые и новые функции, новые и новые возможности. Ведь даже небольшой проект, рассчитанный на сотни пользователей, так быстро не успевал бы что-то придумать.
О.БУНИН: Это грамотная программная архитектура. Я детально не знаком с тем, что творится внутри Facebook. Я могу привести пример Яндекса, в котором есть люди, которые занимаются высокими нагрузками и пишут что-то вроде платформы. Они берут на себя все проблемы посещаемости, огромного количества людей, связи между различными проектами, а есть программисты, которые пишут небольшие кусочки и реализуют тот или иной проект. Они пишут небольшой кусочек, и он запускается на платформе, которая может выдержать колоссальные нагрузки. Яндекс тем самым добился того, что собрать новый проект он может за считанные дни, используя готовые наработки. Они каждый раз не пишут заново масштабируемые решения, это не нужно. У них есть работающий слой, на который можно сверху что-то довесить.
М.СПИРИДОНОВ: Как изменилась веб-разработка за последние годы? Изменилась ли вообще?
О.БУНИН: Конечно, она меняется. Рынок потихоньку растет. Возвращусь к конференциям, которые мы проводим. Почему мы их начали проводить? Потому что не было почти ни одного места, куда можно было прийти и чему-то научиться. Это классическая ситуация, когда общественное мероприятие родилось «снизу», то есть программисты решили собираться и рассказывать друг другу, что и как они делают. Сейчас ситуация совсем не такая катастрофическая, какой она была раньше. Если лет 5 назад мы говорили об информационном вакууме в области веб-разработки, то сейчас есть сайты, книги, конференции, мероприятия и курсы, то есть всему можно научиться.
М.СПИРИДОНОВ: Воспитание программистов стало более системным? Лет 5-7 назад программистов было брать неоткуда. По моим ощущениям, это были самоучки.
О.БУНИН: Да. Сегодня оно стало более системным, и уровень знаний программистов колоссально поднялся. Так, как сейчас пишут сайты, не писали несколько лет назад.
М.СПИРИДОНОВ: Стали комментировать код?
О.БУНИН: Да, можно и так сказать. Ты затрагиваешь болезненную тему. Это вопрос зрелости рынка не столько программистов, сколько студий, которые делают сайты.
М.СПИРИДОНОВ: Растолкуй.
О.БУНИН: Несколько лет назад понятий «юзабилити», «отдел тестирования» не было вообще. Мы одними из первых (6-7 лет назад) внедрили отдел тестирования в Рамблере. Тестирование стало отдельной стадией бизнес-процесса по разработке сайта. Тогда это было колоссальным новшеством. Мы писали сайт и не просто выкладывали его, а передавали в отдел тестирования. Он его нам возвращал со списком из 100 мелких ошибок, которые он находил. Тогда в отдел закупили старые компьютеры, установили на них различное программное обеспечение, в том числе и архаичное, и гоняли наши сайты. Сейчас тестирование – это нормальный процесс. Если в смете на создание сайта, которую вам присылают, нет тестирования, то это непрофессиональная команда.
М.СПИРИДОНОВ: Ты затронул интересную тему – тему построения работы по созданию проекта, особенно большого проекта, рассчитанного на серьезную посещаемость. Если раньше с точки зрения предпринимателя, мало-мальски продвинутого в интернете, всё было на уровне «посажу программистов и дизайнеров, и они что-то делают», то, как сегодня выглядит классическое построение фирмы по отделам?
О.БУНИН: Сейчас в проекте участвуют гораздо больше ролей. Это не только программисты и дизайнеры. Сначала клиента нужно опросить, заказчик должен передать свое видение, нужно выяснить, что он хочет. С заказчиком работает менеджер проекта, аналитики, которые опрашивают его, формируя некоторый набор документов, который будет передан дизайнерам, чтобы они нарисовали правильный сайт, и программистам, чтобы они выбрали правильные технологии, CMS или решили всё писать на основе какого-то framework, выбрали правильную базу данных. Эта же документация будет передана в отдел тестирования, который будет проверять соответствие того, что было сделано программистами и дизайнерами, исходным задачам. Сам отдел разработчиков сейчас довольно сильно специализирован: есть программисты, есть специалисты по базам данных, есть системные администраторы, есть архитекторы, есть javascript-программисты, есть flash-программисты и так далее. Если сейчас в создании даже небольшого проекта будет участвовать 10-15 человек, из них 10 разных ролей, то это вполне нормально. При этом будет всего 2-3 программиста, которые будут непосредственно делать сайт. Все остальные будут заниматься очень узкими участками: собирать информацию или управлять процессом. Сейчас любая дизайн-студия – это гораздо более сложное образование, нежели раньше.
М.СПИРИДОНОВ: Если сегодня какой-нибудь предприниматель, желающий построить бизнес в интернете, хочет построить грамотный веб-проект, как ему поступить? Какой алгоритм действий ты, как специалист в этой области, ему предложишь?
О.БУНИН: Это важная тема. Мы даже думали проводить конференцию для заказчиков на тему «Как правильно общаться с интернет-специалистами?», где бы мы им рассказывали, как правильно ставить задачу и получать то, что ты хочешь. Всё очень сильно зависит от проекта. Конкретизируй задачу. Что именно хочет разработать человек?
М.СПИРИДОНОВ: Допустим, он решил создать интернет-СМИ в общественно-политической области.
О.БУНИН: Это не самый сложный проект, но всё зависит от того, насколько далеко идут амбиции заказчика.
М.СПИРИДОНОВ: Вряд ли он сразу будет рассчитывать на сотни тысяч человек. Предположим, что он рассчитывает на десятки тысяч.
О.БУНИН: Сейчас создание сайта – встроенный в бизнес заказчика проект. Надо смотреть на то, когда нужно запустить проект, как быстро всё нужно разработать. В любом случае с этой задачей нужно приходить в профессиональную студию, которая занималась подобными вещами, нужно выделить отдельного человека внутри себя, который будет отвечать за этот проект. Он должен будет организовать тендер между дизайн-студиями, выбрать ту, которая проведет его через все сложности.
М.СПИРИДОНОВ: На твой взгляд, самостоятельную команду искать нет смысла?
О.БУНИН: Это практически невозможно. Есть некоторые проекты, ради которых создание команды обязательно, но это не интернет-СМИ.
М.СПИРИДОНОВ: Какие проекты требуют создания команды?
О.БУНИН: Онлайн-игры, поисковая система, почтовая система.
М.СПИРИДОНОВ: То есть крупный портал, где работа после старта продолжается с той же интенсивностью, что и во время разработки?
О.БУНИН: Да. Один из критериев – это бизнес проекта. Нужно знать, насколько велика в бизнесе проекта и бизнесе компании заказчика в целом будет технологическая составляющая. Например, если у него есть сеть спортивных магазинов, где он занимается продажей спортивной атрибутики, и он хочет добавить интернет-магазин, то в этом случае ему стоит обратиться в стороннюю компанию – к профессионалам, которые сделают интернет-магазин быстро и качественно. Если же он хочет сделать исключительно интернет-СМИ, где ничего, кроме интернета не будет, то ему стоит думать о том, чтобы сформировать собственную команду.
М.СПИРИДОНОВ: Под СМИ?
О.БУНИН: Да, даже под СМИ. Если весь твой бизнес зависит от ребят, которые проектируют и программируют сайт, то через какое-то время тебе придется посадить их рядом с собой.
М.СПИРИДОНОВ: Ты коснулся темы конференций, которыми ты занимаешься. Что тебя подтолкнуло к тому, чтобы стать event-менеджером?
О.БУНИН: Изначально это было внутренней потребностью в обучении, мы хотели учиться. Технически организовывает конференции моя команда, но идеологически в создании конференции участвует всё сообщество. Как начинается подготовка к любой конференции? Мы объявляем большое собрание всех заинтересованных лиц, и приходят абсолютно любые люди. Встреча открытая, поэтому прийти может, кто угодно. Мы начинаем обсуждать, как мы хотим сделать конференцию в этом году, какой она будет. Я всё это воспринимаю как сообщество, которое ставит нам конкретные задачи – найти конкретных людей для выступления, подобрать конкретную площадку, потому что в этом году формат конференции будет таким. Изначально это было потребностью в обучении, росте, сейчас всё это организовывается на более высоком уровне.
М.СПИРИДОНОВ: Это стало еще и бизнесом? Судя по всему, поднимаются нормальные деньги.
О.БУНИН: Там поднимаются деньги, но не огромные. В первую очередь, в силу того, что деятельность по конференциям несильно масштабируемая. Мы можем делать 3 конференции в год, можем сделать 5 конференций в год, но не 25. В то же время мы можем разрабатывать 5 проектов в год, может 25, а можем и 100.
М.СПИРИДОНОВ: Как ты распределяешь свое время между проектами и конференциями? Мы с тобой пересекаемся на конференциях, ты меня периодически приглашаешь для выступлений, и я вижу, что ты в них серьезно погружен. Настолько же сильно ты погружен в разработку?
О.БУНИН: Нет, меньше. Конференции – это мое любимое детище. Мне нравится делать мероприятия, которые полезны большому количеству людей. Сейчас я занимаюсь только формированием программы. Даже не столько формированием программы, сколько координацией процессов по формированию программы. Мне приятно вытаскивать самого «вкусного» докладчика, уговорить Павла Дурова выступить на конференции. Кстати, единственная техническая конференция, на которой выступал Павел Дуров – это наша.
М.СПИРИДОНОВ: Он выступал в видео?
О.БУНИН: В прошлом году он приехал к нам. Этому предшествовал мой приезд в Питер, мы с ним согласовывали тему, я его уговаривал, в итоге уговорил. Он приехал и выступил, его выступление вызвало фурор. То, что он приехал, то, что он был готов раскрыть какие-то внутренние секреты, был готов учить людей, распространять информацию, приветствовалось чуть ли не стоя. То, как работает Вконтакте – это очень интересная с технической тоски зрения методология.
М.СПИРИДОНОВ: Кто в Рунете тебе кажется наиболее технологически продвинутым? Вконтакте? Ты говоришь, что Вконтакте хорошо работает. Кто еще вызывает твое уважение, как специалиста?
О.БУНИН: Яндекс, Мейл.ру и ВКонтакте. У управленцев Мейл.ру гораздо более сложная технологически задача, чем у Яндекса. Все эти компании очень разные, у них разные стили работы, и все они заслуживают внимания. Каждый из них в выбранном направлении лидер.
М.СПИРИДОНОВ: Раз ты – один из тех немногих, кто «Ленина видел», то есть Дурова и программные исходники, ответь мне на один вопрос. Ходят слухи о том, что они частично или полностью взяты из Facebook. Так ли это?
О.БУНИН: Это не правда.
М.СПИРИДОНОВ: Утверждаешь?
О.БУНИН: Да.
М.СПИРИДОНОВ: Хорошо. На этом закончим основную часть программы. Впереди небольшой блиц. Я прошу тебя отвечать на вопросы блица лаконично.
О.БУНИН: Хорошо.
М.СПИРИДОНОВ: Из тех проектов, что ты реализовал, какой самый любимый?
О.БУНИН: Сама компания и конференции.
М.СПИРИДОНОВ: Лучшее средство для разработки?
О.БУНИН: Правильно построенный процесс мышления, мозги.
М.СПИРИДОНОВ: Назови 3 наиболее важных качества для разработчика?
О.БУНИН: Я назову одно – внутренняя потребность делать хорошую вещь.
М.СПИРИДОНОВ: Я думаю, это полезно для любой профессии.
О.БУНИН: Для разработчиков особенно, потому что их работу очень сложно проверить. Внешне смотришь, видишь, что работает, а что там внутри сложно понять, сложно понять, какого качества код. Сам разработчик всегда знает, хороший код он написал или нет. Если у него есть внутренняя потребность в том, чтобы всё делать хорошо, то будут получаться проекты более высокого класса.
М.СПИРИДОНОВ: Я вспомнил недавнюю историю. В одном из проектов, который я курирую, всё хорошо внешне, и я попросил знакомого проаудировать сайт, поскольку он делался до моего активного вхождения в проект. Тот сначала сказал, что вроде всё нормально, а потом он заглянул глубоко в код. Это страшная сказка для слушающих или читающих нас предпринимателей. Он сказал, что всё ужасно, что нужно всё переписывать с нуля. Я впервые столкнулся с тем, что, наняв внешнего специалиста, который до сих пор является одним из тех, кто занимается сайтом, мне приходится переписывать код. Он об этом пока не знает, потому что я не хочу его расстраивать. Я боюсь, что, если он узнает об этом, то будет работать недобросовестно. Я думаю, что ты с такими ситуациями встречался чаще, чем я. Бывает так: внешне всё хорошо, а внутри тихий ужас.
О.БУНИН: Это одна из причин, почему надо осторожно относиться к формированию собственной команды для создания веб-сайта. Если для того чтобы заказать у профессионального подрядчика сайт вам нужен только управленец, то для того чтобы сформировать собственную команду, вам нужен управленец-технарь, который будет подбирать программистов, оценивать качество их работы.
М.СПИРИДОНОВ: Хорошо. Задам последний вопрос блица. Почему в IT так мало девушек?
О.БУНИН: Я думаю, что это нетипичная для них сфера.
М.СПИРИДОНОВ: Девушки не любят быть педантами?
О.БУНИН: Я думаю, что им не хватает системного мышления, а для программистов это важно. Не многие девушки способны настолько системно мыслить, а это требуется при создании проектов.
М.СПИРИДОНОВ: Есть хорошая история на эту тему. Я надеюсь, что не обижу слушающих нас представительниц прекрасного пола. Для мужчины 2+2 может быть 4, для неумного мужчины – 5 или 6, для девушки – это сумочка или букетик, то есть вещь другой категории, совершенно другого порядка. Пойдем дальше. Остался небольшой фрагмент программы – это вопросы слушателей. Я озвучу некоторые из них. Они были собраны редакцией программы в анонсах передачи в моем блоге по адресу Spiridonov.ru, либо в представительствах Рунетологии в Твиттере и Facebook. Владимир Кузьмин спрашивает: «Каким образом Вы популяризируете ту или иную конференцию, привлекаете к ней людей?».
О.БУНИН: Работаем с сообществами, теми, кому интересна сама конференция, ее контент.
М.СПИРИДОНОВ: Можно ли аналогичным способом, на Ваш взгляд, популяризировать, скажем, интернет-ресурсы?
О.БУНИН: В принципе да. Человек выбирает целевую аудиторию и начинает привлекать ее из тех мест, где она есть.
М.СПИРИДОНОВ: Тарас Прокопюк спрашивает: «Олег, какой бы вы дали совет молодой команде разработчиков, которая разрабатывает WEB-сервис, который рано или поздно станет высоконагруженным. Имеются в виду вопросы технического плана, язык программирования, этапы разработки сервиса и прочее».
О.БУНИН: Здесь нет правильных ответов. На любом языке программирования можно сделать любой проект. Дело не в языке программирования, а в навыках команды. Нужно писать на том языке, который команда хорошо знает. Нужно сформировать технологию и профессионально расти.
М.СПИРИДОНОВ: Артур Сабиров пишет: «Высокие цены на билеты конференции HighLoad++ отсеивают огромную долю независимых специалистов (фрилансеров) и студентов, у которых нет за спиной компании-спонсора». Что ты на это скажешь?
О.БУНИН: Не соглашусь. Порядка 50% наших слушателей на конференции – это частные лица. Высокие цены на конференции позволяют нам организовывать очень качественное мероприятие, приглашать огромное количество западных докладчиков, приглашать тех российских докладчиков, которые не могут приехать, уговаривать их, делать мероприятие на таком уровне, когда ничего не отвлекает от обучения, подбирать самую лучшую площадку, самое лучшее питание, то есть организовывать всё на максимально высоком уровне. Понятное дело, что косяки есть всегда, но мы стараемся. Также скажу, что наша конференция не для студентов, а для тех, кто уже работает в этой области. Для меня идеальная картинка HighLoad – это когда Игорь Сысоев, Алексей Рыбак и другие специалисты высочайшего уровня приходят послушать, приходят чему-то научиться. Мы стараемся сделать так, чтобы наша программа была интересна самым лучшим.
М.СПИРИДОНОВ: Хорошо, Олег. На этом будем заканчивать. Если есть, что добавить в финале, то прошу.
О.БУНИН: Из нашей беседы можно сделать вывод, что будущее за качеством. Когда у нас настолько насыщенные рынки, только тот, кто делает лучший продукт, тот, кто программирует лучше всех, и победит.
М.СПИРИДОНОВ: На этом всё. Вы слушали программу "Рунетология", у нас в гостях был руководитель компании “Онтико” – Олег Бунин. Редакция выпуска — Андрей Митрохин, Станислав Жураковский, Юрий Берингов, Надежда Гусарова. Вел программу Максим Спиридонов. До следующего выпуска!