Cloud Cost Recommendations

Join the Preview!

Cloud Cost Recommendations is in Preview with support for AWS, and is automatically enabled if you have set up Cloud Cost Management

Overview

Cloud Cost Recommendations provide recommendations on reducing your cloud spending by optimizing the usage of your cloud resources. Datadog generates a set of recommendations by combining your observability data with your underlying cloud provider’s billing data to identify orphaned, legacy, or over-provisioned cloud resources.

Recommendations are run on a daily basis and are automatically refreshed in your account as soon as the recommendations are released.

  • For all resources, cloud cost metrics are also pulled for that resource
  • For all AWS resources besides Kubernetes and EC2, AWS metrics are also pulled from AWS CloudWatch
Overview tab with potential monthly savings, potential annual savings, and total number of open cases on the Cloud Cost Recommendations page

You can see the detailed logic for each recommendation type, along with observability metrics or cost data shown on this page.

Recommendation categories

Below are the available cloud cost recommendation categories and their descriptions.

Recommendation CategoryDescription
Unused resourceIdentified resources that are running on legacy hardware or are not utilized efficiently in your cloud environment. You can consider upgrading or removing these resources to reduce your costs and improve the performance of your resources.
Previous generation resourceResources that are running on legacy hardware, which you can consider upgrading to reduce your costs and improve the performance of your resources.
Over-provisioned resourceResources that are under-utilized or over-provisioned, which you can consider adjusting the size and configuration of to reduce your costs and improve the performance of your resources.
Rate optimizationResources that are charged at on-demand rates or could benefit from rate optimization. You can consider modifying these resources to reduce your costs.
ArchitectureResources related to NAT gateways, which you can consider optimizing to reduce unnecessary charges.

Prerequisites

The following are requirements necessary to receive Cloud Cost recommendations:

Setup

For each cloud account that you would like to receive recommendations for:

  1. Configure Cloud Cost Management to send billing data to Datadog.
  2. Enable resource collection in the Resource Collection tab on the AWS integration tile.
  3. Install the ‘Datadog Agent’ (required for over-provisioned resource recommendations).

Recommendation and resource descriptions

