Игорь Сысоев: «Мне нравится работать на стыке профессий системного администратора и программиста!»::Журнал СА 10.2013
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1313
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1419
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1093
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 841
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1434
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Игорь Сысоев: «Мне нравится работать на стыке профессий системного администратора и программиста!»

Архив номеров / 2013 / Выпуск №10 (131) / Игорь Сысоев: «Мне нравится работать на стыке профессий системного администратора и программиста!»

Рубрика: Разработка /  Гость номера

Игорь Сысоев:
«Мне нравится работать на стыке профессий системного администратора и программиста!»

Игорь Сысоев
Игорь Сысоев, родился и вырос в Алма-Ате, Казахская ССР, в семье военного. В 1994 году окончил МГТУ им. Баумана, работал системным администратором в нефтегазовой компании, затем ведущим системным администратором в Рамблере. Одновременно занимался созданием высокопроизводительного веб-сервера nginx. В 2011 году основал компанию Nginx, Inc., призванную развивать и продвигать созданный им продукт.

Игорь Сысоев родился и вырос в Алма-Ате, Казахская ССР, в семье военного. В 1994 году окончил МГТУ им. Баумана, работал системным администратором в нефтегазовой компании, затем ведущим системным администратором в Рамблере. Одновременно занимался созданием высокопроизводительного веб-сервера nginx. В 2011 году основал компанию Nginx, Inc., призванную развивать и продвигать созданный им продукт.

Начало

– Когда и как к вам пришло понимание, что для решения целого ряда задач нельзя обойтись модернизацией Apache и надо создать нечто другое?

– В 2001 году в Рамблере. На тот момент существовали более масштабируемые серверы – boa, thttpd, mathopd, но все они были слишком простые и со скромными возможностями настройки, работали только со статическими файлами и не умели проксировать. Кроме того, они не использовали многопроцессорность, а на тот момент двухпроцессорные системы уже стали вполне распространенными. Весной 2002 году в Рамблер переехал сайт mult.ru, мультики про Масяню. На нем было особенно хорошо видно, что Apache неэффективно использует ресурсы компьютера.

– И… разрабатываемый вами продукт по значительности превзошел масштаб одной компании, даже такой, как Рамблер!

– Судя по записям на моем сайте, уже весной 2006 года nginx использовался на 10% сайтов Рунета. Точно помню, как меня удивило, что в Google Online Security Blog написали, что, по их данным, nginx используется на 4% сайтов всего Интернета.

Эдсгер Дейкстра говорил, что студенты, ранее изучавшие Бейсик, как потенциальные программисты умственно изувечены без надежды на восстановление. Однако программист Игорь Сысоев именно с этого языка и начал.

– Я не знаю, что именно Дейкстре не нравилось в Бейсике, возможно, это были оператор GOTO и отсутствие функций. На таком языке действительно сложно делать большой проект. Но лично я не против оправданного применения GOTO. Не исключаю, что это вызвано именно полученным умственным увечьем.

– С изучения какого языка вы посоветуете начать человеку, приступающему к освоению программирования?

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

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

– Когда я начал работать в Рамблере, я не был состоявшимся программистом, я был опытным системным администратором, который еще немного программирует. У меня было три относительно крупных и законченных проекта, написанных на TurboPascal под CP/M на Z80, на ассемблере 8086 и на Perl, но профессиональным программистом я себя не считал. Мне нравится работать на стыке этих профессий – администрирование может быть рутинным, но рутину часто можно автоматизировать с помощью программирования.

Технологии

– Все ли Вас устраивает в существующей архитектуре nginx?

– Нет, далеко не все, и именно поэтому я работаю над новой архитектурой.

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

– Вполне возможно. Например, популярная платформа блогов WordPress.com использует FastCGI.

– Три года назад вы писали, что рассматривали возможность встроить javascript в nginx с помощью Google V8 Javascript Engine, и объясняли, почему отказались от этой идеи. С тех пор как javascript , так и V8 стремительно набирают популярность. Для nginx в этом плане что-нибудь изменилось?

