Hey folks! I could really use some guidance here. I'm not super experienced in DevOps, so I hope I won't sound too lost. I'm working on hosting a Laravel app that needs a PostgreSQL database, plus Redis and Grafana for monitoring. My budget is pretty tight, around $25 a month, and it seems like CCX23 with dedicated CPU might be my best shot for good performance. I'm thinking of allocating 10-12 GB of RAM for the app and the rest for Grafana and Redis. However, I just found out that Hetzner doesn't provide managed databases with their Cloud VPS. Do you guys have any suggestions for effective hosting solutions for my app and database? I'm trying to avoid any performance issues in the first year, especially since I anticipate around 500 users with a read-heavy load (70% reads) at about 200 requests per second. I will implement caching and various optimizations like OPcache and Gzip, but for now, I really want to get this hosting sorted out!
4 Answers
How many users are you expecting to cater to? If it's just a handful, maybe consider going serverless for this project. It could simplify things a lot!
Do you really need high availability? If not, hosting everything on one VM could do the trick. If you're up for it, containerizing everything is easy, plus you can make regular backups to stay on the safe side. Writing a `docker compose` file for your app stack would help streamline things!
Thanks for the advice! I’ve got everything set up in Docker locally, but I haven’t tackled deployments yet since my old coworker handled that. What if I decide I do need high availability?
If you’re open to alternatives, why not try SQLite? Given your expected load, it could work really well. With Litestream, you can achieve db replication to something like S3, which makes disaster recovery a breeze. Plus, it’s super budget-friendly and easy to manage!
Honestly, CCX23 should easily handle your app considering it's read-heavy. Just focus on caching and query optimization, and you should be fine with those specs!
That’s a relief to hear! Totally taking that advice.
For the first year, I already have a waitlist of about 200 users, so it’s definitely not a side project—it's for a client.