You may have noticed frequent outages over the last two weeks.
There was an uptick in usage which stressed the small but mighty infrastructure that powers
notify.run.
To keep pace with usage, I've overhauled the server:
- I completely rewrote the server in Rust.
- I moved it from a single self-managed server to Google Cloud Run, which autoscales.
- It now uses Firestore rather than DynamoDB, which had been a bottleneck.
- I implemented an IP-based rate limit of 20 API calls per minute. The vast majority
of users will never hit this limit, but they'll get more reliable service because of it.
-- Paul
JavaScript is required.