Я лидер WEB разработки
Главная страница → Для будущих лидеров → Мастер-классы → Highload: принципы разработки крупных интернет-проектов

Highload: принципы разработки крупных интернет-проектов

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

Ведущий

Алексей Рыбак (fisher), руководитель отдела веб-разработчиков компании Eyelinkmedia. Занимается разработкой веб-проектов с 1999 года. Основное направление работы в последние годы - массовые социальные сервисы. Участвовал в создании и поддержке ряда крупнейших российских и международных проектов.

Аудитория

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

Итоги посещения семинара

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

Вопросы, затрагиваемые в рамках семинара

Базовые аппаратные и сервисные компоненты интернет-систем
- веб-сервера, основные характеристики, prefork/worker модели, apache-1/2, nginx и прочие "легкие" сервера
- fcgi
- базы данных, основные характеристики и этапы выполнения запроса
- сервисы приложений и кэширования, memcached
- общий взгляд на компоненты: как всё работает вместе
- аппаратные компоненты: жесткий диск, память, процессор, сеть и их характеристики
- особенности OC Linux
- характерные риски при проектировании и эксплуатации интернет-систем

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

Особенности использования PHP
- безопасность
- сессии
- MVC, работа с базой данных, спагетти и шаблонизаторы
- zval, память и процессор
- акселерация
- разработка собственных расширений
- распространенные ошибки & performance hints

Особенности использования MySQL
- типы таблиц, блокировки
- типы индексов
- типы запросов, анализ плана выполнения, тюнинг
- важные конфигурационные параметры
- денормализация
- разделение данных, partitioning
- кэширование
- репликация, binary log, особенности, optimization hints
- распространённые ошибки & performance hints

Системная архитектура крупных интернет-систем
- вертикальное и горизонтальное масштабирование, слабосвязанные архитектуры (shared nothing)
- проксирование, двухуровневая модель (frontend/backend) и её производные
- долгоживущие соединения (persistent/keep-alive)
- репликация, плюсы и минусы
- распределённые платформы для хранения данных
- методики кеширования
- отложенные операции и фоновые процессы

Процесс разработки интернет-систем
- основные "программистские" риски в разработке ПО для крупных проектов
- гибкое проектирование, обязательные последующие изменения,  работа над ошибками, качественные логи
- функциональное и нагрузочное тестирование
- эксплуатация, профилирование и тюнинг
- методы ведения документации и базы знаний по проекту

Условия и предварительная регистрация

Продолжительность программы - 1 день.
 
Ориентировочная стоимость - 9 000 рублей.
 
 
© 1997 - 2008 | PHP Club Team | PHPCENTER | PHPCONF | +7 (495) 585-92-61