Меня часто просят выполнить планирование размеров и мощности для наших клиентов. Когда наши клиенты покупают наши продукты (в основном веб-приложения J2EE), они часто спрашивают, какое оборудование им понадобится для запуска этих продуктов. Наши рекомендации часто приводят к приобретению дорогостоящего оборудования.
Пока что лучшая эвристика, которую я разработал, - это сравнение прогнозов использования (количество зарегистрированных и одновременных пользователей, которые приложение должно посетить) с данными, собранными на наших существующих установках. Примерно так: если установка A обслуживает 100 одновременных пользователей с оборудованием X, то для установки B потребуется 2 * X оборудования для обслуживания 200 одновременных пользователей.
Однако этот подход имеет ряд проблем. Клиенты часто используют разные аппаратные и программные платформы. Набор продуктов, которые они покупают у нас, как правило, никогда не бывает одинаковым, и, как правило, части приложения создаются на заказ для конкретного клиента. Учтите, что версии программного обеспечения меняются и т. Д., И существует так много параметров, которые могут очень затруднить определение размера.
Я изучил некоторые книги по этой теме, а некоторые предлагают использовать сложные математические модели. Количество параметров, которые эти подходы требуют в качестве входных данных (например, детальная классификация функций приложения), заставляет меня думать, что они вряд ли полезны. Аппаратное обеспечение обычно заказывается еще до того, как определены основные требования, не говоря уже о том, что они будут различаться на протяжении всего периода разработки приложения и его жизненного цикла.
Итак, как вы оцениваете размеры и планирование мощностей? Любые советы и рекомендации приветствуются.