DigitalOcean Spaces или Cloudflare R2 в 2026 году: что меняет активная раздача AI-медиа клиентам

Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.
Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.

Генератор изображений может хранить сравнительно небольшую библиотеку, но ежедневно отдавать её десяткам клиентов. Сначала команда считает только гигабайты на диске. После запуска личного кабинета появляется другая нагрузка: предпросмотры, повторные скачивания, несколько вариантов одного ролика, обращения автоматических интеграций. В результате расходы определяет не только объём архива, но и то, как материалы доходят до получателя.

У DigitalOcean Spaces и Cloudflare R2 разные модели оплаты. Поэтому выбирать хранилище по одной строке «цена за гигабайт» недостаточно. Разберём, какие числа собрать до переноса AI-медиа, как построить сопоставимую смету и почему отсутствие платы за исходящий трафик ещё не означает бесплатную инфраструктуру.

Сначала описываем путь файла

Для расчёта нужен один конкретный сценарий. Например, сервис создаёт иллюстрации для магазинов, сохраняет оригинал и несколько размеров, показывает превью в кабинете и выдаёт клиенту архив. Это условный пример, а не результат работы конкретной компании. Его полезно разложить на действия: загрузка результата генерации, чтение изображения для обработки, показ уменьшенной копии, скачивание оригинала и удаление устаревших версий.

У каждого действия свой измеритель. Хранение зависит от среднего объёма данных за расчётный период. Передача связана с фактически отданными байтами. Операции зависят от количества запросов, а не от размера файла. Два проекта с одинаковым архивом могут получить разные счета: один раздаёт большие ролики нескольким заказчикам, другой постоянно открывает тысячи маленьких превью.

Отдельно запишите, где работает генерация. Если вычислительный сервис выгружает результат в хранилище другого провайдера, в общей смете может появиться исходящая передача со стороны вычислений. Бесплатный входящий поток в выбранное хранилище сам по себе эту строку не отменяет. Направление движения данных важно проверять с обеих сторон.

Что именно сравниваем

В опубликованной документации Spaces Standard базовая подписка стоит 5 долларов в месяц и включает 250 GiB хранения и 1024 GiB исходящей передачи. Дополнительное хранение указано по 0,02 доллара за GiB в месяц, передача сверх включённого объёма — по 0,01 доллара за GiB. Лимиты распределяются между бакетами подписки, поэтому нельзя начислять полный бесплатный объём каждому клиентскому бакету отдельно.

Для R2 Standard опубликованы другие составляющие: 0,015 доллара за GB-месяц, операции класса A и класса B. Предусмотрены бесплатные месячные объёмы: 10 GB-месяцев, миллион операций A и десять миллионов B. Прямая исходящая передача из R2 не тарифицируется. Однако подключённые вычисления, обработка изображений и другие сервисы могут иметь собственные цены.

Эти параметры проверены 31 октября 2026 года. Перед заказом их нужно сверить заново. Здесь рассматривается стандартное хранение; холодные классы и Infrequent Access нельзя подставлять в ту же модель без учёта извлечения и других условий.

Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.
Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.

Два расчёта вместо одного рекламного сравнения

Возьмём условную нагрузку: среднее хранение 200 GiB, исходящая передача 800 GiB в месяц. При перечисленных условиях Spaces укладывается в базовые 5 долларов. Если объём раздачи увеличится до 5000 GiB, хранение останется прежним, но расчёт станет таким: 5 + (5000 − 1024) × 0,01 = 44,76 доллара. Это оценка только указанных компонентов, без налогов, конвертации и сторонних услуг.

Для R2 те же 200 GiB нужно сначала перевести в десятичные GB: приблизительно 214,75 GB. Нельзя незаметно объявить GiB и GB одной единицей. После бесплатных 10 GB остаётся около 204,75 GB-месяца; с округлением до следующей расчётной единицы в опубликованной модели это 205 × 0,015 = 3,075 доллара за хранение. Для примера предполагаем полный месяц с постоянным объёмом.

