Resource Scoring
Quantify infrastructure health, compliance, security, and operational maturity with configurable scoring models.
Overview
The scoring system provides quantitative assessments of your infrastructure across multiple dimensions. Each resource, scope, and provider receives scores that help teams prioritize improvements, track progress, and identify problem areas.
Score dimensions
| Dimension | What it measures |
|---|---|
| Health | Operational status, error rates, uptime, and resource age |
| Compliance | Adherence to compliance controls and policy requirements |
| Security | Security posture, exposure, encryption, and IAM hygiene |
| Reliability | Redundancy, backup configuration, and fault tolerance |
| Cost efficiency | Resource utilization, right-sizing, and waste |
| Operational maturity | Tagging compliance, documentation coverage, ownership |
Score range
All scores are normalized to a 0-100 range, where 100 represents perfect health. Scores above 80 are considered good, 60-80 needs attention, and below 60 requires immediate action.
Scoring engine
The scoring engine evaluates resources against configurable criteria:
# Scoring criteria definition
scoring:
dimensions:
health:
weight: 1.0
criteria:
- name: resource_age
description: "Resource is within expected lifecycle"
query: "resource.age_days < 365"
weight: 0.3
- name: backup_status
description: "Resource has active backups"
query: "resource.backup_enabled == true"
weight: 0.3
- name: error_rate
description: "Resource has low error rate"
query: "resource.error_rate < 0.01"
weight: 0.4Aggregation
Scores are aggregated hierarchically:
- Resource level -- individual resource scores for each dimension
- Scope level -- average scores for all resources in a scope
- Provider level -- average scores aggregated by cloud provider
- Global -- organization-wide score across all scopes and providers
- Trend -- score changes over time, with direction and velocity
Custom scoring
Organizations can define custom scoring criteria using graph queries:
# Custom security scoring rule
scoring:
custom_rules:
- name: "encryption_coverage"
description: "Resources with encryption enabled"
query: |
MATCH (r:Resource)
WHERE r.properties.encryption = true
RETURN count(r) as passed
weight: 0.2
- name: "public_exposure"
description: "Resources not publicly exposed"
query: |
MATCH (r:Resource)
WHERE r.properties.public_ip IS NULL
RETURN count(r) as passed
weight: 0.3