DEV Community

Vlad Z
Vlad Z

Posted on

The CloudWatch fix was the easy part. $9,300 was still missing

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)