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

В общем случае жизненный цикл любой технической системы состоит из нескольких основных этапов — разработки, внедрения, эксплуатации, модернизации и списания. В процессе выбора необходимо оценивать основные параметры, факторы, критерии, характеризующие свойства сервера на всех этапах его жизненного цикла. Критериев с различным уровнем обобщения существует огромное множество, но из них наиболее важны следующие: функциональная эффективность (F), эксплуатационная эффективность (M) и стоимость владения (C). Рассмотрим эти критерии.

Функциональная эффективность

Сервер приобретается для решения конкретных задач, поэтому его выбору предшествует выбор прикладного ПО. Первый этап оценки функциональной эффективности варианта сервера, с нашей точки зрения, состоит во всестороннем анализе свойств приложения и его взаимодействия с вычислительной средой (аппаратными средствами сервера, общесистемным ПО и т. п.). Что необходимо знать о прикладном ПО? Вероятно, требуемая информация может включать:

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

Чем больше вы знаете о свойствах прикладного ПО и о влиянии параметров вычислительной среды на функциональные свойства приложения, тем меньше ошибок вы допустите при выборе сервера. Известно, что прирост производительности сервера в N раз при увеличении в N раз числа однотипных процессоров на практике недостижим. Известный гуру в области ИТ Джин Амдал предложил схему для описания эффективности распараллеливания на многопроцессорном сервере:

E = N/[N x C + (1 — C)],

где E — показатель, характеризующий прирост производительности сервера, N — число процессоров, C — коэффициент, характеризующий долю нераспараллеливаемых команд в коде (O <= С <= 1). Анализ этой зависимости позволяет сделать два основных вывода. Во-первых, при достаточно большой доле нераспараллеливаемых команд в коде программ (допустим, C = 0,2) рост производительности при определенном количестве процессоров прекращается (в нашем случае N = 20). Во-вторых, наиболее эффективный способ повышения производительности вычислительной системы — не увеличение числа процессоров, а алгоритмическое совершенствование приложения.

С другой стороны, цена сервера зависит от максимального числа процессоров, которые в него можно установить. В 1999 году автор рекомендовал одной уважаемой компании остановить выбор на двухпроцессорном CISC-сервере стоимостью около 12 тыс. долл., основываясь на том, что основное приложение обладает низкой распараллеливаемостью. Компания купила четырехпроцессорный CISC-сервер с двумя установленными процессорами, заплатив за него 27 тыс. долл. В 2001 году потребовалось повысить производительность вычислений. Компания приобрела еще два процессора к ранее купленному серверу, заплатив за модернизацию около 7 тыс. долл. Эффект был ошеломляющим для ее руководства: производительность не только не увеличилась вдвое, но упала примерно на 10%! В результате ошибочного выбора непроизводительные расходы на сервер составили сотни процентов от цены.

На втором этапе выбора необходимо поставить характеристики сервера в соответствие требованиям. Чаще всего здесь рассматриваются следующие характеристики.

Процессор — его тип, размер кэша, тактовая частота, максимальное число процессоров.

ОЗУ — тип модулей памяти, максимальная емкость.

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

Интерфейсы — типы поддерживаемых интерфейсов, максимальное количество.

Электропитание — напряжение, ток, частота, потребляемая мощность.

Уровень шума — максимальный уровень шума, создаваемого всеми элементами сервера.

Тепловыделение — максимальный уровень тепловыделения для всех элементов сервера.

Условия окружающей среды для нормального функционирования — диапазон температур и влажности.

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

Эксплуатационная эффективность

Эксплуатационная эффективность М — это обобщающий критерий, который учитывает аспекты процесса эксплуатации сервера и может объединять ряд частных критериев, например:

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

Аспекты выбора, касающиеся эксплуатации сервера, очень важны, однако нередко в список требований к серверу их включают часто формально или не включают вообще. Чем чревата слабая проработка эксплуатационной эффективности при выборе сервера? Например, существенным показателем может оказаться потребляемая мощность сервера в сочетании с требованиями к окружающей среде. Так, RISC-сервер уровня предприятия потребляет порядка 3–5 кВт/ч, его тепловыделение имеет сопоставимую величину, с другой стороны, температура окружающей среды должна сохраняться в диапазоне 10—35°С. Может оказаться, что потребуется установка системы кондиционирования, реконструкция серверного помещения, — при этом расходы на создание условий для нормального функционирования только по данному критерию будут составлять существенную долю общего бюджета закупки. В процессе эксплуатации к расходам на содержание сервера прибавятся расходы на содержание системы кондиционирования — на персонал, ремонтно-восстановительные работы, потребляемую энергию и т. п. Это лишь один пример проблемы, который практически лежит на поверхности.

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

Стоимость владения

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

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

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

V = V(F, M, C).

Выбор сервера

Ниже мы приведем одну из возможных методик выбора конкретного варианта сервера. Допустим, имеются предложения на поставку сервера от n компаний. Все эти варианты необходимо оценить на предмет соответствия их технико-экономическим требованиям при помощи специфических критериев. Соответствие того или иного сервера конкретному критерию оценивается по 10-балльной шкале. Кроме того, каждый критерий имеет весовой коэффициент, который описывает важность данного критерия в общей картине (фактически это ранжирование критериев). Затем все баллы суммируются с учетом весовых коэффициентов. Каждый отвечающий требованиям вариант получает комплексную оценку, рассчитанную по результатам экспертизы проекта.

На первом этапе оценивается функциональная эффективность вариантов с использованием выражений

Fi = <Сумма, j=1…t>kfj Fij,

где i = 1...n — индекс, обозначающий порядковый номер варианта, j = 1...t — индекс, обозначающий порядковый номер частного критерия, t — номер частного критерия группы F, kf — соответствующий частному критерию весовой коэффициент.

На втором этапе оценивается эксплуатационная обеспеченность вариантов с использованием выражения:

Mi = <Сумма, l=1…r>kml Mil,

где l = 1...r — индекс, обозначающий порядковый номер частного критерия, r — номер частного критерия группы M, km — соответствующий частному критерию весовой коэффициент.

На третьем этапе оценивается стоимость владения вариантов с использованием выражения:

Сi = <Сумма, s=1…p>kcs Сis,

где s = 1...p — индекс, обозначающий порядковый номер частного критерия, p — номер частного критерия группы C, kc — соответствующий частному критерию весовой коэффициент.

На завершающем этапе вычисляется комплексная оценка Vi:

Vi = df*Fi + dm*Mi+ dc*Ci,

где d — соответствующий обобщенному критерию весовой коэффициент.

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

Евгений Иванилов — к. т. н., руководитель департамента средств вычислительной техники компании Inline Technologies