4 апреля мы провели первую FailOver Conference — конференцию, целиком и полностью посвященную отказоустойчивости сайтов и их бесперебойной работе.
Целый день, более 7 часов, мы слушали доклады от разработчиков и архитекторов облачных сервисов, системных администраторов хостинг-провайдеров, опытных DBA, обсуждали их, спорили…
Тема оказалась очень важной и востребованной — более 1200 человек зарегистрировались на онлайн-трансляцию.
Конечно, сложно сразу «переварить» такой большой объем информации. К чему-то хочется вернуться позже, попробовать применить к конкретному проекту. Именно поэтому один из самых часто звучащих вопросов как из зала, так и в онлайне (в твиттере): «А будут ли опубликованы материалы?»
Да, конечно! Мы публикуем и презентации, и видео докладов, и с удовольствием делимся ими с вами!
* * *
1. «Экономика отказоустойчивости» (Александр Демидов, «1С-Битрикс»)
Всем ли проектам нужна отказоустойчивость? И если нужна, то в какой степени? К какому количеству «девяток» в uptime’е стоит стремиться? А главное – сколько это стоит? Попробуем разобраться и найти ответы на вопросы.
- Презентация (pptx, 2.9 Мб)
- Видео (flv, 122 Мб)
2. «Оптимизация затрат на отказоустойчивость» (Николай Двас, Clodo.ru)
О том, как формировать бизнес-требования по отказоустойчивости и использовать облачные инструменты для обеспечения оптимальной — исходя из бизнес-требований — отказоустойчивости
- Презентация (pdf, 1.7 Мб)
- Видео (flv, 114 Мб)
3. «Построение надежных, гибких, расширяемых систем в реальном мире» (Юрий Устинов, «Русоникс»)
* Железо или облако? Истина где-то рядом.
* N+1 причина, почему железки — тяжелый, но плохой выбор.
* N+1 причина, почему облако — легкий, но плохой выбор.
* Джедайская техника построения гибких систем: устраняем узкие места инфраструктуры, избегаем облачных проблем, расширяем, масштабируем, эксплуатируем.
- Презентация (pptx, 9.6 Мб)
- Видео (flv, 204 Мб)
4. «Отказоустойчивый код» (Илья Пятин, LineMedia)
* Теоретический подход (на что, как и почему надо обращать внимание?)
* Потоковая обработка данных (экономим память, подготовка к обработке, очереди)
* Асинхроность и таймауты (работа с внешними источниками данных и отказ внешних сервисов)
* Эффективное и безопасное разделение ресурсов
* Добавляем в код MongoDB (не только кеш, консистентность данных)
- Презентация (pptx, 1.6 Мб)
- Видео (flv, 134 Мб)
5. «Новые возможности репликации в MySQL 5.6» (Константин Осипов, Mail.Ru Group)
Одно из существенных нововведений MySQL 5.6 — global transaction identifiers (глобальные идентификаторы транзакций). О механизме действия новых идентификаторов, а также новых возможностях 5.6, основанных на этом понятии я постараюсь рассказать в своём докладе. В частности, мной будут рассмотрены новый, упрощённый механизм fail-over, multi-source репликация, разрешение конфликтов репликации.
- Презентация (pdf, 0.5 Мб)
- Видео (flv, 122 Мб)
6. «Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр» (Александр Сербул, «1С-Битрикс»)
* Зачем мониторить веб-кластерные системы, обзор приоритетных рисков
* Что измерять и зачем, полезные инструменты и приемы
* Тактика – действия при внештатных ситуациях, экстренное восстановление веб-систем, когда бэкапы «недостаточно полезны»
* Стратегия – анализ системных трендов и развитие архитектуры веб-кластера, прогноз требуемых мощностей, выбор и оценка новых технологий
- Презентация (pptx, 6.9 Мб)
- Видео (flv, 145 Мб)
7. «Стабильность проекта в условиях непрерывной интеграции» (Денис Митрофанов, QSOFT)
* Долгосрочная интенсивная разработка с постоянными релизами
* Организация работ, разделение на мажорные и минорные итерации
* Разные парадигмы
* Процессы производства, отгрузки и контроля качества
* Архитектурные решения и технические средства, позволяющие проводить большие обновления без остановки проекта
- Презентация (ppt, 8.2 Мб)
- Видео (flv, 122 Мб)
8. «Бэкапы и резервное копирование: разные сценарии и учения по восстановлению» (Дмитрий Сизиков, «Сумма АйТи»)
Бэкап баз данных:
* Средства создания горячих BackUp`ов MySQL: mysqldump, Percona Xtrabackup, mysqlhotcopy.
* Автоматизация бэкапов баз данных.
* Репликация — это не бэкап. Мониторинг состояния репликации. Multimaster replication: Rubyrep.
Бэкап и резервирование файловой системы / физических носителей:
* Рейд: software/hardware, LVM, raid. Мониторинг состояния рейда.
* Распространенные способы бекапа: tar.gz -> ftp, scp, sftp, авторизация по ключам, chroot.
* Сервисы для хранения бэкапов: Amazon s3, Glacier, другие.
* Инструменты полного, Инкрементального, Дифференциального бэкапа: bacula, amanda, rsync, lsync.
* Снэпшот: ZFS, LVM, rsnapshot.
* Глубина хранения и переодичность выполнения бэкапа.
* Оптимизация данных для бэкапа. Поскольку конечный файли может иметь значительный размер для экономии ресурсов мы должны исключать из бекапы ненужные данные.
* Безопастность и шифрование бекапа. Поскольку бекапы содержат конфидициальные данные, необходимо либо исключить возможно попадания в чужие руки, иначе шифровать их.
* Восстановление и контрольные суммы бэкапов. Когда процесс восстановления занимает длительное время необходимо перед началом проверить целостность бекапного файла.
* Мониторинг и контроль процесса. Система производящая бекап должна уметь создавать алерт о проблемах на всех этапах: создания, архивирования, закачки и т.д.
- Презентация (pdf, 5.1 Мб)
- Видео (flv, 100 Мб)
9. «О DDoS на Web-кластер» (Александр Крижановский, NatSys Lab)
Современные DDoS атаки используют случайные (или псевдослучайные) HTTP заголовки и URL, медленные запросы и запросы к наиболее чувствительным к нагрузке ресурсам сайта, периодические и изменяющиеся характеристики запросов. Все это делает DDoS атаки более разрушительными и устойчивыми к блокированию. Мы рассмотрим:
* чем в большинстве случаев DDoS трафик отличается от нормального трафика;
* чем нагрузка от DDoS отличается от обычной высокой нагрузки, вызванной, например, flash crowd;
* какие типы нагрузки на прикладные сервисы и ОС оказывает DDoS;
* защита от DDoS своими силами с использованием Open Source
- Презентация (pdf, 1 Мб)
- Видео (flv, 163 Мб)
10. «Как снизить нагрузку на высокопосещаемый проект?» (Виталий Гаврилов, «Ленвендо»)
*1. Условное деление проектов на две группы:
Высокодинамичные проекты
Низкодинамичные проекты
* 2. Снижение нагрузки на высокодинамичных проектах
Разделение контента на полностью динамический и условно статический контент
Перекомпановка страниц для оптимального использования AJAX
Статическое кеширование условно-статического контента
* 3. Снижение нагрузки на низкодинамичных проектах
Разделение контента на полностью статичный контент, условно-статический контент и высокодинамичый контент
Управляемое кеширование условно-статичного контента
* 4. Поисковые системы и динамический контент в режиме AJAX
- Презентация (ppt, 3.5 Мб)
- Видео (flv, 56 Мб)
* * *
Кажется, получилась отличная полезная конференция. :)
Огромное спасибо всем, кто участвовал! До встречи на следующей #FailOverConf! :)
Автор: adamant