Files
huncode 1b5ff34e2b
Build and deploy / deploy (push) Successful in 17s
revise October 2024 capacity cost articles
2026-07-31 16:43:48 +03:00

11 KiB
Raw Permalink Blame History

P80 — октябрь 2024: ёмкость и стоимость

Граница пакета

Пакет заменяет только три overlay-ревизии:

  • editorial-2024-10-practice-capacity-cost;
  • editorial-2024-10-mechanism-capacity-cost;
  • editorial-2024-10-field-capacity-cost.

Все workload, request, limit, quota, p95, проценты, риски и суммы в статьях принадлежат synthetic-capacity-cost-model/2024-10-v1. Это фиксированные литералы JavaScript в памяти и их детерминированные производные; в пакете нет счёта, тарифа, имени продукта, клиентского объёма, метрики, интервью или утверждения об actual saving.

Проход 1 — факты и техника

Источники и историческая граница

Все четыре URL проверены обычным TLS-запросом без авторизации и без обхода сертификатов: каждый вернул HTTP 200.

Источник Версия / дата Что подтверждает Чего не подтверждает
Kubernetes: Manage Resources for Containers Immutable commit 0666011822b3ebbec179d6b3a2e6832977daa3bc, 06.05.2024 Scheduler использует request; CPU/memory limits имеют отдельную семантику исполнения. Цену, invoice, тариф provider или безопасный размер instance.
Kubernetes: ResourceQuota Immutable commit c87b19193d8b1e96de03d76ec7eece02262580f0, 30.05.2024 Абсолютные quota для requests/limits; сумма quota может превышать cluster capacity. Связь quota с расходом, claim об экономии или доступная capacity.
Kubernetes: LimitRange Immutable commit c889d9b2510bba78dbb527a79b8e2099b16f3d67, 14.03.2024 Admission defaults, minimum, maximum и ratio request/limit. Прогноз saturation, стоимости или изменение уже работающего workload.
Google Cloud Billing Catalog v1 proto Immutable commit 0fe653872eca3ece391a0b4ec2f8ace64634419f, 18.06.2024 Форму SKU/pricing expression: usage unit, base unit и tiered rates. Реальную цену, скидку, валюту, billing account или счёт читателя.

Все снимки существовали до конца октября 2024. В текстах эти источники использованы только для словаря и границ модели, не для переноса поведения конкретной платформы на synthetic cards.

Проверка арифметики и модели

  • steady-slo-cost-drift: 0,36 + (1,2 × 0,08) + (2 × 0,01) = 0,476 u/h; за 24 часа — 11,424 u.
  • next-limit-balanced: 0,36 + (1,4 × 0,08) + (2,2 × 0,01) = 0,494 u/h; за 24 часа — 11,856 u; разница от 1,4 до 1,6 CPU — 0,384 u/24h.
  • saturation-stop: 0,512 u/h, 12,288 u/24h; p95 headroom — 4 ms, поэтому branch останавливается до выбора следующего предела.
  • large-instance-unjustified: 0,74 u/h, 17,76 u/24h; низкий synthetic utilisation не выдаётся за реальный bill или доказательство безопасного уменьшения capacity.

Fixture имеет закрытые контракты input/report/draft/return card. Он проверяет точные ключи, dense arrays, unknown keys, cyclic JSON и canonical comparison. В нём нет чтения файлов, Git, облака, billing export, telemetry, CI, сети или production state; return card не выполняет rollback.

Вердикт: фактические утверждения ограничены источниками и fixed model; арифметика и негативные ветки согласованы с кодом.

Проход 2 — редактура и голос

Автор октября 2024 звучит как системный практик: не обещает «оптимизацию», а ведёт от симптома к причине, проверке и действию. В первых двух абзацах каждой статьи есть исходная ситуация и цена ошибки:

