сеньорчикОткрыть в Telegram
← вся теориятеория к собесу · Облака

Стоимость облака и зеркала артефактов

Стоимость и российская реальность

Разложил типичный счёт по строкам. Машины - 60 тысяч, и именно их все считают заранее. Дальше идёт то, о чём не думают: диски от удалённых машин 8 тысяч, снимки за полгода 12 тысяч, неприкреплённые внешние адреса 3 тысячи, балансировщики по одному на сервис 21 тысяча, исходящий трафик 17 тысяч, логи и метрики 14 тысяч. Итого 135 тысяч, из которых 56% - это то, о чём обычно не думают.

Стержень: облачный счёт растёт не от машин, а от мелочи, у которой нет хозяина; лечится это разметкой и регулярным разбором.

// Формулировки: «как сократить счёт за облако?», «что такое разметка ресурсов?», «что делать с недоступностью западных облаков?»

Где прячутся деньги

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

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

// Отдельно про размеры: машиной, загруженной на 8%, гордиться не стоит - её уменьшают или переводят на оплату по вызовам. И наоборот, ужимать машину до 90% загрузки выйдет боком: я показывал в теме про ёмкость, что на 90% время ответа растёт в пять раз против 50%.

забытые ресурсы
диски, снимки и адреса, оставшиеся от удалённого; платятся молча
порядок экономии
сначала выключить лишнее, потом сократить сущности, потом обязательства

Разметка и владелец у каждого рубля

Разметка - это метки на ресурсах: команда, продукт, среда, ответственный. Без них счёт выглядит как один большой мешок, и разговор об экономии превращается в спор. С ними счёт раскладывается по командам, и у каждой строки появляется хозяин.

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

// Дальше на разметку вешают три полезные вещи: регулярный отчёт по командам, предупреждение при выходе за ожидаемую сумму и автоматическую уборку по расписанию - удалять снимки старше срока, гасить машины в тестовой среде на ночь и выходные. Последнее часто экономит больше, чем месяц ручной подгонки размеров: тестовая среда, которая работает 40 часов в неделю вместо 168, обходится вчетверо дешевле.

разметка
обязательные метки на ресурсах: команда, продукт, среда, ответственный
автоматическая уборка
гасить тестовые среды по расписанию и удалять старое

Российская реальность

Западные облака для компаний из России практически недоступны: оплата не проходит, аккаунты закрывают, а часть сервисов блокирует доступ по региону. Это не абстракция - я сегодня напоролся на такое сам: реестр провайдеров одного популярного инструмента описания инфраструктуры отдал отказ прямо с нашего сервера, и работать пришлось на открытом форке с другим реестром.

Поэтому реальный выбор - местные облака. Устроены они похоже (машины, сети, управляемые базы и кластеры, объектное хранилище с привычным интерфейсом), но набор управляемых сервисов уже, а специфические вещи вроде готовых очередей и сервисов машинного обучения часто приходится поднимать самим.

// Практические следствия. Проверяйте доступность внешних реестров образов и пакетов ЗАРАНЕЕ и держите своё зеркало - иначе сборка однажды встанет не по вашей вине. Закладывайте, что часть инструментов придётся заменить открытыми аналогами. И помните про требования к размещению персональных данных: они задают, где физически может лежать база, и это ограничение сильнее любых технических предпочтений.

блокировка по региону
сервис отказывает по адресу или сети клиента, независимо от оплаты
своё зеркало
копия внешних образов и пакетов у себя; страховка от недоступности

Как отвечать: «Счёт за облако вырос вдвое. С чего начнёте?»

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

Ответ начинается с измерения, идёт по убыванию эффекта и заканчивается процессом, который не даёт счёту вырасти снова. Именно этого и ждут от того, кто уже разбирал счета.

На чём валятся

  • Начинают экономию с уменьшения машин, хотя больше половины счёта - это мелочь без хозяина.
  • Не чистят диски и снимки от удалённых ресурсов.
  • Заводят балансировщик на каждый сервис вместо одного входа.
  • Держат тестовые среды круглосуточно.
  • Планируют архитектуру на западных сервисах, не проверив их доступность из своей сети.

Проверьте себя

