Antipattern: Overprovisioned resources
Resources like RAM, storage and CPU utilization are often overprovisioned even when lower values are acceptable.
Context
In a similar way to overprovisioned instances, it is difficult to estimate required limits for resources such as root storage upfront, leading developers to overprovision them, in turn raising costs.
Solution
Evaluate the resource requirements and lower the relevant values.
Example
Shrink the root storage size of an instance to reduce storage costs:
@@ -2,6 +2,6 @@ resource "aws_instance" "example" {
# ...
root_block_device {
- volume_size = 20 # GB
+ volume_size = 15 # GB
}
}
References
Occurrences
Terraform
- https://github.com/thomastodon/jabujabu/commit/02210a3d3ba4a770c29623825b7f54f3ff33f3c7
- https://github.com/guilhermerenew/infra-cost/commit/ba858d94e29d03e3e81533df8cd8bc85b9f176f1
- https://github.com/chaspy/terraform-alibaba-isucon8/commit/53588dad5dd4c13903a6c582f74e1afe2671d33e
- https://github.com/dwp/dataworks-aws-data-egress/commit/14f065e5161fee14c286c34df7db9f5516ef9bb6
- https://github.com/akaron/kubeadm_aws/commit/2e2092ec94b27a4c3f0b9f4ee4d46a1983a72518
- https://github.com/robertdebock/terraform-azurerm-container-group/commit/c0d6578f1ebbdcc9cab091017259e4d596bfe8c9
- https://github.com/fdns/terraform-k8s/commit/f106917bb7b2d8d4428022bb119585bf9f35769c
- https://github.com/jackofallops/terraform-aws-mysql-cluster/commit/7b2a446b0915a3ad26093f8234f7493ff152138a
- https://github.com/alphagov/govwifi-terraform/commit/38d0a67cf70d46c26675ce60a7a647eef0f11e52
- https://github.com/pangeo-data/terraform-deploy/commit/f8163bd52bea3774e2f160cff0523c602e65d933
- https://github.com/eduardobaitello/terraform-eks/commit/c11fca6440a5000648f690e6282778fb4ec73309
- https://github.com/jshcmpbll/Cloud-Mac-KVM/commit/361885d22c0304cb44683f9b005f82ca5e269841
- https://github.com/kaz/kiritan.com/commit/1cd96c7f71e56629ffa07c38e12c4da19fcfc5f7
- https://github.com/dylanmtaylor/dylanmtaylor-terraform-aws/commit/44016d6a8e496b69308a81e88af8c9ef8b710ab3
- https://github.com/roysjosh/terraform-unifi/commit/da9e2869456610a0228cb14f850c6eccddbb15e0
- https://github.com/phillhocking/aws-ubuntu-irssi/commit/1532e0c298ec4f8d7d749a884f7c46f2a2cf53d3
- https://github.com/ministryofjustice/cloud-platform-terraform-monitoring/commit/87401ba23af26d379d8132cc09fd7cd212773ba1
AWS CloudFormation
- https://github.com/chef-boneyard/aws_native_chef_server/commit/f63839453506420064afb7350971c65be47d39a6
- https://github.com/sjakthol/cfn-execute-change-set/commit/7aa1557a573a4d44acec840698e34f41efc29df0
- https://github.com/aodn/aws-wps/commit/f262a8b46e328c30a2c08f9c47aba722fb0e1dae
- https://github.com/rotiroti/alessandrina/commit/594d4705adedd07b298d87f8d812e38b11337311
- https://github.com/philipmw/homeontheroute-api/commit/4b108af1165d196af7634133400dc31b14b60abb
- https://github.com/MrMarvin/open-wow-drealmd/commit/0b23fe7bf08d4682835ca171d228380ec81a2fb5
- https://github.com/ASFHyP3/asf-stac/commit/3a19e68cda5b174a655a699b8ac74eaa7c826159
- https://github.com/S8Vega/academic-friends-api/commit/c4747679155f119a07284f5eee455eee5dd7c1a6
- https://github.com/conijnio/aws-security-posture/commit/ba00cfc56fd720277cf54d7987ea58c9c8d3402e
- https://github.com/aws-samples/amazon-transcribe-live-call-analytics/commit/3e90f725d46e4f0ef9d5fac52135e000e319fb55
- https://github.com/bencehornak/copilot-cli/commit/11e2a04ac294a9688f3145c21a8574dee94a0770
- https://github.com/PRX/Infrastructure/commit/7f535b407cc8039f9990ffa6eccf08146cfe8b79
- https://github.com/release-engineering/exodus-lambda/commit/b34df4436dc0a016dde9398b9b1a0b2099feeaaa
- https://github.com/GerritCodeReview/aws-gerrit/commit/6d870855767ffbf684822adeb5136d0788f8a7df
- https://github.com/sjakthol/cfn-execute-change-set/commit/85238260de6d17167ff8a084032ba74372d70321
- https://github.com/ktkiiski/broilerkit/commit/179258e1c38152d411c6da823b74e142d937f6cd
- https://github.com/YubicoLabs/WebAuthnKit/commit/809472cea5cc831c6662be2d6075f6b5bacde276
- https://github.com/aws-samples/route-53-application-recovery-controller/commit/918b45ca80ddd21f0de8dbdb87a39707ea5630c5
- https://github.com/ashley-evans/how-many-buzzwords/commit/265eb03ab39eca06feb21b5f1cb69eb8dcbf9f4c
- https://github.com/cyberark/conjur-ecs-deploy/commit/c115dbc288157656a2fc8c729f3432a6c8ac6783
- https://github.com/AtlasOfLivingAustralia/ala-tokens-portal/commit/7df62872fb0c6ed504ce6d87ea2ea76ee7e794d4
- https://github.com/Sage-Bionetworks/service-catalog-library/commit/44b30a7988a104e8a834ad1d1abc27ef8001fabc
- https://github.com/Saneri/event-signup/commit/869bf7060c744e32326a902c88d9521ccdd5b218
- https://github.com/craigmayhew/aws-transcribe-on-s3-upload/commit/1955b06a16586fcb21a4b1b5dc27bea00384a842
- https://github.com/wolfeidau/aws-billing-store/commit/9cac0ad2ee5ae1dc2d6dc7660ddb597109b15f95
- https://github.com/littermap/littermap-aws-backend/commit/aeade55a66feeee2b7306829d6c22e7000c6faa0