CPU credit balance seems to be recharging nicely right now:
llo-cpu-credit-balance-3.png
So it looks like a t2.small with 3 copies of the forum will be enough.
Here's what we're running, and approximately what it costs (rounded to the near $10):
- t2.small for the forum ($20/month). We know that the next smaller size (t2.micro) runs of out CPU Credits every time a web crawler hits it, and so far it looks like we can avoid using a t2.medium if we're careful. Here's tool for comparing AWS server types.
- db.t2.micro for the forum ($20/month). This is a completely managed database, with automated backups and recovery. It's usually under 5% load, and I've never seen it above 20%. So we have some headroom here. (See the chart below.) Basically this is a luxury that we pay for because manually hosting our own database guarantees that within any 5 year period, we're likely lose the database server, and only then realize that our backups have been broken for the last 6 months. But with an RDS db.t2.micro, Amazon handles everything. If our database server crashes, they'll allocate a new one, copy over all of our data, and apply the most recent backup, all without me lifting a finger.
- An application load balancer ($20/month). This is essentially a "switchboard". It allows us to run multiple domain names (forum.language-learners.org, super-challenge.language-learners.org), and map each domain name to 1 or more processes running on 1 or more servers. It also handles HTTPS/TLS security certificates (the green lock in the browser that keeps bystanders from snooping on your traffic and stealing your password), and it renews them automatically as long as we keep paying our AWS bill. We tried running without this for a long time—we were basically running a custom load balancer directly on our t2.small—but that had certificate renewal problems that took down the forum and required me to panic (more than once!). The good news about the new load balancer is that it allowed me to quickly scale up from 1 copy of the forum to 4 copies when we were getting heavy load.
By the way, here's what the database load looked like over the last two weeks:
llo-rds-db-cpu.png
The graph on the left is more important. It looks like we've had two big midweek spikes, but only last week's was big enough to tip over the forum. It also looks like things have slowed back down.
For the moment, I think we're OK. Technically, we could certainly scale up quite a bit: We could use bigger servers, more servers, a bigger database, etc., with no problem, though obviously it would cost more. And we could upgrade everything in an hour or so if it comes to that. If I wanted to spend another weekend tweaking, we could even add servers automatically when the load got too high, and remove them when things slowed down again. So we're in good shape.
Organizationally, the moderators are working on setting up an entity that can take donations, and rdearman is getting a FIDO2 security key which will allow us to share more of the backend work.