1С в облаке vs сервер: расчёт TCO на 3 года

1С в облаке vs сервер: расчёт TCO на 3 года

Почему сравнение «облако vs сервер» сложнее, чем кажется

Когда руководитель или финансовый директор задаёт вопрос «что дешевле — арендовать 1С в облаке или купить собственный сервер?», большинство консультантов называют первую попавшуюся цифру. На практике же корректный ответ требует методологии Total Cost of Ownership (TCO) — совокупной стоимости владения, которая учитывает не только очевидные статьи расходов, но и скрытые затраты, растянутые во времени.

В этой статье мы разберём реальные цифры для типичного российского предприятия: 30 одновременных пользователей, конфигурация 1С:ERP 2.5, работающая в режиме 8×5. Горизонт планирования — 3 года, поскольку именно этот срок позволяет увидеть полную картину амортизации железа, лицензионных выплат и операционных расходов.

Если вы занимаетесь внедрением или сопровождением, а не выбором инфраструктуры, посмотрите также задачи по 1С:ERP на нашей платформе — там регулярно публикуются проекты по оптимизации и доработке системы.

Методология расчёта TCO: что включаем в модель

TCO — это не просто сумма ежемесячных платежей. Модель должна охватывать пять категорий затрат:

  • Капитальные вложения (CAPEX) — единовременные расходы на покупку оборудования, лицензий, монтаж.
  • Операционные расходы (OPEX) — ежемесячные и ежегодные платежи: аренда, поддержка, электроэнергия, интернет.
  • Затраты на персонал — системный администратор, DBA, специалист 1С на поддержке инфраструктуры.
  • Риски и простои — стоимость недоступности системы, восстановление после сбоев, потеря данных.
  • Скрытые расходы — обновления ОС, антивирус, резервное копирование, обучение, compliance.

Для чистоты расчёта мы используем дисконтированные денежные потоки со ставкой 15% годовых (приближение к стоимости капитала для среднего российского бизнеса в 2024–2025 годах). Все суммы приведены в рублях без НДС.

Важно: расчёт TCO — это инструмент принятия решений, а не бухгалтерский документ. Цифры будут отличаться для каждой компании, но методология универсальна.

Вариант 1: Собственный сервер — детальный расчёт

Капитальные вложения (год 0)

Для 30 одновременных пользователей в 1С:ERP минимальная рекомендуемая конфигурация сервера приложений: 2× Intel Xeon Silver 4310 (12 ядер каждый), 256 ГБ RAM, SSD RAID-10 на 4 ТБ. Отдельный сервер СУБД: 2× Intel Xeon Gold 5318Y, 512 ГБ RAM, NVMe RAID на 2 ТБ под базу + 8 ТБ под резервные копии.

Статья расходовСумма, руб.
Сервер приложений 1С (2U rack)480 000
Сервер СУБД (MS SQL / PostgreSQL)720 000
Сетевое оборудование (коммутатор, UPS)180 000
Лицензии Windows Server 2022 Datacenter320 000
Лицензия MS SQL Server 2022 Standard (2 core)580 000
Монтаж, кабельная разводка, настройка120 000
Лицензии 1С:ERP (клиентские, 30 шт.)1 200 000
Лицензия 1С:Предприятие сервер (x86-64)86 400
Итого CAPEX3 686 400

Операционные расходы (ежегодно)

СтатьяГод 1Год 2Год 3
Электроэнергия (серверная комната, ~3 кВт, 24×7)94 00097 000100 000
Интернет-канал (резервный, 500 Мбит/с)72 00072 00072 000
Аренда серверной стойки / colocation144 000150 000156 000
Сопровождение 1С (ИТС Проф, 2 пользователя)84 00084 00084 000
Антивирус корпоративный28 00028 00028 000
Резервное копирование (Veeam + облачное хранилище)48 00048 00048 000
Замена дисков, плановое ТО30 00060 00030 000
Итого OPEX/год500 000539 000518 000

Затраты на персонал

Системный администратор уровня middle (частичная занятость — 0.5 ставки, так как он обслуживает и другую инфраструктуру): 45 000 руб./мес. × 12 × 0.5 = 270 000 руб./год. За 3 года с учётом индексации 10%/год: 270 000 + 297 000 + 326 700 = 893 700 руб.

Суммарный TCO собственного сервера за 3 года

CAPEX: 3 686 400 + OPEX за 3 года: 1 557 000 + Персонал: 893 700 = 6 137 100 рублей

С учётом дисконтирования (15%/год) приведённая стоимость составит примерно 5 620 000 рублей.

Вариант 2: Облачная 1С — детальный расчёт

Модели аренды: что выбрать

