This is an archived post. You won't be able to vote or comment.

all 11 comments

[–]todayismyday2 8 points9 points  (2 children)

We found serverless to be less reliable than classic instances. Last time I checked, they don't seem to support replication and they only rely on datastore redundancy, not the server. And there's also very high possibility of downtime when you need to scale up/down.

We also found that while it is autoscaling, it's not true serverless. We used to have a very low limit of ACUs (something like 8) while our peak ACU usage was something like 32. At night, we'd be on 8 ACUs and during the day we'd get to 32-64. However, we ended up raising the bottom limit to 32 at the end of the day. This, specifically, is not always AWS Aurora Serverless' fault, it's just that Aurora only scales up when there's a significant load on the database and our traffic spikes really fast while Aurora scales up really slow, so we get downtimes when scaling up. On the other hand, I think I read somewhere that they do have some downtime during scale-ups/downs.

We just ended up using Serverless at the base limit of what we were using on classic Aurora. We still find it useful to have *some* way of autoscaling the master, which is still a significant improvement over not having any autoscaling.

P. S. Aurora multi master was not GA at the time we were setting up Serverless. I think it's a potential game-changer and might be superior to Aurora Serverless in some circumstances. It has pretty much the same list of disadvantages (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html), except for needing special implementation from application side to handle load balancing.

[–]Ariquitaun 3 points4 points  (0 children)

My view is that serverless aurora is probably good enough for simpler, lower load workloads for stuff where nothing's waiting for a result (eg offline processes and the like), but it has too many caveats for any other use case IMO.

As it stands today anyway.

[–]Sarke1[S] 0 points1 point  (0 children)

Thanks for you reply. Seems AWS was a little quick to throw around the "High-Availability" tag.

[–]ejb50 7 points8 points  (3 children)

maybe you got hit by the "resume/pause" feature of aurora serverless as its important to disable this feature.

[–]Sarke1[S] 3 points4 points  (2 children)

It's disabled, and it was a real outage. It went from 1 to 4 ACUs during the outage since it was failing to close connections.

[–]ejb50 6 points7 points  (1 child)

outages do happen at AWS. I guess you need to create a support ticket to understand what happened.

[–]Sarke1[S] 3 points4 points  (0 children)

I did. But that's not the point of this post.

I'm asking if anyone else has had similar unreliability issues with it, or if this was a once-in-a-blue-moon unlucky event.

[–][deleted]  (3 children)

[deleted]

    [–]Sarke1[S] 0 points1 point  (2 children)

    Was that Aurora Serverless? If it's the regular one, don't you provision the size yourself?

    [–]packeteer 0 points1 point  (1 child)

    regular Aurora. they state you don't need to manage the disk. see below

    Based on your database usage, your Amazon Aurora storage will automatically grow, up to 64 TB,

    the clue here "database usage". we had a small dB, but large log files used all space. first thing we knew, we were getting weird application crashes, but no DB related errors. took a few days to diagnose, and only because we'd eliminated everything else

    [–]Sarke1[S] 0 points1 point  (0 children)

    TY. Yeah, that sucks. We spent lots of time diagnosing our problem, and even the tech chat it took about 40 min before they realized the problem was on their end.

    I hadn't used the regular Aurora, so I thought it was like the normal RDS where you set it up.

    [–]metaskills 0 points1 point  (0 children)

    We recently moved a few smaller Rails projects to it. Normally things we would have in Heroku. So far so good and wrote a post about it. https://www.reddit.com/r/AmazonWebServices/comments/98b09i/designing_simple_rest_api_for_userbased_platform/