Большинство крупных проектов состоят из внушительного количества разнообразных программных компонент и живет на большом количестве физических серверов. Поэтому важней?шей задачей технической команды проекта является выбор такой архитектуры, чтобы были обеспечены: оптимальная стоимость владения и масштабируемость проекта. Подавляющее большинство молодых проектов переживает как минимум один существенный кризис роста: как только проект приобретает популярность, вдруг оказывается, что дальше расти без серьезного «хирургического» вмешательства не получается и необходимо в кратчайшие сроки кардинально менять архитектуру. Чаще всего это оказывается крайне трудоемким и весьма нервным занятием, поэтому лучше большинство проблем постараться предусмотреть заранее.
В докладе, который носит учебный характер, мы коснемся ключевых проблем, которые должны быть решены практически в любом крупном проекте: масштабирование «в пространстве» (разделение по серверам или «физически» разным под-системам, компонентое/сервисное разделение) и «во времени» (очереди, асинхронная обработка). Основное внимание будет уделено трём темам: масштабирование веб/application серверов, масштабирование серве?ров баз данных и асинхронная обработка отложенных событий. Стек технологий: Linux/Unix, apache/nginx, PHP/Perl/Python, MySQL однако рассматриваемые принципы применимы для гораздо более широкого спектра.
В первую очередь мы ориентируемся на разработчиков, которые уже сделали первые шаги к настоящему Мастерству, но хотят существенно пополнить и систематизировать свои знания. Особенно доклад будет интересен разработчикам, которые либо уже сталкиваются с проблемами производительности, либо хотят быть во всеоружии перед ростом популярности и большими нагрузками на свои проекты. Многие вопросы, которых мы будем касаться, будут также интересны архитекторам и техническим руководителям.
Алексей Рыбак (badoo.com). Москва, 32 года. Окончил физический ф-т МГУ. Разработкой веб-проектов занимается с 1999 года. Основное направление работы в последние годы - массовые социальные сервисы, фото- и видео-хостинг, знакомства. Принимал участие в разработке проектов badoo.com, mamba.ru, ДИВ ВГТРК, Мемонет.
Контакты: alexey.rybak@gmail.com