Пять вопросов из банка по этой подтеме. Всего их 6, остальные разбираются в тренажёре.

  1. #dvo_cloud_cost1 / 5
    Счёт за облако вырос вдвое, кто именно потребляет — неясно. С чего начинают наводить порядок?
    A)С обязательных меток на ресурсах: команда, сервис, окружение
    B)С перехода на годовую оплату со скидкой
    C)С запрета создавать ресурсы всем, кроме дежурных инженеров
    D)С отключения мониторинга: он тоже стоит денег
    показать ответ и разбор
    +A)С обязательных меток на ресурсах: команда, сервис, окружение

    // разбор: Пока ресурсы безымянные, разговор о расходах превращается в гадание. Обязательные метки (владелец, сервис, окружение) плюс проверка их наличия при создании дают разбивку счёта по командам и сервисам — дальше видно, что дорожает и кто за это отвечает. Только после этого имеет смысл торговаться за тарифы и резервировать мощности.

  2. #dvo_cloud_cost2 / 5
    Машин стало меньше, а счёт почти не изменился. Что обычно съедает деньги незаметно?
    A)Лицензии на образы операционных систем
    B)Диски, снапшоты, адреса, трафик и логи
    C)Плата за простаивающие сетевые интерфейсы
    D)Наценка за использование нескольких зон доступности
    показать ответ и разбор
    +B)Диски, снапшоты, адреса, трафик и логи

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

  3. #dvo_cloud_cost3 / 5
    Инфраструктура в РФ зависит от зарубежных реестров, образов и сервисов. Как снижают этот риск?
    A)Держат два зарубежных провайдера и переключаются между ними
    B)Переносят всё на отечественные аналоги разом, одним проектом
    C)Зеркалируют артефакты внутрь периметра
    D)Хранят копии образов на ноутбуках инженеров как резерв
    показать ответ и разбор
    +C)Зеркалируют артефакты внутрь периметра

    // разбор: Главный риск — не цена, а внезапная недоступность: реестр перестаёт отдавать образы, репозиторий пакетов режет адреса, лицензия меняется. Лечится зеркалами внутри периметра (образы, пакеты, провайдеры IaC, базовые дистрибутивы), фиксацией версий и регулярной проверкой, что сборка и выкатка проходят при отключённом внешнем доступе. Миграция на отечественные платформы идёт отдельно и по частям, начиная с самого зависимого слоя.

  4. #dvo_cloud_cost4 / 5
    Машины в проде взяли «с запасом побольше», их средняя загрузка — 10%. Что здесь про деньги?
    A)Платишь за простой — нужен rightsizing
    B)Большие машины дают скидку за размер, это экономно
    C)Загрузка 10% — идеал, менять ничего не нужно
    D)Размер машины на счёт почти не влияет
    показать ответ и разбор
    +A)Платишь за простой — нужен rightsizing

    // разбор: Инстансы «с запасом» при загрузке 10% — это оплата воздуха: платишь за мощность, которая простаивает. Rightsizing — подгонка размера под реальное потребление (по метрикам за репрезентативный период, с запасом на пики и отказ), плюс автоскейл под переменную часть. Регулярный пересмотр размеров и удаление забытых ресурсов — базовая гигиена затрат. «Больше — на всякий случай» без данных превращается в постоянную переплату.

  5. #dvo_cloud_cost5 / 5
    Хотят ловить внезапный рост облачного счёта не в конце месяца по факту, а сразу. Что настраивают?
    A)Проверять счёт вручную в конце каждого месяца
    B)Отключать сервисы на ночь, чтобы траты не росли
    C)Раз в квартал пересматривать тарифы у провайдера
    D)Бюджеты с алертами и детекцию аномалий трат
    показать ответ и разбор
    +D)Бюджеты с алертами и детекцию аномалий трат

    // разбор: Чтобы не узнавать о перерасходе из финального счёта, настраивают бюджеты с алертами (порог по сумме/прогнозу шлёт оповещение при приближении/превышении) и детекцию аномалий (сервис облака сам ловит нетипичный скачок по сервису/аккаунту). Тогда о забытой дорогой машине, зациклившемся автоскейле или утечке трафика узнают в тот же день, а не через недели. Это дешёвый ранний сигнал против дорогих сюрпризов.

дальше

Теорию прочитали. Навык ставится повторением

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