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 Datacenter | 320 000 |
| Лицензия MS SQL Server 2022 Standard (2 core) | 580 000 |
| Монтаж, кабельная разводка, настройка | 120 000 |
| Лицензии 1С:ERP (клиентские, 30 шт.) | 1 200 000 |
| Лицензия 1С:Предприятие сервер (x86-64) | 86 400 |
| Итого CAPEX | 3 686 400 |
Операционные расходы (ежегодно)
| Статья | Год 1 | Год 2 | Год 3 |
|---|---|---|---|
| Электроэнергия (серверная комната, ~3 кВт, 24×7) | 94 000 | 97 000 | 100 000 |
| Интернет-канал (резервный, 500 Мбит/с) | 72 000 | 72 000 | 72 000 |
| Аренда серверной стойки / colocation | 144 000 | 150 000 | 156 000 |
| Сопровождение 1С (ИТС Проф, 2 пользователя) | 84 000 | 84 000 | 84 000 |
| Антивирус корпоративный | 28 000 | 28 000 | 28 000 |
| Резервное копирование (Veeam + облачное хранилище) | 48 000 | 48 000 | 48 000 |
| Замена дисков, плановое ТО | 30 000 | 60 000 | 30 000 |
| Итого OPEX/год | 500 000 | 539 000 | 518 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С:
- SaaS от 1С (1cfresh.com) — полностью управляемый сервис, оплата за пользователя в месяц. Ограниченный набор конфигураций, нет доступа к серверным настройкам.
- IaaS от провайдера (Яндекс.Облако, SberCloud, КРОК, Selectel) — аренда виртуальных машин, полный контроль над конфигурацией, но самостоятельное администрирование.
- Managed-хостинг 1С (специализированные провайдеры) — промежуточный вариант: провайдер берёт на себя инфраструктуру и базовое администрирование, клиент управляет только 1С.
Для нашего кейса (30 пользователей, ERP) наиболее реалистичен Managed-хостинг, так как SaaS не поддерживает ERP в полном объёме, а IaaS требует тех же затрат на администрирование, что и собственный сервер.
Расчёт стоимости Managed-хостинга
| Статья | Год 1 | Год 2 | Год 3 |
|---|---|---|---|
| Аренда ВМ сервера приложений (16 vCPU, 64 ГБ RAM) | 264 000 | 276 000 | 288 000 |
| Аренда ВМ СУБД (32 vCPU, 128 ГБ RAM) | 480 000 | 504 000 | 528 000 |
| Дисковое пространство (SSD 2 ТБ + резервные копии) | 96 000 | 108 000 | 120 000 |
| Managed-услуги (мониторинг, патчинг, бэкапы) | 180 000 | 180 000 | 180 000 |
| Лицензии 1С (аренда клиентских лицензий, 30 шт.) | 540 000 | 540 000 | 540 000 |
| Лицензия сервера 1С (аренда) | 36 000 | 36 000 | 36 000 |
| ИТС Проф | 84 000 | 84 000 | 84 000 |
| Канал связи (VPN до офиса, 1 Гбит/с) | 60 000 | 60 000 | 60 000 |
| Итого/год | 1 740 000 | 1 788 000 | 1 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