Recommendation CategoryCloud ProviderResource TypeRecommendation TypeRecommendation DescriptionRecommendation Prerequisites
Unused resourceAWSEC2Unused EC2 InstancesEC2 instances with less than 5% CPU utilization, and less than 10% memory utilization.Datadog Agent
Unused resourceAWSEC2Unused EC2 instance running RedisEC2 instance running Redis with 0 keyspace hits and is not containerized, a leader, a follower, nor a shard.Redis Integration
Unused resourceAWSEC2Unused EC2 instance running memcachedEC2 instance running memcached with 0 keyspace hits and is not containerized.Memcache Integration
Unused resourceAWSEC2Unused EC2 instance running PostgresEC2 instance running Postgres with less than 1 concurrent connection and is not containerized nor a replica.Postgres Integration
Unused resourceAWSEC2Unused EC2 instance running MySQLEC2 instance running MySQL with less than 1 concurrent connection and is not containerized nor a replica.MySQL Integration
Unused resourceAWSEBSUnattached EBS VolumesVolumes that have been detached from an EC2 instance.
Unused resourceAWSEBSUnused EBS VolumesVolumes attached to a non-running EC2 instance.
Unused resourceAWSRDSUnused RDS InstancesRDS instances with 0 database connections and 0 replica lag.
Unused resourceAWSS3Abandoned S3 Multipart UploadsIncomplete multipart uploads.Storage Lens
Unused resourceAWSRedshiftUnused Redshift ClusterRedshift cluster with 0 database connections.
Unused resourceAWSElasticache RedisUnused Elasticache Redis ClusterElasticache Redis Cluster with 0 cache hits and 0 replication bytes.
Unused resourceAWSMQUnused MQ BrokerAn MQ broker with 0 connections.
Unused resourceAWSECROld ECR ImagesECR Image bytes are older than 180 days.
Unused resourceAWSOpenSearchOpenSearch ClusterAn OpenSearch cluster with 0 connections.
Unused resourceAWSClassic Elastic Load BalancerUnused Classic Elastic Load BalancersClassic Elastic Load Balancer with no active connections that is not attached to an EC2 instance.
Unused resourceAWSNetwork Elastic Load BalancerUnused Network Elastic Load BalancerA network load balancer with 0 processed bytes.
Unused resourceAWSApplication Load BalancerUnused Application Load BalancerAn application load balancer with no traffic being processed.
Unused resourceAWSNAT GatewayUnused NAT GatewayA NAT Gateway that has no bytes sent through it.
Unused resourceAWSElastic IP AddressIdle Elastic IP AddressElastic IP addresses with idle charges in your AWS cost and usage report.
Unused resourceAWSDynamoDBUnused DynamoDBA DynamoDB table has 0 consumed reads and 0 consumed non-replica writes.
Unused resourceAWSDynamoDBUnused DynamoDB Global Secondary IndexA DynamoDB table’s Global Secondary Index (GSI) has 0 consumed reads.
Unused resourceAWSAutoscaling groups (ASG)ASGs with legacy instance typesAn autoscaling group that includes legacy instance types.Datadog Agent
Unused resourceAWSDynamoDBDynamoDB Delete Extra On-Demand BackupsA DynamoDB table has charges for more than 2 on-demand backups.
Previous generation resourceAWSEC2Legacy EC2 InstanceEC2 Instances that are previous generation, and can be upgraded to a newer instance type.Datadog Agent
Previous generation resourceAWSGP2 EBSGP2 EBS VolumesEBS volumes that are GP2 and can be upgraded to GP3 for cost reduction and performance improvement.
Previous generation resourceAWSI01 EBSI01 EBS VolumesEBS volumes that are I01 and can be upgraded to GP3 for cost reduction and performance improvement.
Previous generation resourceAWSRDSExtended Support RDS InstanceAn RDS running an engine version that is no longer supported and incurring extended support charges
Over-provisioned resourceAWSEC2Over-provisioned EC2 instancesMigrate legacy autoscaling group instances to new types.Datadog Agent
Over-provisioned resourceAWSEC2Over-provisioned EC2 instances running RedisEC2 instance running Redis with less than 25% user CPU and is not containerized, a leader, a follower, nor a shard.Redis Integration
Over-provisioned resourceAWSEC2Over-provisioned EC2 instance running memcachedEC2 instance running memcached with less than 25% user CPU and is not containerized.Memcache Integration
Over-provisioned resourceAWSEC2Over-provisioned EC2 instance running PostgresEC2 instance running Postgres with less than 25% user CPU and greater than 25% usable memory and is not containerized nor a replica.Postgres Integration
Over-provisioned resourceAWSEC2Over-provisioned EC2 running MySQLEC2 instance running MySQL with less than 25% user CPU and greater than 25% usable memory and is not containerized nor a replica.MySQL Integration
Over-provisioned resourceAWSKubernetes containersOver-provisioned Kubernetes ContainersContainers with less than 30% CPU and memory utilization.Datadog profiling agent
Over-provisioned resourceAWSEBSOver-provisioned EBS Volume IOPSEBS Volumes where the amount of IOPS exceeds what is being used.*Amazon EC2 integration
Over-provisioned resourceAWSRDS IOPSOver-provisioned RDS IOPSAn RDS instance using less than 80% of the provisioned IOPS for reads and writes.
Over-provisioned resourceAWSEBS IOPSOver-provisioned EBS IOPSAn EBS volume using less than 80% of the provisioned IOPS for reads and writes.*Amazon EC2 integration
Over-provisioned resourceAWSEBS StorageOver-provisioned EBS StorageAn EBS volume with less than 20% of its storage capacity used.*Amazon EC2 integration
Over-provisioned resourceAWSEBS ThroughputOver-provisioned EBS ThroughputAn EBS volume using less than 80% of the provisioned throughput for reads and writes.*Amazon EC2 integration
Over-provisioned resourceAWSDynamoDBOver-provisioned DynamoDB CapacityA provisioned DynamoDB table using less than 80% of its read and write capacity more than 80% of the time.
Rate optimizationAWSRDS Reserved InstancesPurchase RDS RIAn RDS instance older than 45 days is still charged with on-demand rates.
Rate optimizationAWSElastiCache Reserved InstancesPurchase ElastiCache RIAn ElastiCache node older than 45 days is still charged with on-demand rates.
Rate optimizationAWSOpenSearch Reserved InstancesPurchase OpenSearch RIAn OpenSearch instance older than 45 days is still charged with on-demand rates.
Rate optimizationAWSRedshift Reserved InstancesPurchase Redshift RIA Redshift cluster older than 45 days is still charged with on-demand rates.
Rate optimizationAWSS3S3 TieringA bucket’s costs are almost entirely in per-GB standard storage, but GET requests indicate few objects are accessed.
Rate optimizationAWSS3S3 Non-current Version Expiration Lifecycle RuleA standard S3 bucket without a non-current version expiration lifecycle and that does not serve a website contains non-current version storage bytes older than 30 days.Storage Lens
Rate optimizationAWSDynamoDBMigrate DynamoDB to On-Demand Capacity ModeA provisioned DynamoDB table has an hourly read and write capacity consumption below 18% at least once in the last two weeks.
Rate optimizationAWSDynamoDBMigrate DynamoDB to Provisioned Capacity ModAn on-demand DynamoDB table has an hourly read and write capacity consumption that is always greater than 18%.
Rate optimizationAWSDynamoDBMigrate DynamoDB to Standard Table ClassMigrating to the Standard table class offers potential savings from capacity rates compared to the additional costs from storage rates, or it uses the Standard table class’ free tier for storage.
Rate optimizationAWSDynamoDBMigrate DynamoDB to Infrequent Access Table ClassMigrating to the Infrequent Access (IA) table class offers more potential savings from storage rates compared to the additional costs from capacity rates.
ArchitectureAWSNAT GatewayNAT Gateway within VPC transfer chargesResources in the same VPC should avoid communicating with each other through a NAT gateway because that incurs unnecessary NAT gateway processing charges.NPM
ArchitectureAWSNAT GatewayNAT Gateway cross-zone transfer chargesResources that need a NAT gateway should use one that is in the same availability zone, or they can incur unnecessary cross-zone transfer charges.

Further reading