Architecture rules¶
Code: architecture
Total rules: 30
Rules¶
ECO-ARC-ARCH-001 — Over-provisioned compute¶
Sustained low utilization suggests oversized instances or replicas.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-002 — Always-on low-traffic service¶
Services running 24/7 with low utilization create baseline waste.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-003 — Long synchronous dependency chain¶
Synchronous call chains amplify latency and failure propagation.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-004 — No autoscaling policy¶
Without scaling policies, systems drift into waste or fragility.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-005 — No resource limits in containers¶
Missing CPU/memory limits causes noisy-neighbor waste and instability.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-006 — Unbounded message queues¶
Queues without bounds hide backpressure and create runaway cost.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-007 — Batch jobs run too frequently¶
Over-scheduling batch jobs wastes compute and increases cost.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-008 — Hot storage used for cold data¶
Keeping cold data in hot tiers wastes storage spend and energy.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-009 — Duplicate services performing the same work¶
Duplicate services increase operational load and waste compute.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-010 — No observability on utilization¶
Without utilization metrics, waste is invisible and persistent.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-011 — Excessive replica counts¶
Too many replicas increase baseline waste.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-012 — No graceful degradation strategy¶
Without degradation, overload becomes failure and waste.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-013 — No caching layer for high-read workloads¶
High-read systems without caching waste CPU and DB capacity.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-014 — Stateful services blocking scaling¶
Stateful designs make scaling expensive and fragile.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-015 — Tight coupling across bounded contexts¶
Coupling increases coordination cost and failure propagation.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-016 — Multi-tenant workloads without isolation¶
Lack of isolation causes noisy-neighbor waste and instability.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-017 — Inefficient container image size¶
Large images increase pull time and wasted storage/transfer.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-018 — No cold-start optimization¶
Cold starts inflate latency and may force overprovisioning.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-019 — Overly aggressive autoscaling thresholds¶
Aggressive scaling can cause thrash and wasted churn.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-ARC-ARCH-020 — Underutilized GPU/accelerator resources¶
Accelerators running idle waste significant power and cost.
- Category: Architecture
- Family: Architecture
- Layer: architecture
ECO-CMP-JAVA-003 — Thread pool misconfiguration¶
Incorrect thread pool sizing can waste CPU or cause latency collapse.
- Category: Computation
- Family: Java
- Layer: architecture
ECO-CMP-JAVA-006 — Missing connection pooling¶
No pooling increases connection churn and DB overhead.
- Category: Computation
- Family: Java
- Layer: architecture
ECO-CMP-JAVA-009 — Large heap allocation spikes¶
Heap spikes increase GC pauses and tail latency.
- Category: Computation
- Family: Java
- Layer: architecture
ECO-CMP-PY-016 — No connection pooling¶
Lack of pooling increases connection churn, latency, and DB load.
- Category: Computation
- Family: Python
- Layer: architecture
ECO-DAT-CACHE-002 — Cache stampede risk¶
Many workers may recompute the same expired value simultaneously, amplifying load during bursts.
- Category: Data
- Family: Caching
- Layer: architecture
ECO-INF-DOCKER-002 — Oversized base image¶
Heavy base images increase transfer, storage, and patching footprint without improving runtime value.
- Category: Infrastructure
- Family: Docker
- Layer: architecture
ECO-INF-K8S-004 — Heavy or redundant sidecars¶
Sidecars add useful capabilities, but they also add CPU, memory, storage, and network overhead.
- Category: Infrastructure
- Family: Kubernetes
- Layer: architecture
ECO-RES-DEG-001 — No degraded mode for optional dependencies¶
The system fails completely when optional dependencies such as recommendations, analytics, or enrichment are unavailable.
- Category: Resilience & Reliability
- Family: Graceful Degradation
- Layer: architecture
ECO-RES-FAIL-001 — Retry storm without backoff¶
Clients retry failures aggressively without exponential backoff, jitter, or circuit breaking.
- Category: Resilience & Reliability
- Family: Failure Handling
- Layer: architecture
ECO-SUS-CARBON-001 — Carbon-insensitive workload placement¶
Workloads are deployed without considering regional carbon intensity or cleaner available regions.
- Category: Sustainability & Environmental Impact
- Family: Carbon-Aware Computing
- Layer: architecture