logo
ППП-типо-похоже-на лекции!

1.4.Масштабируемость приложений

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

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

стер— это группа компьютеров, логически работающих как один).

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

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

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