Помните нашего старого знакомого — веб-разработчика и по совместительству системного администратора? :) Он, как и многие другие наши читатели, сходил 22 мая на семинар «Разработка высоконагруженных веб-проектов: как выдерживать миллионы хитов в сутки, чтобы все работало и ничего не «падало», который мы анонсировали в том числе и на Хабре.

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

* * *

Почти половина регистраций на семинар (и, видимо, и самих слушателей) была с Хабра. Мы очень рады тому, что тема оказалась востребованной.

Многие и лично, и в твиттере спрашивали, будут ли опубликованы презентации и видео…

Да, конечно!

С удовольствием делимся всеми материалами с вами!

1. «Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования» (Александр Демидов, «1С-Битрикс»)

Возможности вертикального масштабирования (путем увеличения памяти, CPU, дисков существующего сервера) веб-проекта всегда ограничены физическими характеристиками. И рано или поздно перед разработчиком встает задача реализации горизонтального масштабирования — распределения проекта на несколько серверов. Традиционный веб-сайт плохо для этого предназначен — чаще всего горизонтальное масштабирование подразумевает доработку кода проекта. В докладе мы расскажем, как обеспечить возможности масштабирования непосредственно в платформе разработке, тем самым максимально облегчив жизнь веб-разработчикам. Кроме того, рассмотрим, какие инструменты отладки, мониторинга и поиска потенциальных «узких» мест могут использоваться непосредственно внутри сайта, как они могут дополнить внешние сервисы.


2. «Построение системного ландшафта высоконагруженного проекта» (Виталий Гаврилов, «Ленвендо»)

План действий и профессиональные советы по построению системного ландшафта, обеспечивающего доступность высоконагруженных Интернет-проектов:
  • Аппаратное обеспечение, что и для чего выбрать.
  • Варианты построения масштабируемых решений.
  • Приемы балансировки нагрузки и обеспечения отказоустойчивости базы данных.
  • Примеры распределения сетевого трафика.
  • Резервное копирование.


3. «Применение собственной методики нагрузочного тестирования при разработке высоконагруженных веб-проектов» (Михаил Токовинин, QSOFT)

  • Методика нагрузочного тестирования, применяемая в QSOFT
  • Настройка и оптимизация проекта на этапе разработки
  • Оценка пределов нагрузки на этапе проектирования


4. «Эксплуатация, мониторинг производительности, бэкапы» (Илья Пятин, LineMedia)

  • Как поднять сервер до того, как он упал?
  • Как запустить проект, если в первый день к вам приходит 100 000 пользователей?
  • А правда ли нужно всегда делать бекап?
  • Зачем нужен кластер, если нагрузка невелика?
  • Кластер в облаке, плюсы и минусы.


5. «Проактивный мониторинг и анализ трендов» (Александр Сербул, «1С-Битрикс»)

Веб-кластер, имеющий несколько серверов приложений, балансировщик и отказоустойчивую конфигурацию реляционного хранилища — сложен. Помимо правильной настройки приложения для достижения успеха необходимо создать и поддерживать адекватную систему мониторинга и прогнозирования, разбираться в цифрах, трендах, ибо, как известно, дьявол скрывается в мелочах. Какие тесты nagios нужны в первую очередь, на какие графики munin стоит обращать внимание, зачем и как анализировать логи, как написать обработчик аварийной ситуации (handler nagios) и удержать веб-кластер в равновесии — рассмотрим эти и многие другие вопросы.


6. «Разоблачение облачной магии» (Николай Двас, Clodo.ru)

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

Реальность существенно отличается от маркетинговых ожиданий. Выясняется, что в облаке для клиента важны совсем другие аспекты. В частности:
  • экономия гораздо важнее «справедливого» ценообразования по потреблению;
  • масштабирование чаще всего работает не так как ожидалось и не достигается простой сменой хостинга;
  • отказоустойчивость тоже не достигается сама по себе: есть слой, безотказность которого хостер обеспечить не в состоянии;
  • «ресурсы по запросу» — это полуправда: не все нужные ресурсы можно запросить и получить;

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



7. «Архитектура проекта «Битрикс24»: как сделать так, чтобы все летало и не падало» (Александр Демидов, «1С-Битрикс»)

Одна из важнейших задач, которую необходимо решить любому «облачному» провайдеру, — завоевать доверие пользователей сервиса. Если мы говорим о бизнес-приложении, например, CRM, интранет-системе, почте, то такой сервис должен быть доступен всегда — 7 дней в неделю, 24 часа в сутки. Нестабильная работа, сбои, незагружающиеся страницы, закрытый на время плановых сервисных работ проект — недопустимы. Кроме того, все данные каждого клиента должны быть максимально защищены. Провайдер SaaS сервиса должен предоставить всем своим пользователям максимально защищенную среду. На примере живого работающего сервиса «Битрикс24» в докладе будет описана архитектура проекта, принципы его автоматического масштабирования в зависимости от нагрузки, механизмы интеграции с облачными хранилищами, специфика использования сервисов Амазона, нюансы использования базы данных MySQL в географически распределенном веб-кластере.



* * *

В комментариях к анкетам, которые мы собирали после семинара, в ответах на вопрос, что было наиболее полезным, часто писали: «атмосфера» и «опыт».

У нас получилось очень хорошее и полезное мероприятие. :) Спасибо всем, кто участвовал!