На российском рынке существует три основных модели облачного размещения 1С:

  1. SaaS от 1С (1cfresh.com) — полностью управляемый сервис, оплата за пользователя в месяц. Ограниченный набор конфигураций, нет доступа к серверным настройкам.
  2. IaaS от провайдера (Яндекс.Облако, SberCloud, КРОК, Selectel) — аренда виртуальных машин, полный контроль над конфигурацией, но самостоятельное администрирование.
  3. Managed-хостинг 1С (специализированные провайдеры) — промежуточный вариант: провайдер берёт на себя инфраструктуру и базовое администрирование, клиент управляет только 1С.

Для нашего кейса (30 пользователей, ERP) наиболее реалистичен Managed-хостинг, так как SaaS не поддерживает ERP в полном объёме, а IaaS требует тех же затрат на администрирование, что и собственный сервер.

Расчёт стоимости Managed-хостинга

СтатьяГод 1Год 2Год 3
Аренда ВМ сервера приложений (16 vCPU, 64 ГБ RAM)264 000276 000288 000
Аренда ВМ СУБД (32 vCPU, 128 ГБ RAM)480 000504 000528 000
Дисковое пространство (SSD 2 ТБ + резервные копии)96 000108 000120 000
Managed-услуги (мониторинг, патчинг, бэкапы)180 000180 000180 000
Лицензии 1С (аренда клиентских лицензий, 30 шт.)540 000540 000540 000
Лицензия сервера 1С (аренда)36 00036 00036 000
ИТС Проф84 00084 00084 000
Канал связи (VPN до офиса, 1 Гбит/с)60 00060 00060 000
Итого/год1 740 0001 788 0001 836 000

Затраты на персонал в облачном варианте

При Managed-хостинге системный администратор нужен только для управления 1С и пользовательскими задачами. Достаточно 0.25 ставки: 45 000 × 0.25 × 12 = 135 000 руб./год. За 3 года: 135 000 + 148 500 + 163 350 = 446 850 руб.

Суммарный TCO облачного варианта за 3 года

CAPEX: 0 (нет единовременных вложений) + OPEX за 3 года: 5 364 000 + Персонал: 446 850 = 5 810 850 рублей

С учётом дисконтирования (15%/год): примерно 4 980 000 рублей.

Сравнительный анализ: где скрываются ловушки

Ловушка 1: Остаточная стоимость оборудования

Сервер через 3 года не превращается в тыкву. Его остаточная стоимость по бухгалтерскому учёту составит около 30–40% от начальной (линейная амортизация за 3 года из 5-летнего срока). Это значит, что реальные потери от «замороженного» капитала ниже, чем кажется. Однако рыночная стоимость б/у серверов падает быстрее балансовой — реально выручить 15–20% от покупной цены.

Ловушка 2: Масштабирование

Если компания вырастет с 30 до 60 пользователей в течение 3 лет, облако масштабируется за 1 день без дополнительных CAPEX. Собственный сервер потребует докупки оборудования (минимум 500 000–800 000 руб.) и времени на настройку. Этот фактор критичен для растущего бизнеса.

Ловушка 3: Стоимость простоя

Средний SLA облачных провайдеров — 99.9% (8.7 часов простоя в год). Собственный сервер без резервирования — реально 98–99% (от 88 до 175 часов в год). Стоимость часа простоя для 30 пользователей ERP: при средней зарплате 60 000 руб./мес. = 375 руб./час × 30 = 11 250 руб./час. За 100 дополнительных часов простоя — 1 125 000 руб. потерь производительности за 3 года.

Ловушка 4: Обновление 1С и ОС

Обновление конфигурации 1С в облаке часто включено в managed-услуги. На собственном сервере это либо ручной труд администратора, либо отдельный договор с франчайзи. Если вас интересует автоматизация этого процесса, изучите раздел обновление 1С на Кодерион — там можно найти специалистов для разовых задач.

Код 1С: автоматический мониторинг производительности сервера

Независимо от выбранной инфраструктуры, важно контролировать производительность. Ниже — рабочий пример обработки на встроенном языке 1С, которая собирает ключевые метрики и записывает их в регистр сведений:

// Процедура сбора метрик производительности сервера 1С
// Запускается по расписанию (регламентное задание, каждые 15 минут)
Процедура СобратьМетрикиПроизводительности() Экспорт

	// Получаем текущее время фиксации
	ВремяФиксации = ТекущаяДатаСеанса();

	// Инициализируем соединение с кластером серверов
	ПодключениеКластера = Новый COMОбъект("V83.COMConnector");

	Попытка
		Агент = ПодключениеКластера.ConnectAgent("localhost");
		Кластеры = Агент.GetClusters();

		Для Каждого Кластер Из Кластеры Цикл
			Агент.Authenticate(Кластер, "", "");
			Сессии = Агент.GetSessions(Кластер);

			// Подсчёт активных сессий
			КоличествоСессий = Сессии.Количество();

			// Суммируем потребление памяти по всем сессиям
			ОбщаяПамять = 0;
			Для Каждого Сессия Из Сессии Цикл
				ОбщаяПамять = ОбщаяПамять + Сессия.MemoryTotal;
			КонецЦикла;

			// Записываем данные в регистр сведений
			МенеджерЗаписи = РегистрыСведений.МетрикиПроизводительности.СоздатьМенеджерЗаписи();
			МенеджерЗаписи.Период = ВремяФиксации;
			МенеджерЗаписи.ИмяКластера = Кластер.ClusterName;
			МенеджерЗаписи.КоличествоСессий = КоличествоСессий;
			МенеджерЗаписи.ОбщаяПамятьМБ = Окр(ОбщаяПамять / 1048576, 2);
			МенеджерЗаписи.Записать();

		КонецЦикла;

	Исключение
		// Логируем ошибку подключения к агенту
		ТекстОшибки = ОписаниеОшибки();
		ЗаписьЖурналаРегистрации(
			"МониторингПроизводительности",
			УровеньЖурналаРегистрации.Ошибка,
			,
			,
			"Ошибка сбора метрик: " + ТекстОшибки
		);
	КонецПопытки;

КонецПроцедуры

// Функция анализа загруженности за период
// Возвращает таблицу значений с агрегированными метриками
Функция ПолучитьАнализЗагруженности(НачалоПериода, КонецПериода) Экспорт

	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	Метрики.Период КАК Период,
		|	Метрики.ИмяКластера КАК ИмяКластера,
		|	МАКСИМУМ(Метрики.КоличествоСессий) КАК МаксСессий,
		|	СРЕДНЕЕ(Метрики.КоличествоСессий) КАК СреднееСессий,
		|	МАКСИМУМ(Метрики.ОбщаяПамятьМБ) КАК МаксПамятьМБ
		|ИЗ
		|	РегистрСведений.МетрикиПроизводительности КАК Метрики
		|ГДЕ
		|	Метрики.Период МЕЖДУ &НачалоПериода И &КонецПериода
		|СГРУППИРОВАТЬ ПО
		|	Метрики.Период,
		|	Метрики.ИмяКластера
		|УПОРЯДОЧИТЬ ПО
		|	Метрики.Период";

	Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
	Запрос.УстановитьПараметр("КонецПериода", КонецПериода);

	// Возвращаем результат в виде таблицы значений
	Возврат Запрос.Выполнить().Выгрузить();

КонецФункции

// Процедура отправки алерта при превышении порогов
Процедура ПроверитьПороговыеЗначения(КоличествоСессий, ПамятьМБ) Экспорт

	// Пороговые значения — вынести в константы или настройки
	ПорогСессий = 35;
	ПорогПамятиМБ = 50000;

	Если КоличествоСессий > ПорогСессий Тогда
		ОтправитьУведомлениеАдминистратору(
			"Превышен лимит сессий: " + КоличествоСессий + " (порог: " + ПорогСессий + ")"
		);
	КонецЕсли;

	Если ПамятьМБ > ПорогПамятиМБ Тогда
		ОтправитьУведомлениеАдминистратору(
			"Высокое потребление памяти: " + ПамятьМБ + " МБ (порог: " + ПорогПамятиМБ + " МБ)"
		);
	КонецЕсли;

КонецПроцедуры

Этот код работает как на собственном сервере, так и в облаке — главное, что агент кластера доступен через COM-соединение или REST API в зависимости от версии платформы.

Когда облако выгоднее, а когда — собственный сервер

Облако предпочтительнее, если:

  • Компания растёт быстро — штат пользователей меняется чаще раза в год.
  • Нет квалифицированного ИТ-персонала — содержать сисадмина ради одного сервера 1С нерентабельно.
  • Нужна географическая распределённость — несколько офисов в разных городах.
  • Бизнес сезонный — пиковые нагрузки в отдельные месяцы, остальное время серверы простаивают.
  • Нет собственного серверного помещения — строить ЦОД ради 30 пользователей экономически бессмысленно.
  • Требования к SLA высокие — облачные провайдеры гарантируют 99.95% uptime с финансовой ответственностью.

Собственный сервер предпочтительнее, если:

  • Стабильный штат на 5+ лет — амортизация оборудования полностью оправдывается.
  • Жёсткие требования к безопасности данных — отраслевые регуляторы запрещают хранение данных вне периметра (ОПК, банки).
  • Уже есть ИТ-инфраструктура — сервер 1С встраивается в существующий ЦОД без дополнительных затрат на помещение и персонал.
  • Объём данных очень большой — при базах 1С более 500 ГБ стоимость облачного хранилища становится значительной.
  • Нестабильный интернет-канал — в регионах с плохой связью локальный сервер надёжнее.

Найдите специалиста для решения этой задачи на koderion.ru