Last night I recorded myself updating our databases from MySQL 5.6 to 8, Aurora Serverless v1 to v2, and Redis 6 to 7. It was a major upgrade, but I managed to have only 5mins or so downtime, which was pretty cool. I narrated the process as I went. If you’re into devops, it’ll probably give you multiple heart attacks.
You can see that we pretty much oscillate all over the place. The average is 4.1, but we peak at 10 and go as low to 2 (the database is changing capacity literally every 5 minutes to change with demand). An average of 4.1 is half what we were at in Serverless 1 (which I ended up fixing at 8 as the hassle of capacity changes was too painful).
So in terms of impact:
Our costs have reduced down to half.
We now have higher capacity (10) available than we had before (8) for when we need it. I’m considering upping the top limit to 16 or even higher, just in case we need it.
In terms of performance, I’ve not benchmarked anything here yet, other than adding indexes now takes like 1s, compared to 10m before! Which is much nicer.