After the CloudWatch fix we kept going
$11,400 a month. $340 on CloudWatch now. $9,300 still unaccounted for
RDS was next. $2,800 a month across four database instances
I looked at the instance types first. All four were db.r5.2xlarge. 8 vCPUs, 64GB memory each
Then I looked at the utilization metrics. Average CPU across all four: 12 percent. Peak CPU in the last 30 days: 34 percent. Memory utilization: consistently under 25 percent
Four databases running at a fraction of their capacity, 24 hours a day, 7 days a week
I asked the founder why they were that size. The answer: an engineer had sized them for expected growth at Series A. Series A was planned for 18 months ago. The growth hadn't come yet. The databases had been running at that size for over a year
We moved two of the four to db.r5.large - one quarter the size, which was still 4x more than current peak utilization required. We scheduled a maintenance window, ran the resize, monitored for 72 hours
No issues
RDS bill the following month: $1,100
We were 6 days into the engagement
CloudWatch plus RDS: $3,360 saved per month from two changes
The rest of the work took another three weeks. EC2 rightsizing, S3 lifecycle policies, removing a handful of completely unused services
Total reduction: $6,800 a month
From $11,400 to $4,600. The product had the same 800 users. The infrastructure had the same capability. The bill was 60 percent lower
The money was always there to be found
It just needed someone to look

Top comments (0)