ArthaOps
PlatformTrustCase StudiesPricingDocs
Sign InStart Free
ZERO-AGENT READ-ONLY DEPLOYMENT // MULTI-CLOUD IAM & RBAC

Evaluate your multi-cloud environment in under 2 minutes.

Deploy the agentless read-only scanner with zero long-lived credentials stored. Real-time deterministic waste detection across 378 active multi-cloud rules.

Start Free ScanBook Demo
$curl -sSL https://arthaops.com/scan | sh
ArthaOps

Zero-Trust Multi-Cloud Cost Governance Platform. Continuous waste detection, deterministic math & automated remediation.

INSTITUTIONAL FINOPS // ZERO-TRUST ENGINE

01 PLATFORM

Platform OverviewControl RoomCloud TopologyDetector EngineAsset InventoryRemediation EngineSavings IntelligenceDetector CatalogPlatform ComparisonPricing

02 TRUST

Trust CenterSecurity ArchitectureCompliance MatrixSovereign Proxy Guarantee

03 RESOURCES

Engineering BlogSample Audit ReportDocumentationChangelogCase StudiesCustomer GuaranteesROI CalculatorGitHub Repository

04 COMPANY

About UsContact UsEnterprise Sales
45.0°W:117.0mmR:14.0mmH:53.0mmCL:298.0GAP:15.045.0°O-DIAM:117.0P-LOOP:38.0S-END:957.0117.0117.0117.0117.0117.0117.0117.0117.03.03.03.03.03.03.03.0P1P2P3P4P5P6P7P8P9⊕ DATUM-A (0,53)⊕ DATUM-B (957,0)OVERALL WIDTH: 957.00 mm53.00 mmDESIGNED BY ARTHAOPSMISSION CONTROL // CLASS-ATECH SINGULARITYSECTION 9 // ISO-128CAD DWG NO: AO-2026-M290 // SCALE 1:1 // TOLS: ±0.005mm // SHADER: WGL-V2 // CERTIFIED MAXIMUM HIGH-DENSITY CAD SCHEMATIC
© 2026 ArthaOps System Private Limited. All rights reserved.
SOC2 TYPE II READY // READ-ONLY IAM
Privacy PolicyTerms of ServiceCookie PolicyRefund PolicySystem Status
Back to Detector Directory
DET-DDB-001AWS DynamoDBhigh Severity
Production-Validated
Last Verified: 2026-10-12

AWS DynamoDB Provisioned Capacity Over-Allocation Detector

Locate Amazon DynamoDB tables running provisioned read/write capacity units with < 20% peak utilization that should switch to On-Demand capacity or scale down provisioned units.

1. Detection Scope & Operational Boundaries

Every ArthaOps detector enforces strict epistemic honesty. We clearly separate what can be mathematically proven via agentless telemetry from what requires contextual human judgement.

What This Detector Identifies

  • DynamoDB tables provisioned with static RCU/WCU where peak ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits remain below 20% of provisioned capacity across 14 consecutive days.
  • Tables with highly spiky or sporadic traffic padded with 5x–10x over-provisioned capacity to avoid throttles.
  • Global Secondary Indexes (GSIs) with excessive provisioned write throughput bottlenecking costs.

What It Cannot Establish Alone

  • Whether scheduled flash sales, annual marketing events, or predictable month-end batch crons require retaining high provisioned headroom to prevent ThrottledRequests.
  • Whether enterprise Savings Plans or EDP commitments provide volume discounting that changes the economic break-even point between Provisioned and On-Demand (PAY_PER_REQUEST).

2. Telemetry & Evidence Requirements

ArthaOps operates strictly via Plane 1 (Read-Only Discovery). The following CloudFormation / IAM permissions and CloudWatch metrics are evaluated:

Target AWS Resource Type: AWS::DynamoDB::Table
Required Read-Only IAM Permissions:
dynamodb:DescribeTabledynamodb:UpdateTablecloudwatch:GetMetricData
Evaluated Telemetry Metrics:
AWS/DynamoDB: ConsumedReadCapacityUnits (Average, Maximum, 14d)AWS/DynamoDB: ProvisionedReadCapacityUnits (Average, 14d)AWS/DynamoDB: ConsumedWriteCapacityUnits (Average, Maximum, 14d)AWS/DynamoDB: ProvisionedWriteCapacityUnits (Average, 14d)AWS/DynamoDB: ThrottledRequests (Sum, 14d)
Evidence Certification: Audited using DynamoDB DescribeTable and CloudWatch ConsumedReadCapacityUnits / ConsumedWriteCapacityUnits metrics over 14-day rolling windows.
Production-Validated

Verification Protocol: Tested against synthetic DynamoDB table fixtures provisioned with 500 WCU / 1,000 RCU consuming < 20% capacity.

Validation Context: Validated in high-throughput microservices where legacy tables retained peak launch capacity allocations years after traffic settled.

3. Reproducible AWS CLI Verification Recipe

Inspect DynamoDB table billing mode, provisioned throughput, and table status in ap-south-1.

bash (read-only verification)
# Inspect DynamoDB table billing mode and provisioned throughput in ap-south-1
aws dynamodb describe-table \
  --region ap-south-1 \
  --table-name staging-user-sessions \
  --query "Table.{TableName:TableName,BillingMode:BillingModeSummary.BillingMode,RCU:ProvisionedThroughput.ReadCapacityUnits,WCU:ProvisionedThroughput.WriteCapacityUnits,Status:TableStatus}" \
  --output table
