I'm running an alternative to Airbnb for the tech and crypto community (www.cryptocribs.com). Yesterday, after being live for just two months, my servers already crashed. It turned out that with only about 500 listings, I already ran out of the 20GB storage I used for the setup. I currently run the site on a basic Digital Ocean droplet (1GB/1CPU, 20GB SSD/ 2TB Transfer). Turns out that every listing is already about 50MB and this adds up quickly. To solve the data storage problem, I now resized my droplet a bit and also bought a 100GB attached volume. I am planning to do a NGIX alias redirect for the image files to store any new files in the extra volume. But I feel like there must be a better way to do this
I would move to aws, store assets in object storage (s3) instead of block storage (volumes), ensure your application is 12 factor and move it into an asg, move db to rds. Then start the process for moving from ec2 to k8s. That should give you a start.
I'm also going to really recommend putting images on Amazon S3 (or Google's equivalent). If you get a good library to handle this, you can also get nicely resized thumbnails as well.<p>When using volumes, you are are going to constantly have to deal with mapping and rebuilding these as you grow. S3 is just set and forget.
I'm not sure what you're doing that's making each and every listing 50MB, that seems like a lot, are they posting lots of high-resolution images or something?