– Пока ничего, но скоро изменится.

– В nginx 1.3 появилась поддержка протокола WebSockets. Как вы считаете, насколько эта технология сейчас готова к использованию? Насколько востребована? Почему реализация WebSockets (например, в node.js) обычно вызывает проблемы (утечки памяти и т.д.)?

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

– Какие новые технологии ожидаются в следующих версиях nginx?

– Поддержка трэдов, динамически подгружаемые модули.

– Не боитесь, что легкий и быстрый nginx с реализацией всех «фич» в конце концов превратится в неповоротливого монстра?

– Не боюсь.

Разработка

– Долгое время разработкой nginx занимались вы один, потом с Максимом Дуниным. Как идет разработка сейчас? Сколько человек в ней заняты постоянно и на каких ролях. Как происходит взаимодействие с сообществом пользователей?

– Сейчас над nginx трудится небольшой коллектив талантливых разработчиков. Кроме собственно программистов, в проекте есть человек, отвечающий за QA, системные инженеры, технический писатель. Пользуясь случаем, приглашаю в коллектив программистов с хорошим знанием языка C и опытом разработки для Unix-like-систем, желающих присоединиться к проекту.

– Не страшно ли было отдавать процесс в «чужие» руки?

– Во-первых, не страшно. Во-вторых, руки не чужие.

– Какие вы используете методы организации разработки? Какие методики, инструменты?

– Набор инструментов традиционен для unix: vim, gcc, clang, make, gdb, svn, hg. Кроме этого, используем ряд вспомогательных систем для анализа производительности, багтрекинга, планирования задач. Никакую специальную методику разработки мы не используем.

Программист как коммерсант

– Когда вы приняли решение, что nginx может быть коммерческим продуктом?

– Окончательное понимание коммерческих перспектив пришло в 2011 году, когда я решил создать компанию.

– Каково вам, состоявшемуся в своей профессии разработчику, осваивать роль бизнесмена?

– Я по-прежнему не бизнесмен и не собираюсь им становиться. Хотя и внимательно слежу за тем, что происходит с бизнесом компании, непосредственно вопросами бизнеса не занимаюсь.

– Заработать на Open Source-продукте – это миф или реальность?

– Мы как раз в процессе поиска ответа на этот вопрос.

– Какие способы монетизации nginx дают больше всего финансовой отдачи? Будут ли новые?

– Наш приоритет – развитие платных продуктов на базе Open Source nginx. Кроме этого, мы оказываем услуги профессиональной поддержки, если задачи заказчика связаны с nginx.

Российские программисты

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

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

Hihgload, что дальше?

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

– Думаю, все глобальные изменения будут связаны с совершенствованием мобильных устройств.

– Какие из уже существующих технологий наиболее перспективны?

– Я думаю, javascript и HTML5.

Чуть в сторону

– Понятно, что настоящий программист живет своей профессией, у вас еще и заботы о бизнесе. Остается ли свободное время? Как его проводите? Хобби, увлечения?

– Читаю книги, сайты и блоги по истории, биологии, социологии и экономике. Смотрю телевизор, обычно каналы «Моя Планета», «Культура», «Дискавери», «Энимал планет» и тому подобное. Люблю гулять по Измайловскому парку. Зимой катаюсь в Австрии на горных лыжах, летом иногда учусь виндсерфингу.

Будущее

– Может ли в наше время разработчик-одиночка создать что-нибудь столь же значительное, как nginx, или в мире веб-разработки «все уже написано»?

– Конечно. Более того, сейчас это сделать проще, чем 10 лет назад, из-за совершенствования средств разработки, как программных, так и аппаратных.

– Какими качествами он должен обладать?

– Терпением.

Беседовал Кирилл Сухов


Комментарии отсутствуют

Добавить комментарий

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

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru