Как заранее рассчитать стоимость облачного хостинга
Практика3 минРедакция Innovialabs
Коротко
Считайте не цену сервера, а все компоненты системы в единицах, которые тарифицирует провайдер: часы, гигабайты, запросы. Внесите их в официальный калькулятор, учтите трафик, хранилище и бэкапы и заложите запас на рост и неизвестное.
Короткий ответ
Стоимость облака складывается из десятка мелких строк, а не из одной цены за сервер. Точная оценка строится в четыре шага:
- Составить список всех компонентов, включая вспомогательные.
- Перевести ожидаемую нагрузку в единицы оплаты: часы, гигабайты, запросы.
- Внести все в официальный калькулятор провайдера.
- Добавить запас и пересчитать после первого месяца реальных данных.
Шаг 1. Список компонентов
Начните с архитектурной схемы, даже простой. Для каждого блока запишите, за что именно провайдер берет деньги:
| Компонент | В чем тарифицируется |
|---|---|
| Вычисления (VM, контейнеры, функции) | Часы работы и размер инстанса, или вызовы и гигабайт-секунды |
| Управляемая база данных | Класс инстанса, объем диска, реплики, хранение бэкапов |
| Объектное хранилище | Гигабайты в месяц, число запросов, класс хранения |
| Исходящий трафик | Гигабайты в интернет, между зонами и регионами |
| Сеть | Load balancer, NAT Gateway, публичные IP-адреса |
| Бэкапы и снапшоты | Объем, умноженный на срок хранения |
| Логи и мониторинг | Объем принятых и хранимых логов, метрики |
| Прочее | DNS, почта, секреты, план поддержки |
Не забудьте про окружения: staging и тестовые стенды часто работают круглосуточно и стоят почти как production.
Шаг 2. Нагрузка в единицах оплаты
Калькулятору нужны цифры, а не «средний сайт». Оцените:
- число пользователей и запросов в месяц, а также пиковые часы;
- средний размер ответа или страницы;
- сколько данных добавляется в базу и хранилище за месяц;
- сколько дней хранить бэкапы и логи.
Исходящий трафик удобно прикинуть формулой:
трафик в месяц ≈ средний размер ответа × число запросов в месяц
хранилище через N месяцев ≈ текущий объем + прирост в месяц × N
Если данных о нагрузке нет, возьмите три сценария: минимальный, ожидаемый и пиковый. Это честнее, чем одна цифра.
Шаг 3. Калькуляторы провайдеров
У крупных облаков есть официальные калькуляторы: AWS Pricing Calculator, Google Cloud Pricing Calculator и калькулятор Azure. Как ими пользоваться без ошибок:
- выбирайте тот же регион, где будете размещаться: цены по регионам отличаются;
- добавляйте каждую строку из списка компонентов, а не только серверы;
- проверяйте единицы: месяц в калькуляторе часто считается в часах;
- сохраняйте ссылку на расчет, чтобы потом сравнить с реальным счетом.
У локальных провайдеров и VPS-хостингов цены обычно фиксированные за тариф, но и там проверьте, что входит: трафик, бэкапы, IP-адреса, панель управления.
Шаг 4. Трафик, хранилище и бэкапы
Эти три строки чаще всего недооценивают:
- Трафик. Входящий обычно бесплатен, исходящий — нет. CDN снижает нагрузку на сервер и часто удешевляет раздачу статики, но у него собственный тариф.
- Хранилище. Растет каждый месяц, даже если нагрузка стабильна. Учитывайте и класс хранения: «холодные» классы дешевле хранить, но дороже извлекать.
- Бэкапы. Ежедневные копии с долгим сроком хранения могут занимать больше места, чем сама база. Посчитайте объем с учетом политики хранения и копии в другом регионе, если она нужна.
Шаг 5. Запас на неизвестное
Даже аккуратная оценка не учитывает все. Источники расхождений: рост аудитории, пиковые нагрузки, логи отладки, забытые тестовые ресурсы, налоги и комиссии банка за оплату в валюте. Размер запаса зависит от неопределенности: чем меньше реальных данных о нагрузке, тем он больше. После первого месяца сравните расчет со счетом и скорректируйте модель.
Частые ошибки
- Считать только серверы и забывать сеть, логи и бэкапы.
- Брать цены из другого региона.
- Не учитывать staging и тестовые окружения.
- Оценивать одной цифрой без пикового сценария.
- Не включить бюджет с оповещениями сразу после запуска.