Representative CLI Output
-------------------------------------------------------------------------------------------------
|                                          DescribeTable                                        |
+--------------------------+---------------------+-------+------------------------+-------------+
|       BillingMode        |         RCU         | Status|       TableName        |     WCU     |
+--------------------------+---------------------+-------+------------------------+-------------+
| PROVISIONED              | 1000                | ACTIVE| staging-user-sessions  | 500         |
+--------------------------+---------------------+-------+------------------------+-------------+

💡 Table is configured with 1,000 RCU and 500 WCU provisioned capacity. In staging environments with minimal traffic, this incurs continuous hourly reservation charges 24/7.

4. Transparent Economic Model

Potential Monthly Waste
₹32,423 / month ($385.99 for over-provisioned 500 WCU + 1,000 RCU table)
Provisioned: (500 WCU × $0.000772/hr + 1,000 RCU × $0.0001544/hr) × 730 hrs = $394.49/mo. Consumed actual: ~$8.50/mo. Net savings = $385.99/mo = ₹32,423.16/mo at ₹84.0/USD.
AWS Mumbai (ap-south-1) Rate
$0.000772 per WCU-hr ($0.564/WCU-mo), $0.0001544 per RCU-hr ($0.113/RCU-mo)
US East (N. Virginia) Rate
$0.00065 per WCU-hr ($0.475/WCU-mo), $0.00013 per RCU-hr ($0.095/RCU-mo)
Gross Provisioned Spend
$394.49 / month (₹33,137/mo) total provisioned capacity bill in ap-south-1
Total baseline committed spend
Avoidable Incremental Waste
₹32,423 / month ($385.99/mo) avoidable capacity buffer burning capital
Redundant / unutilized delta
Realized Net Savings Potential
₹32,423 / month by converting table to On-Demand (PAY_PER_REQUEST) or right-sizing capacity
Net recovery after retention/cutover
Pricing Source & Validity: Official AWS DynamoDB Pricing (ap-south-1 and us-east-1) (Retrieved: October 2026)
Model Assumptions
  • Illustrative scenario based on a typical over-provisioned staging/dev table (500 WCU + 1,000 RCU).
  • 730 operational hours per standard calendar month at static ₹84.00/USD conversion.
  • Table consuming < 20% average provisioned capacity across 14-day analysis window.
  • Actual savings depend on individual table request distribution, read/write ratios, and burst headroom needs.
Explicit Exclusions
  • DynamoDB Streams and Point-in-Time Recovery (PITR) storage fees are excluded from capacity calculation.

5. False-Positive Scenarios & Operational Risks

Never delete or terminate cloud resources blindly. These validated architectural scenarios must be reviewed before initiating remediation:

Documented False-Positive Scenarios

  • Predictable Batch Peak Cycles: Tables utilized for high-volume end-of-month batch reconciliations that consume 100% capacity during a 4-hour window once a month.
  • Steep Traffic Bursts: Applications with instantaneous >2x traffic spikes in under 1 second without pre-warming may experience brief throttling when running On-Demand mode.

Blast Radius & Remediation Risks

  • AWS 24-Hour Billing Mode Quota: AWS strictly permits switching a DynamoDB table from PAY_PER_REQUEST back to PROVISIONED only once every 24 hours.
  • Mitigation: Verify CloudWatch ThrottledRequests metric is strictly 0 for the prior 14 days before triggering billing mode mutation.

6. Remediation Procedure & Rollback Runbook

Follow this ordered sequence of verified AWS CLI actions to remediate the resource with complete rollback availability:

1

Inspect 14-Day Consumed vs Provisioned Capacity

Verify that peak consumption is consistently below 20% of provisioned capacity.

aws cli command
aws cloudwatch get-metric-data --region ap-south-1 --metric-data-queries file://dynamodb_metric_query.json --start-time $(date -u -v-14d +%Y-%m-%dT%H:%M:%SZ) --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)
2

Switch Billing Mode to On-Demand

Update the table billing mode to PAY_PER_REQUEST to pay strictly for executed read and write requests.

aws cli command
aws dynamodb update-table --region ap-south-1 --table-name staging-user-sessions --billing-mode PAY_PER_REQUEST

Forensic Rollback Procedure

To revert back to Provisioned capacity, execute `aws dynamodb update-table --region ap-south-1 --table-name staging-user-sessions --billing-mode PROVISIONED --provisioned-throughput ReadCapacityUnits=1000,WriteCapacityUnits=500` after the 24-hour AWS rate limit window expires.

🔒 ArthaOps Assurance: ArthaOps checks ThrottledRequests and requires explicit human approval before toggling DynamoDB billing modes.

Irreversible Actions & Rollback Limitations

AWS strictly enforces a 24-hour rate limit on switching a table from PAY_PER_REQUEST back to PROVISIONED. Once converted, you cannot revert for 24 hours.

SAMPLE FINDING (ILLUSTRATIVE)

How This Appears in the ArthaOps Control Plane

dynamodb:staging-user-sessionsstagingap-south-1
₹32,423 / mo ($385.99)
ESTIMATED RECOVERABLE

Table provisioned with 1,000 RCU and 500 WCU operates at < 3% average utilization across 14 days.

Table Name
staging-user-sessions
Billing Mode
PROVISIONED
Provisioned RCU
1,000 RCU
Provisioned WCU
500 WCU
Peak Consumed RCU
28 RCU (2.8% of provisioned)
Peak Consumed WCU
12 WCU (2.4% of provisioned)
14-Day Throttles
0 throttled requests

Test Your Infrastructure in 180 Seconds

Explore our zero-setup interactive sample report covering real Mumbai findings, or launch a 100% read-only agentless scan across your AWS environment.

Explore Sample Audit Report (Zero Setup)Run Free Read-Only CloudFormation Scan →