Если запросы укладываются в бесплатные объёмы Standard, операций к этой оценке не добавится. Но это отдельное допущение, а не свойство любой медиатеки. Например, при 30 миллионах операций чтения класса B за месяц после включённых десяти миллионов остаётся двадцать миллионов. По ставке 0,36 доллара за миллион получится ещё 7,20 доллара. Загрузки и другие операции класса A следует считать отдельно.

Полученные суммы не являются предложением оплатить весь проект за указанную цену. Они показывают чувствительность сметы: у одного варианта растёт строка передачи, у другого важно не забыть операции и соседние сервисы. Коммерческие условия оплаты облака для компании можно предварительно обсудить через RaketaPay, передав название провайдера, владельца аккаунта и состав предполагаемого счёта. Доступность конкретной операции нужно подтвердить до перевода средств.

Почему CDN не заменяет измерения

Кеш способен сократить обращения к исходному хранилищу, но эффект зависит от маршрута запросов. Если приложение каждый раз выдаёт уникальный адрес или параметры, которые меняют ключ кеширования, ожидаемый процент попаданий может не получиться. Если клиент постоянно скачивает новый оригинал, считать его повторным просмотром популярной картинки тоже неправильно.

Полезно разделить три показателя: запросы пользователей, обращения к хранилищу и объём оплачиваемой передачи. Они не обязаны совпадать. В отчёте за тестовый период нужно видеть все три, иначе снижение одного счётчика легко принять за уменьшение всего счёта. Для закрытых клиентских материалов дополнительно проверяется, не делает ли выбранный способ кеширования файл доступным посторонним.

Проведите небольшой тест с типичным набором: крупный оригинал, превью, видео и архив. Проверьте первый просмотр, повторное открытие, скачивание после истечения срока ссылки и обращение из клиентского приложения. Важны не только миллисекунды, но и корректность разрешений, заголовков, имён файлов и удаления старой версии.

Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.
Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.

Цена перехода тоже входит в решение

Даже заметная разница в ежемесячной смете не делает миграцию автоматически выгодной. Потребуются перенос объектов, проверка полноты, изменение адресов, настройка ключей доступа и контроль старых ссылок. Если заказчикам уже выданы постоянные URL, переход без плана может нарушить согласованный процесс передачи результата.

Составьте отдельную оценку миграции в часах и деньгах. Допустим, переход требует 12 часов инженера, а ожидаемая экономия составляет 15 долларов в месяц. Без стоимости часа и срока жизни проекта вывод об окупаемости сделать нельзя. Для короткой кампании сохранение работающего решения иногда рациональнее, чем минимальный тариф нового хранилища.

Также нужны правила хранения. Неразобранные варианты генерации, резервные копии и архивы заказчиков могут расти быстрее полезной библиотеки. Срок удаления должен вытекать из обязательств перед клиентом, а не только из желания уменьшить счёт. Перед автоматической очисткой определите, где лежит исходник и кто имеет право разрешить удаление.

Как принять решение без ложной точности

Соберите прогноз на обычный месяц и на пик кампании. Для каждого сценария укажите среднее хранение, переданные байты, запросы чтения и записи, дополнительные сервисы и расходы на переход. Отдельно перечислите неизвестные величины. Если нет статистики повторных просмотров, лучше показать диапазон, чем красивую сумму с двумя знаками после запятой.

Для небольшого проекта, уже работающего в DigitalOcean, включённые объёмы Spaces могут оказаться удобным стартом. При интенсивной внешней раздаче R2 заслуживает отдельного расчёта благодаря отсутствию прямой платы за egress. Итог зависит от фактического профиля нагрузки, технических требований и полной стоимости эксплуатации, а не от универсального победителя.

Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.
Редакционная иллюстрация, созданная ИИ. Не интерфейс сервиса и не реальные данные аккаунта.

Практический результат сравнения — таблица допущений, тестовый отчёт и понятный владелец бюджета. После этого можно согласовывать порядок оплаты и документы: RaketaPay для облачных сервисов. Возможность платежа не заменяет проверку правил провайдера, доступности аккаунта и окончательной суммы счёта.