Меня зовут Дмитрий, я руковожу отделом ИТ-инфраструктуры и сервисов в Ви.Tech, IT-дочке ВсеИнструменты.ру. Когда у компании одновременно есть свои датацентры, частное облако и несколько публичных облаков, вопрос стоимости вычислительных ресурсов быстро перестает быть бухгалтерской формальностью. Без понятной модели невозможно нормально распределять затраты, сравнивать варианты размещения и объяснять, почему одна и та же виртуальная машина в разных контурах обходится по-разному.
В этом материале я разберу, из чего складывается стоимость единицы вычислительного ресурса в гибридной инфраструктуре и как подойти к расчету так, чтобы потом использовать эти цифры в аллокации затрат, бюджетировании и планировании.
С оборудованием, которое закупается под конкретный проект, все обычно довольно прозрачно: его стоимость можно сразу отнести на конкретного внутреннего заказчика. С публичными облаками тоже все относительно просто: цену задает провайдер, а наша задача сводится к корректному учету потребления и распределению расходов.
Сложнее всего обстоит дело с частной виртуализацией. Здесь цена ресурса не лежит на поверхности, ее приходится собирать из стоимости железа, запаса под отказоустойчивость, коэффициентов переподписки и сопутствующей инфраструктуры.
Поэтому дальше я сосредоточусь именно на частных системах виртуализации и на простом примере покажу, как посчитать стоимость 1 ядра CPU и 1 GB RAM.
Для простоты будем считать, что кластер виртуализации состоит из однотипных серверов. Допустим, в каждом сервере установлены 2 CPU по 64 ядра и 1024 GB RAM. Тогда стоимость сервера складывается из стоимости памяти, стоимости процессоров и стоимости платформы, куда входит все остальное: сетевые карты, материнская плата, корпус, блоки питания и прочие компоненты.
Если мы знаем общую стоимость сервера и стоимость его основных частей, можем разложить цену по категориям и получить коэффициенты распределения. Например, так: K_CPU = 0,32; K_RAM = 0,5; K_Platform = 0,18.

В итоге получим чистую стоимость компонентов:
1 Core_c = (Server_price - (0,5*Server_price + 0,18*Server_price/2)) / 64
1 GB RAM_c = (Server_price - (0,32*Server_price + 0,18*Server_price/2)) / 1024
Далее нам надо заложить дополнительные коэффициенты для обеспечения отказоустойчивости и высокой доступности в системе виртуализации. Допустим, это будет 50% CPU и 20% RAM.

Еще следует учесть целевое значение коэффициентов переподписки CPU и RAM, то есть отношение выделяемых ресурсов к физическим. В нашем примере переподписку памяти мы использовать не будем, а целевое значение переподписки CPU у нас будет 2,5.
Resubscription = vCPU_count / pCPU_count
С учетом всех коэффициентов получим приведенную стоимость ресурсов:
1 Core price = (1 Core_c + 1 Core_c * 50%) / 2,5
1 GB RAM price = 1 GB RAM_c + 1 GB RAM_c * 20%
Итого с 1 типового сервера получаем: 107 vCPU и 855 GB RAM, которые мы и будем в дальнейшем распределять по P&L центрам с учетом полученных цен.
Далее также определяем стоимость и допустимый объем 1GB Storage с учетом поправочных коэффициентов, к примеру 30%:
1 GB SAN = SAN_price / SAN_volume - SAN_volume * 30%
Тут вдумчивый читатель, наверняка, заметит, что:
1. Соотношение стоимости компонентов с учетом текущих цен совершенно другое
2. Что цены при поставке оборудования могут сильно отличаться, равно как и конфигурация этого оборудования
3. Системы хранения данных бывают разных классов и соответственно будут отличаться по стоимости
…и будет абсолютно прав! Но наша задача сейчас не показать срез рынка, а понять базовые принципы ценообразования вычислительных ресурсов. Актуальную стоимость ресурсов можно поддерживать, исходя из их пропорционального распределения по разным конфигурациям и поставкам. А расчет стоимости для разных классов СХД я оставлю в качестве самостоятельной работы самым любознательным.
И конечно же не забудем посчитать необходимую портовую емкость сетевого оборудования и требуемый объем серверов резервного копирования. Тут для простоты будем полагать, что в резервные копии попадает абсолютно все.

Соответственно получим, что добавленная стоимость СРК будет рассчитываться исходя из потребляемого объема данных с коэффициентом 0,67. А стоимость использования сетевого оборудования можно посчитать, исходя из стоимости одного порта, но мы здесь опять же делать этого не будем, а равномерно распределим стоимость всего коммунального сетевого оборудования равномерно по P&L центрам.
На сегодня все, благодарю за внимание! В следующей части мы поговорим о том, как собрать всю эту информацию в единое целое и что с ней делать дальше…
