В процессе выбора сервера, как правило, участвуют несколько сторон — предприятие в лице руководителя, вдохновляемого начальником отдела автоматизации, производители серверов, системные интеграторы и торговые компании. Каждая из сторон преследует свои, вполне конкретные интересы. Предприятие-покупатель стремится дешевле купить, а все остальные — дороже продать продукт, о котором идет речь. Естественно, продающие стороны стремятся подчеркнуть преимущества своего товара и тщательно маскируют его недостатки. Чем в меньшей степени покупатель владеет методологией выбора сервера, тем больше вероятность того, что покупка будет неоптимальной. Поскольку разброс в ценах на современные серверы очень велик — от десяти тысяч до десятков миллионов долларов, цена ошибки здесь может оказаться высокой.
В общем случае жизненный цикл любой технической системы состоит из нескольких основных этапов — разработки, внедрения, эксплуатации, модернизации и списания. В процессе выбора необходимо оценивать основные параметры, факторы, критерии, характеризующие свойства сервера на всех этапах его жизненного цикла. Критериев с различным уровнем обобщения существует огромное множество, но из них наиболее важны следующие: функциональная эффективность (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 |