4 июня(суббота) 2011 Москва

Телефон: +7 (495) 502-33-78
E-mail: 2011@devconf.ru

Архив 2011года - актуальная информация тут

[HighLoad] Основы построения масштабируемых высоконагруженных веб-проектов

Алексей Рыбак (badoo.com). Москва, родился в 1976 году.
В 1999-м году с отличием окончил физический ф-т МГУ. Разработкой веб-
проектов занимается с 1999 года. Основное направление работы в последние годы
-- массовые социальные сервисы, фото- и видео-хостинг, знакомства. Принимал
участие в разработке проектов badoo.com - 120 000 000пользователей, mamba.ru, ДИВ ВГТРК, Мемонет.

Мастер-класс(целый день)    Презентация (ppt, 1.1 Mb)

Мастер-класс расчитан на максимально широкую аудиторию.
В первую очередь мы ориентируемся на начинающих разработчиков и
на разработчиков, которые уже сделали первые шаги к настоящему
Мастерству, но хотят пополнить и систематизировать
свои знания. Особенно мастер-класс будет интересен
разработчикам молодых стартапов, которые либо уже
сталкиваются с проблемами производительности, либо
хотят быть во всеоружии перед ростом популярности
и большими нагрузками на свои проекты.

Подробно:
Мастер-класс расчитан на максимально широкую аудиторию.
В первую очередь мы ориентируемся на начинающих разработчиков и
на разработчиков, которые уже сделали первые шаги к настоящему
Мастерству, но хотят пополнить и систематизировать
свои знания. Особенно мастер-класс будет интересен
разработчикам молодых стартапов, которые либо уже
сталкиваются с проблемами производительности, либо
хотят быть во всеоружии перед ростом популярности
и большими нагрузками на свои проекты.

Подробно:
Основная задача мастер-класса -- продемонстрировать классический
инженерный подход к созданию сложных программных систем и
рассказать об основных принципах построения проектов, имеющих
многосерверную масштабируемую ахитертуру (стек технологий: Linux/Unix,
apache/nginx, PHP, MySQL- однако сами принципы применимы для гораздо
более широго спектра). Мы уделим максимум внимания тому, каким образом
функционируют каждый из компонентов практически любой интернет-
системы,
их узкие места, и рассмотрим основные принципы разработки с учётом
этих особенностей. Мы рассмотрим классические методы масштабирования,
кластеризации и увеличения производительности, с использованием
которых
создаются практически все современные интернет-системы. Мы также
рассмотрим ряд практических приёмов, которые легко можно применить
для очень широкого круга задач.

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

Краткий план мастер-класса (план будет адаптирован под интересы
аудитории)
* физические компоненты и их характеристики: процессор, память,
диск, сеть
* основные софтверные компоненты и их характеристики: веб-сервера,
сервера баз данных и приложений
* сети массового обслуживания
* масштабирование в пространстве (разделение по серверам или
"физически"
разным под-системам) и времени (компонентое/сервисное разделение,
асинхронная обработка)
* шардинг
* realtime vs пост-процессинг, очереди
* кеширование
* некоторые кейсы, демонстрирующие принципы разработки
* стоимость владения и масштабируемость
* типичные паттерны измерения компонент
* измерение real-time характеристик проекта при помощи pinba
* техническое управление highload-проектом


Список заявок секции