Конфигурация и учёт использования для каждого арендатора
Научитесь управлять настройками для каждого арендатора, доступными функциями и учётом использования, на которых основаны тарификация и настройка продвинутых многопользовательских SaaS-систем.
«Конфигурация и учёт использования для каждого арендатора» — бесплатный урок SaaS Architecture & Startup Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SaaS Architecture & Startup Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SaaS Architecture & Startup Engineering содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Tenants Are Not Identical
In advanced multi-tenancy, each tenant has different needs: plan limits, enabled features, and branding. The system must track per-tenant configuration cleanly.
This lesson covers configuration, entitlements, and usage metering.
Tenant Configuration Store
Per-tenant settings live in a configuration store keyed by tenant ID. It holds plan, limits, feature flags, and preferences.
const tenantConfig = {
'42': { plan: 'pro', seats: 25, features: ['sso', 'audit_log'] },
'43': { plan: 'free', seats: 3, features: [] }
};Entitlements
An entitlement is the set of features and limits a tenant is allowed based on their plan. Code checks entitlements before granting access to a capability.
function canUse(tenant, feature) {
return tenant.features.includes(feature);
}
if (!canUse(t, 'sso')) throw new Error('Upgrade required');Plan Limits and Quotas
Limits cap resource use per tenant: API calls per month, storage, seats, or projects. Enforcing quotas prevents one tenant from overusing shared infrastructure.
When a quota is reached, you block the action or prompt an upgrade.
Why Meter Usage
Metering records how much each tenant consumes. It powers usage-based billing, quota enforcement, and capacity planning.
Accurate metering is the foundation of fair, transparent charging.
Recording Usage Events
Each billable action emits a usage event tagged with tenant, metric, quantity, and timestamp.
function recordUsage(tenantId, metric, qty) {
events.push({ tenantId, metric, qty, ts: Date.now() });
}
recordUsage('42', 'api_calls', 1);Aggregating Usage
Raw events are aggregated per tenant per billing period. The aggregate feeds both the quota check and the invoice.
function totalFor(tenantId, metric) {
return events
.filter(e => e.tenantId === tenantId && e.metric === metric)
.reduce((sum, e) => sum + e.qty, 0);
}Soft vs Hard Limits
Limits come in two flavors:
- Soft limit — warn the tenant but keep serving (then bill overage)
- Hard limit — block further use until upgrade or reset
Choosing well affects both revenue and customer satisfaction.
Feature Flags Per Tenant
Per-tenant feature flags let you roll out features to specific tenants, run pilots, or sell features as add-ons.
The same code path can behave differently per tenant based on flag evaluation.
Configuration Caching
Tenant config is read on nearly every request, so it must be fast. Cache it in memory or a distributed cache, and invalidate on plan changes.
Stale config can wrongly grant or deny features, so invalidation must be reliable.
Auditing Config Changes
Changes to entitlements and limits should be audited: who changed what, when, and why. This supports billing disputes, compliance, and debugging.
An immutable change log builds trust with enterprise customers.
Quick Check
Test your understanding of per-tenant management.
Recap
You learned per-tenant management:
- Configuration stores and entitlements per tenant
- Quotas, soft vs hard limits, and per-tenant feature flags
- Usage metering via events and aggregation for billing
- Caching with invalidation and auditing of changes
Часто задаваемые вопросы
Урок «Конфигурация и учёт использования для каждого арендатора» бесплатный?
Да — полный текст урока «Конфигурация и учёт использования для каждого арендатора» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SaaS Architecture & Startup Engineering, подпишись на CoddyKit PRO. Курс SaaS Architecture & Startup Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Конфигурация и учёт использования для каждого арендатора»?
Научитесь управлять настройками для каждого арендатора, доступными функциями и учётом использования, на которых основаны тарификация и настройка продвинутых многопользовательских SaaS-систем. Ты практикуешь SaaS Architecture & Startup Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SaaS Architecture & Startup Engineering?
Предыдущий опыт не требуется. SaaS Architecture & Startup Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Конфигурация и учёт использования для каждого арендатора»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SaaS Architecture & Startup Engineering?
Да. Каждый урок SaaS Architecture & Startup Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Стратегии изоляции арендаторов
- Методы шардинга баз данных
- Проектирование кастомизации и расширяемости
- Конфигурация и учёт использования для каждого арендатора