Оптимизация облачных затрат
1) Зачем FinOps и какие цели
Цель — снизить COGS при сохранении SLO/скорости разработки. Ключевые вопросы:- Сколько стоит 1 запрос, 1 активный пользователь, 1 тэнант?
- Какой маржинальный эффект у нового фичера/трафика?
- Где «протечки» (egress, избыточные логи, оверхед CPU/памяти, простаивающие ресурсы)?
Базовые метрики
Cost/Req, Cost/Minute Active, Cost/Tenant/Brand, Cost/GB-stored, Cost/GB-egress.
COGS %: доля себестоимости в выручке.
Waste %: (оплаченные, но неиспользованные ресурсы) / (все ресурсы).
2) Наведение порядка: тэги, владение, бюджеты
Тэгирование/лейблы: `env`, `team`, `service`, `tenant`, `product`, `cost_center`, `slo_tier`.
Владение: у каждого ресурса — владелец и TTL.
Бюджеты/алерты: месячные/недельные бюджеты с порогами 50/80/100% + anomaly detection.
Политики как код: запрет «без тэгов», лимиты размеров, регионы по умолчанию, выделенные квоты.
hcl module "policy" {
source = "finops/policy/required-tags"
required_tags = ["env","team","service","cost_center","tenant"]
}
3) Архитектурные рычаги экономии
3.1 Правильные размеры и автоскейлинг
Rightsizing: подберите инстансы под фактический CPU/RAM p95.
Автоскейлинг: горизонталь > вертикаль; для K8s — Cluster Autoscaler/Karpenter, для serverless — min/max concurrency.
Холодные пути — в очереди/батчи; продолговременные задачи — в воркеры по расписанию.
3.2 Спотовые/выкупленные мощности
Spot/Preemptible для стейтлесс/бэкграундов и CI; держите буфер On-Demand.
RI/CUD/Savings Plans: бронируйте стабильные 50–70% базовой нагрузки, остальное — эластика.
3.3 Хранение и классы данных
Разделяйте: hot (SSD), warm (стандартное), cold/архив (Glacier/Archive).
Политики лайфциклов: сдвиг классов, удаление после срока.
Включите версионирование там, где нужно, и object lock (WORM) — только для аудита.
3.4 Сеть и egress
CDN/edge + stale-while-revalidate уменьшает межрегиональный egress.
Приватные каналы (PrivateLink/PSC/Direct Connect/Interconnect) вместо «сырого» интернета.
Компрессия (Brotli/Zstd), HTTP/3/QUIC — меньше RTT/переподключений.
3.5 Базы данных и кэши
Подберите двухуровневую схему: кэш (Redis/Memcached) + хранилище.
Читайте реплики для аналитики, включайте автовакуум/компакцию, используйте pgBouncer/RDS Proxy.
Для больших таблиц — партиционирование/TTL/архив.
4) Kubernetes-экономика
Requests/Limits по SLO-классам; запрет `limits: null`.
VPA (рекомендации), Karpenter (подбор инстансов под поды), Bin packing (tolerations/affinity).
Разделяйте prod/stage/dev на уровне кластера/узлов (разные типы и политики).
Сетевые и сторедж-классы: выбирайте SC/IOPS по профилю нагрузки, а не «премиум везде».
QoS классы и приоритеты: экономия на фоновых заданиях.
Профили логов: sidecar-агенты с локальным буфером, отправка батчами.
5) Serverless-экономика
Min instances/provisioned concurrency — только для горячих ручек.
Мелкий деплой-бандл, lazy-init, шаринг коннектов.
Сроки выполнения и вынесение в очередь тяжелых задач.
Функции-агрегаторы (fan-in) вместо десятка походов в зависимости.
6) Обсервабилити: платить за ценную телеметрию
Логи: структурные, без verboseness; ретенции по классам (prod-ошибки дольше, debug — коротко).
Сэмплинг трэйсов: tail-based — 100% ошибок/p99, остальное 1–10%.
Метрики: агрегация/даунсэмплинг, sparse-отправка.
Фильтрация PII до отправки (меньше байтов и рисков).
7) Сеть поставщиков и Marketplace
Сравнивайте цены регионов, маржинальность managed-сервисов, маркетплейс-бандлы.
Переговоры: объемные скидки (RI/CUD), коммит-соглашения, кредитные программы.
Избегайте дублирования SaaS с пересекающимся функционалом.
8) Юнит-экономика и дашборды
Основные SLI/SLO стоимости
Cost/Req по маршрутам (login, catalog, deposit).
Cost/Tenant/Brand/Region.
Egress/Req, Storage/Req, Compute/Req.
Waste % и Coverage RI/SP %.
Дашборды (минимальный набор)
«Карта затрат» по сервисам/командам со спусками до ресурса.
«Тепловая карта» egress по направлениям.
«Сервис → стоимость → SLO»: корреляция p99 и Cost/Req.
«RI/CUD/Spot» покрытие и экономия по линиям.
9) Процессы FinOps
Еженедельные разборы счетов с владельцами сервисов.
Change review с оценкой стоимости фич до прод-включения.
Guardrails: лимиты квот, автоматическое завершение idle-ресурсов, TTL на тестовые среды.
GameDays стоимости: искусственные пики/фич-флаги, проверка устойчивости бюджета.
10) Антипаттерны
«Временные» ресурсы без TTL → навсегда.
`0.0.0.0/0` egress + отсутствует CDN → egress-счета взрываются.
Без тэгов/лейблов → невозможно распределить расходы.
Логи уровня DEBUG в проде, трэйсы 100% — бессмысленные терабайты.
Provisioned/serverful «на всякий случай» без метрик использования.
Все нагрузки — только On-Demand, без RI/Spot/коммитов.
11) Специфика iGaming/финансов
PSP/платежные комиссии — часть COGS: оптимизируйте smart-routing к дешевым/надежным провайдерам; кэшируйте статусы, избегайте повторов без идемпотентности.
KYC/AML-вендоры: пакетируйте запросы, используйте кэш результатов (TTL по политике), измеряйте Cost/KYC.
«Пути денег» (депозит/вывод): отдельные SLO и бюджет; резервы на пиковые события, теплые экземпляры только там.
Контент/CDN: локальные edge и региональные домены для снижения egress и соблюдения data residency.
Юридические требования: WORM-хранилище для аудита — ограничивайте объем (агрегация, TTL, компрессия).
12) Мини-рецепты
12.1 Политика ретеншна логов
Prod-ошибки: 30–90 дней; Info: 7–14; Debug: 24–72 часа.
Архив только по требованию комплаенса.
12.2 Канареечная телеметрия
Для новой фичи — 100% трэйсов первые 24 ч → потом tail-sampling.
12.3 Лайфциклы объектов
json
[
{"prefix": "raw/", "days_to_warm": 30, "days_to_cold": 90, "days_to_delete": 365},
{"prefix": "audit/", "lock": "WORM-365d"}
]
12.4 Бюджеты/алерты (идея)
Месячный бюджет per team; алерты 50/80/100%; anomaly detection > 30% от тренда за 24 ч.
13) Чек-лист prod-готовности
- Тэги и владельцы на 100% ресурсов; политики блокируют нетэгированные.
- Бюджеты и алерты + anomaly detection; отчеты по тэнантам/брендам/регионам.
- RI/CUD/Spot покрывают базовую нагрузку; есть буфер On-Demand.
- K8s: requests/limits заданы; VPA/Karpenter; bin packing; раздельные классы Storage/IOPS.
- Serverless: provisioned/min только для горячих путей; холодные — через очереди.
- CDN/edge включены; приватные каналы к PaaS; egress-дашборд.
- Логи/трейсы: tail-sampling, ретенции по классам; фильтрация PII.
- Лайфциклы хранения и архив; партиционирование крупных таблиц.
- Финансовые дашборды Cost/Req, Cost/Tenant, Waste %, Coverage RI/SP %.
- Для iGaming: учет PSP/KYC/AML расходов, SLO и бюджеты «путей денег», WORM-аудит.
14) TL;DR
Сначала видимость (тэги, бюджеты, дашборды), затем структурные рычаги: правильные размеры, автоскейлинг, RI/Spot/коммиты, CDN/edge и приватные каналы, классы хранения и лайфциклы. Платите за ценную телеметрию (tail-sampling, короткие ретенции) и автоматизируйте guardrails. В iGaming учтите PSP/KYC/AML как часть COGS и выделяйте «пути денег» с отдельными SLO и бюджетами.