Мастер-класс Олега Бунина
организатор профессиональных IT-конференций HighLoad++. RootConf, руководитель компании-разработчика высоконагруженных проектов ООО «Онтико»

Разработка высоконагруженных проектов
Сотни тысяч, миллионы, десятки миллионов хитов. Бесперебойная работа. Сложная структура: серверный парк, большое количество кода; большое количество данных.
Зависимость серверного парка от типа проекта.
Типы роста нагрузки. Типичные узкие места проектов.
Виды масштабирования: горизонтальное масштабирование, шардинг, вертикальное масштабирование, функциональное разбиение.
Разбиение данных для шардинга.
Как облегчить масштабирование? Низкая степень связности данных и кода. Разделение кода на слои, частый рефакторинг. Контроль над системой. Минимизация академических решений.
Масштабируемая архитектура: асинхронные вычисления, слабосвязанная, слоистая, горизонтальная масштабирование.
Базы данных: репликация.
Структура типичного веб-проекта: фронтенд, бекенд, база данных.
Узкие места: производительность вычисляющих серверов, оперативная память, диск, трафик, базы данных.
Развитие проекта, цикл развития проекта.
Быстрая помощь: программные решения, хостинг, более мощное аппаратное обеспечение, редуцирование функциональности, уменьшение качества, оптимизация нагрузки.
Прогнозирование нагрузки, организация нагрузочного тестирования.
Экономика разработки интернет-проекта. Как посчитать стоимость
Общий алгоритм расчета стоимости разработки.
Выбор команды: фрилансеры, внутренняя команда, внешняя команда.
Насколько можно доверять оценкам программистов: волшебные вопросы и правильные ответы.
Выбор команды, критерии выбора.
Оптимальный тип команды для разных видов проекта.
Выбор технологий.
На что будет влиять выбор платформы для сайта? Стоимость поддержки и разработки, стоимость требуемых ресурсов, простота развития и скорость внесения изменений.
Выбор платформы: CMS, фреймворк, написание с нуля.
Сравнение разных платформ: стоимость специалистов, ФОТ, стоимость поддержки, стоимость лицензий, стоимость аппаратного решения.
Факторы, влияющие на выбор платформы.
LAMP.
Языки программирования.
Благотворное влияние кризиса.
Из чего складывается стоимость разработки? Длительность и сложность различных типов проектов.
Хостинг, оценка потребности в хостинге, стоимость хостинга.
Стоимость поддержки и развития.
Попробуем составить бюджеты.
Формирование команды
Что значит сформировать команду? Какие условия мы должны создать для успешного формирования сплоченной и сильной команды разработки?
Единые средства коммуникации.
Физическое расположение, легкость контакта.
Технические средства, поддерживающие процесс.
Мозговые штурмы, совместные мероприятия, кипение мозгов.
Экстремальное программирование – мифы и реальность.
О технических средствах: • Формализация требований; • Проектирование; • Документирование процесса; • Системы контроля версий; • Система постановки и контроля задач; • Тестирование.
Структура команды. Архитекторы, разработчики, ведущие разработчики. Должны ли архитекторы вести разработку? Рост команды, проектные группы.
Мотивация толковых и талантливых разработчиков. Подходы к мотивации сотрудников: (денежные и неденежные механизмы мотивации); обеспечение профессионального роста команды в целом и отдельных сотрудников в частности; Настройка команды на результат, психология.
Постоянное обучение, качество результата.
Мотивация, мотивация к росту и развитию. Почему Google выделяет 10% времени своих сотрудников как “свободное”? Какие плюсы в открытии всех внутренних разработок?
Обмен знаниями внутри команды. Мини-тренинги, семинары внутри команды. Обмен знаниями, “гостевой компьютер”.
Будет ли и может ли процесс формирования команды когда-либо завершен?
Олег Бунин о себе:
Прошел путь от простого программиста в компании Рамблер до владельца своей компании по разработке высоконагруженных интернет-проектов. В результате такого опыта, одинаково хорошо понимаю программистов, управленцев и бизнесменов, что позволяет довольно эффективно быть “переводчиком” между ними.
В «амблере собрал один из крупнейших отделов веб-разработки, многие из проектов Рамблера были созданы под моим руководством. Призеры премии Рунета, мы первыми, из большой тройки, разработали видео и фотохостинги, а затем и блогосферу.
Затем была должность технического директора холдинга NewmediaStars, мы занимались разработкой медиа-проектов, игр, сайтов знакомств. После NMS – собственная компания, которая специализируется на производстве технически сложных, высоконагруженных сайтов, СМИ, социальных сетей.
С 2007 года, сначала вместе с партнерами, а теперь и самостоятельно, организую серию IT-конференций для профессионалов. Наша цель – профессиональный рост каждого из участников наших мероприятий. Это конференция по высоконагруженным проектам HighLoad (в 2008 году собрала 760 человек), Российские интернет-технологии (в 2008 году собрала 1200 человек) и конференция по системному администрированию RootConf (в 2009 проводилась первый раз и собрала 444 участника).
Участник многих мероприятий, событий, докладчик Украинского форума, Объединенной конференции РИФ+КИБ, эксперт Программного комитета конференции Сайт-2009.
В общем, мне кажется, что в силу опыта, сосредоточенного на стыке программирования, управления и бизнеса, смогу быть интересен и полезен слушателям.
Об Олеге Бунине - Яндекс
Подать заявку на участие
По всем вопросам обращаться:
Ипполитова Ирина Емельяновна
Интернет-лаборатория "IRA",
телефоны: +7 (347) 257-95-06
е-mail: info@ira.su
|