Стоимость облака и зеркала артефактов
Разложил типичный счёт по строкам. Машины - 60 тысяч, и именно их все считают заранее. Дальше идёт то, о чём не думают: диски от удалённых машин 8 тысяч, снимки за полгода 12 тысяч, неприкреплённые внешние адреса 3 тысячи, балансировщики по одному на сервис 21 тысяча, исходящий трафик 17 тысяч, логи и метрики 14 тысяч. Итого 135 тысяч, из которых 56% - это то, о чём обычно не думают.
Стержень: облачный счёт растёт не от машин, а от мелочи, у которой нет хозяина; лечится это разметкой и регулярным разбором.
// Формулировки: «как сократить счёт за облако?», «что такое разметка ресурсов?», «что делать с недоступностью западных облаков?»
Где прячутся деньги
Разобрав счёт, я насчитал четыре типовых источника. Первый - забытое: диски остались от удалённых машин, снимки никто не чистит, внешние адреса висят без хозяина. Второй - количество: балансировщик заводят на каждый сервис вместо одного входа с маршрутизацией, и в моём примере это 21 тысяча, пятая часть счёта. Третий - трафик, про который я считал отдельно. Четвёртый - всё, чем смотрят на систему: логи и метрики, которые хранятся долго, стоят как отдельный сервис.
Разбирают счёт в том же порядке, в каком экономят. Сначала выключают то, чем никто не пользуется: это ничего не стоит и обычно приносит больше всего. Потом убирают лишнее - объединяют балансировщики, сокращают срок, который хранятся логи, включают правила жизненного цикла в хранилище. Потом берут обязательства на то, что точно проработает год. И только в конце подгоняют размеры машин.
// Отдельно про размеры: машиной, загруженной на 8%, гордиться не стоит - её уменьшают или переводят на оплату по вызовам. И наоборот, ужимать машину до 90% загрузки выйдет боком: я показывал в теме про ёмкость, что на 90% время ответа растёт в пять раз против 50%.
- забытые ресурсы
- диски, снимки и адреса, оставшиеся от удалённого; платятся молча
- порядок экономии
- сначала выключить лишнее, потом сократить сущности, потом обязательства
Разметка и владелец у каждого рубля
Разметка - это метки на ресурсах: команда, продукт, среда, ответственный. Без них счёт выглядит как один большой мешок, и разговор об экономии превращается в спор. С ними счёт раскладывается по командам, и у каждой строки появляется хозяин.
Работает разметка только при двух условиях. Первое: метки обязательны - политика запрещает создавать ресурс без них, иначе размечено будет 60% и картина всё равно не сойдётся. Второе: ресурсы создаются описанием инфраструктуры, а не руками, тогда метки проставляются автоматически.
// Дальше на разметку вешают три полезные вещи: регулярный отчёт по командам, предупреждение при выходе за ожидаемую сумму и автоматическую уборку по расписанию - удалять снимки старше срока, гасить машины в тестовой среде на ночь и выходные. Последнее часто экономит больше, чем месяц ручной подгонки размеров: тестовая среда, которая работает 40 часов в неделю вместо 168, обходится вчетверо дешевле.
- разметка
- обязательные метки на ресурсах: команда, продукт, среда, ответственный
- автоматическая уборка
- гасить тестовые среды по расписанию и удалять старое
Российская реальность
Западные облака для компаний из России практически недоступны: оплата не проходит, аккаунты закрывают, а часть сервисов блокирует доступ по региону. Это не абстракция - я сегодня напоролся на такое сам: реестр провайдеров одного популярного инструмента описания инфраструктуры отдал отказ прямо с нашего сервера, и работать пришлось на открытом форке с другим реестром.
Поэтому реальный выбор - местные облака. Устроены они похоже (машины, сети, управляемые базы и кластеры, объектное хранилище с привычным интерфейсом), но набор управляемых сервисов уже, а специфические вещи вроде готовых очередей и сервисов машинного обучения часто приходится поднимать самим.
// Практические следствия. Проверяйте доступность внешних реестров образов и пакетов ЗАРАНЕЕ и держите своё зеркало - иначе сборка однажды встанет не по вашей вине. Закладывайте, что часть инструментов придётся заменить открытыми аналогами. И помните про требования к размещению персональных данных: они задают, где физически может лежать база, и это ограничение сильнее любых технических предпочтений.
- блокировка по региону
- сервис отказывает по адресу или сети клиента, независимо от оплаты
- своё зеркало
- копия внешних образов и пакетов у себя; страховка от недоступности
Как отвечать: «Счёт за облако вырос вдвое. С чего начнёте?»
С разбора по строкам, а не с сокращения машин. Я раскладывал типичный счёт: машины там были меньше половины, а остальное - забытые диски от удалённых машин, снимки за полгода, неприкреплённые внешние адреса, балансировщик на каждый сервис и исходящий трафик. Дальше по порядку убывания эффекта. Сначала выключаю то, что вообще не используется, - это ничего не стоит и обычно даёт больше всего. Потом сокращаю количество сущностей: один вход с маршрутизацией вместо балансировщика на сервис, срок хранения логов, правила жизненного цикла в объектном хранилище. Потом гашу тестовые среды по расписанию: сорок рабочих часов в неделю вместо ста шестидесяти восьми - это вчетверо дешевле. И только потом беру обязательства на год по тому, что точно будет работать. Чтобы это повторялось само, ввожу обязательную разметку ресурсов и отчёт по командам - без хозяина у строки счёта разговор об экономии всегда буксует.
Ответ начинается с измерения, идёт по убыванию эффекта и заканчивается процессом, который не даёт счёту вырасти снова. Именно этого и ждут от того, кто уже разбирал счета.
На чём валятся
- −Начинают экономию с уменьшения машин, хотя больше половины счёта - это мелочь без хозяина.
- −Не чистят диски и снимки от удалённых ресурсов.
- −Заводят балансировщик на каждый сервис вместо одного входа.
- −Держат тестовые среды круглосуточно.
- −Планируют архитектуру на западных сервисах, не проверив их доступность из своей сети.
Проверьте себя
Пять вопросов из банка по этой подтеме. Всего их 6, остальные разбираются в тренажёре.
- Счёт за облако вырос вдвое, кто именно потребляет — неясно. С чего начинают наводить порядок?A)С обязательных меток на ресурсах: команда, сервис, окружениеB)С перехода на годовую оплату со скидкойC)С запрета создавать ресурсы всем, кроме дежурных инженеровD)С отключения мониторинга: он тоже стоит денег
показать ответ и разбор
+A)С обязательных меток на ресурсах: команда, сервис, окружение// разбор: Пока ресурсы безымянные, разговор о расходах превращается в гадание. Обязательные метки (владелец, сервис, окружение) плюс проверка их наличия при создании дают разбивку счёта по командам и сервисам — дальше видно, что дорожает и кто за это отвечает. Только после этого имеет смысл торговаться за тарифы и резервировать мощности.
- Машин стало меньше, а счёт почти не изменился. Что обычно съедает деньги незаметно?A)Лицензии на образы операционных системB)Диски, снапшоты, адреса, трафик и логиC)Плата за простаивающие сетевые интерфейсыD)Наценка за использование нескольких зон доступности
показать ответ и разбор
+B)Диски, снапшоты, адреса, трафик и логи// разбор: Виртуальные машины видны, а сопровождающее их хозяйство — нет: диски, отвязанные от удалённых машин, снапшоты по расписанию, зарезервированные публичные адреса, балансировщики без нагрузки, тома для журналов, хранилище метрик и логов и, чаще всего, исходящий трафик. Разбор начинают с отчёта по типам услуг, а не по машинам, и вешают автоматическую уборку неиспользуемого.
- Инфраструктура в РФ зависит от зарубежных реестров, образов и сервисов. Как снижают этот риск?A)Держат два зарубежных провайдера и переключаются между нимиB)Переносят всё на отечественные аналоги разом, одним проектомC)Зеркалируют артефакты внутрь периметраD)Хранят копии образов на ноутбуках инженеров как резерв
показать ответ и разбор
+C)Зеркалируют артефакты внутрь периметра// разбор: Главный риск — не цена, а внезапная недоступность: реестр перестаёт отдавать образы, репозиторий пакетов режет адреса, лицензия меняется. Лечится зеркалами внутри периметра (образы, пакеты, провайдеры IaC, базовые дистрибутивы), фиксацией версий и регулярной проверкой, что сборка и выкатка проходят при отключённом внешнем доступе. Миграция на отечественные платформы идёт отдельно и по частям, начиная с самого зависимого слоя.
- Машины в проде взяли «с запасом побольше», их средняя загрузка — 10%. Что здесь про деньги?A)Платишь за простой — нужен rightsizingB)Большие машины дают скидку за размер, это экономноC)Загрузка 10% — идеал, менять ничего не нужноD)Размер машины на счёт почти не влияет
показать ответ и разбор
+A)Платишь за простой — нужен rightsizing// разбор: Инстансы «с запасом» при загрузке 10% — это оплата воздуха: платишь за мощность, которая простаивает. Rightsizing — подгонка размера под реальное потребление (по метрикам за репрезентативный период, с запасом на пики и отказ), плюс автоскейл под переменную часть. Регулярный пересмотр размеров и удаление забытых ресурсов — базовая гигиена затрат. «Больше — на всякий случай» без данных превращается в постоянную переплату.
- Хотят ловить внезапный рост облачного счёта не в конце месяца по факту, а сразу. Что настраивают?A)Проверять счёт вручную в конце каждого месяцаB)Отключать сервисы на ночь, чтобы траты не рослиC)Раз в квартал пересматривать тарифы у провайдераD)Бюджеты с алертами и детекцию аномалий трат
показать ответ и разбор
+D)Бюджеты с алертами и детекцию аномалий трат// разбор: Чтобы не узнавать о перерасходе из финального счёта, настраивают бюджеты с алертами (порог по сумме/прогнозу шлёт оповещение при приближении/превышении) и детекцию аномалий (сервис облака сам ловит нетипичный скачок по сервису/аккаунту). Тогда о забытой дорогой машине, зациклившемся автоскейле или утечке трафика узнают в тот же день, а не через недели. Это дешёвый ранний сигнал против дорогих сюрпризов.
дальше
Теорию прочитали. Навык ставится повторением
В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.