Мастер-класс про высокие нагрузки и надежность, РИТ-2014

24-26 мая я буду три дня подряд вести мастер-класс о высоких нагрузках и надежности. На мой взгляд, это две достаточно сложные темы, которые вызывают наибольшее количество трудностей при практической реализации. Я не ставлю целью дать набор конкретных практических знаний ("делай так, и все будет хорошо"), потому что не бывает универсальных архитектур, одинаковых проектов и "серебряных пуль". Моя задача - дать такой набор знаний и приемов, чтобы после мастер-класса каждый мог построить подходящую архитектуру самостоятельно. Это не будет курс о тюнинге MySQL или о настройке отказоустойчивого nginx, но мы будем говорить о том, почему MySQL устроен так, как он устроен, какие из этого вытекают характеристики, и, соответственно, что делать, чтобы заставить его работать быстрее.

Теоретический рассказ будет перемешиваться с вопросами, заданиями по проектированию и практическими заданиями на серверах в облаке. Непосредственно писать код не придется, но нужно будет вносить небольшие изменения в существующие программы. На сайте есть полная программа курса, если попытаться сформулировать ее более кратко:

  • базовая часть любой системы - хранение данных, принципы хранения, от встроенной базы данных до распределенного хранилища;
  • application server (backend) - организация многозадачности, прикладные frameworkи;
  • взаимодействие - переход от монолитной архитектуры с сервис-ориентированной, от очередей до RPC и паттернов взаимодействия;
  • клиентское приложение - сложность мобильного или web-приложения может быть даже выше, чем серверной части; как написать клиента так, чтобы вся система в целом была надежной и масштабируемой?
  • вопросы тестирования с одной стороны крайне важны, а с другой окружены мифами о том, что они могут решить все проблемы;
  • когда разработка завершена, осталось все собрать вместе, пришло время эксплуатации и обеспечения отказоустойчивости.

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

В качестве примера привожу небольшую часть курса:

Также в апреле на РИТ-2014 я сделаю два доклада: один про мой open-source проект, aptly, который позволяет обеспечить повторяемый и точно изменяемый набор пакетов на Debian-серверах, а второй будет одной из глав мастер-класса.

Комментарии

Comments powered by Disqus
Contents © 2015 Andrey - Powered by Nikola