Ведущий мастер-класса — Андрей Смирнов
Трёхдневный мастер-класс с практическими заданиями
Опытный руководитель разработки, разработчик, фанат Python, Go, DevOps и больших нагрузок. Андрей участвовал в разработке и руководил созданием таких проектов как damochka.ru, delit.net, smotri.com. В стартапе Qik руководил созданием backend-сервисов, после покупки Qik компанией Skype продолжил заниматься созданием серверной части системы асинхронных коммуникаций Skype. Автор open-source проектов aptly, Redis Resharding Proxy и txZMQ. Создатель сервера вещаний для smotri.com, сервера сигналлинга и нотификаций для видеозвонков Qik и многих других проектов. Многократно выступал на РИТ++, HighLoad и других конференциях, преподавал на факультете ВМиК МГУ.
Описание
Разработчики, технические руководители, руководители проектов часто проходят один и тот же путь проб и ошибок, развивая сервис от прототипа до готового большого продукта. Вопросы надёжности, отказоустойчивости, масштабирования обычно приносят наибольшее количество проблем, могут отодвинуть релиз проекта или создать негативное впечатление о продукте. Мы поговорим о типичных системах, состоящих из двух частей: клиентского приложения (HTML/Mobile/Desktop) и веб-сервиса (бэкенда).
Трёхдневный мастер-класс позволит ответить на вопросы:
- — какую архитектуру системы мне выбрать, когда стоит изменить существующую архитектуру, какие будут преимущества у такого перехода?
- — где лучше хранить данные X, если над ними надо производить операции Y, при этом всё это будет находиться в облаке/железных серверах/памяти/…? как устроено хранилище данных, какие возможны компромиссы?
- — какие изменения я сделаю, когда нагрузка увеличится в десять, сто, … раз?
- — как обеспечить надёжность, начиная с клиентского приложения и заканчивая сервером?
В этом курсе будут освещены основные этапы разработки и эксплуатации подобных систем — это большой набор разнообразных тем, некоторые из них будут рассмотрены подробно, для других, в силу их большого объёма, будет дан краткий сравнительный обзор. Самое ценное — это полученный опыт, расширение кругозора, набор «трюков» и просто приёмов. На протяжении всего мастер-класса мы будем выполнять практические задания — от нагрузочного тестирования HTTP-серверов различных архитектур, до симуляции падения бэкенда из-за некорректного алгоритма повторения запроса на клиенте.
Предполагаемый уровень подготовки участников: опыт разработки web-приложений, базовые представления о базах данных, сетевом взаимодействии. Для выполнения практических заданий понадобится компьютер с настроенным клиентом ssh.