Статья Исходная проблема Цена ошибки Практический артефакт
Practice SLO проходит, а model cost растёт. SLO ошибочно принимают за доказательство стоимости. Capacity-card и формула workload → resource → unit → stop.
Mechanism Процент загрузки принимают за цену. Fixed base, unit и quota исчезают из причинной цепочки. Causal diagram, таблица терминов и negative fixture.
Field Большой instance выбирают по одной latency-точке. Предел, risk и return boundary остаются неявными. Матрица трёх cases, limit curve и маршрутизированный чек-лист.

Из текста удалены общие обещания, real savings и production advice. Термины раскрыты через конкретную роль: request/limit/quota для формы ресурса, usage/base unit и tiered rate для billing expression, saturation для stop condition. Финалы оставляют проверяемый tabletop-шаг, а не лозунг.

Проверенный объём основного текста, без списка источников:

  • practice — 9 930 знаков;
  • mechanism — 10 997 знаков;
  • field — 10 037 знаков.

Вердикт: каждый текст находится в диапазоне 5 000–15 000 знаков, держит тон 2024 года и не подменяет границу модели универсальным советом.

Проход 3 — визуал и выпуск

Asset Смысл Проверка на 375 px
capacity-cost-2024-load-resource-cost.svg Связь workload, resource, billing unit и stop boundary. Рендер 375×233, карточки и стрелки различимы.
capacity-cost-2024-scenario-matrix.svg Causal split utilisation, allocation, saturation и billing expression. Рендер 375×233, короткая нижняя легенда не обрезается.
capacity-cost-2024-limit-curve.svg Три synthetic точки: performance, model cost и operational risk. Рендер 375×233, title и stop line читаемы.

У каждой статьи есть figure с meaningful alt и caption, HTML table с thead, компактный code example, ordered route и раздел ограничений. Для SVG проверены XML и отсутствие script, foreignObject, javascript:, data:image и event handlers.

Запущенные проверки:

node --check scripts/upgrade-2024-10.mjs
PASS fixture: 33/33 assertions
npm run audit:draft -- scripts/upgrade-2024-10.mjs
PASS editorial-2024-10-practice-capacity-cost: 9930 body chars
PASS editorial-2024-10-mechanism-capacity-cost: 10997 body chars
PASS editorial-2024-10-field-capacity-cost: 10037 body chars
xmllint --noout <three SVG files>
SVG safety scan: 0 matches
Sharp 375 px: 375x233, 375x233, 375x233

Общий production build намеренно не запускался: пакет изолирован, а задача запрещает registry/README/queue/Git/staging/commit/push. Выпускной вердикт для draft-пакета: готов к независимому подключению и отдельной сборке владельцем пакета.

Выпуск после трёх независимых проходов

  1. Факты и техника. Редактор повторно прочитал четыре immutable sources. Kubernetes snapshots подтвердили request/limit semantics, aggregate ResourceQuota и admission-only LimitRange; Google Cloud proto — SKU, usage/base unit и tiered rates. Формулировка о quota уточнена: сумма quota может превышать ёмкость кластера, поэтому quota не является доказательством доступной capacity. node --check и fixture — PASS 33/33.
  2. Редактура и голос. Три статьи держат разные вопросы: capacity-card, причинная модель стоимости и выбор следующего предела. После уточнения источника объёмы — 9 995, 11 013, 10 047 знаков; synthetic values не выданы за тариф или advice. В каждом тексте есть problem/cost, таблица, пример и один проверяемый следующий шаг.
  3. Визуал и выпуск. Первый мобильный просмотр нашёл недопустимо узкую карточку «предел» в схеме workload → resource → cost. Схема переработана в четыре крупные последовательные карточки, заново прошла XML/safety scan и Sharp-render на 375 px; остальные две диаграммы также просмотрены. После подключения overlay audit:articles подтвердил figure/table/code example на каждый slug; registry содержит 235 уникальных ревизий. npm run build успешно построил 374 страницы.

В выпуск входят только пять файлов октября, обновления registry/production README и эта приёмка. Пользовательские изменения, черновики ноября/декабря/января и исходный articles.json исключены.