Материал предоставлен https://it.rfei.ru

Влияние социальных веб-сайтов и открытых API

По мере того как все больше сайтов реализует характеристики модели Web 2.0, задачи управления веб-ресурсами (и особенно управление мощностями) начинают играть все более важную роль. Если сайт содержит контент, создаваемый пользователями, его эксплуатация и развитие не находятся под полным контролем создателей сайта. Заметная часть контроля находится в руках сообщества пользователей, как доказывает пример со взрывами в лондонском метро (см. предисловие). Данное обстоятельство нередко пугает людей, привыкших строить сайты с хорошо прогнозируемыми закономерностями роста. Получается, что мощности плохо прогнозируются и за ними должны следить обе заинтересованные стороны — как коммерческий, так и технологический персонал. Разработчики и администраторы социального веб-сайта должны действовать, опережая рост популярности сайта, и собрать из этой «восходящей спирали» достаточно данных для принятия обоснованных решений по планированию в будущем.

Архитектура и ее влияние на мощности

От стиля вождения зависит пожизненный пробег вашего автомобиля. Аналогичный принцип действует и в веб-архитектурах. Одной из тем, к которым мы будем неоднократно возвращаться в этом курсе, является значительное влияние архитектуры сайта на особенности взаимодействия, потребления и управления мощностями. Архитектура влияет на фактическое использование мощностей сильнее, чем любые настройки и оптимизации серверов и сети. Кроме того, архитектура играет важную роль в том, насколько легко и гибко происходит добавление и удаление мощностей.

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

Предоставление веб-служб через открытые API открывает совершенно новый класс проблем: с данными вашего приложения начинают работать другие приложения, каждое из которых обладает своими закономерностями интенсивности и роста нагрузки. Кроме того, перед пользователями открывается удобный путь для злоупотреблений, что вносит дополнительную неопределенность в расчет мощностей. Потребуется мониторинг использования API с выявлением закономерностей, граничных сценариев использования и недобросовестных разработчиков приложений, намеренных получить доступ ко всему дереву базы данных. Необходимо реализовать средства контроля, обеспечивающие соблюдение правил или условий обслуживания (TOS, Terms of Service), которые должны сопровождать любые веб-службы с открытым API (подробнее об этом в главе “Сбор данных: как измеряются мощности”).

В первый год работы в Flickr количество загрузок фотографий на сайт возросло с 60 до 660 в минуту. От потребления 200 гигабайт дискового пространства в день они дошли до 880, а от предоставления 3000 изображений в секунду — до 8000. И это только за первый год!

Планирование мощностей очень быстро выходит на первый план. Но все не так плохо; все, что потребуется, — это уделить немного внимания выбору правильных показателей, а в остальных главах этого курса будет рассказано, как это делается. Этот процесс разделен на следующие сегменты:

  1. Определение целей (следующая глава).
  2. Сбор метрик и определение ограничений (глава “Сбор данных: как измеряются мощности”).
  3. Идентификация трендов и формирование прогнозов на основании этих метрик и ограничений (глава “Прогнозирование”).
  4. Развертывание и управление мощностями (глава “Развертывание”).
Не путайте производительность с мощностямиПроверка знаний: проблемы и процессы планирования мощностей