I’m considering using render to serve a Rails app. Associated with this app will be a large number of image and sound files.
What would be the recommended way to do this using Render. The Rails App bit is easy enough I think ( presumably like Heroku ). If I was using Heroku I would use AWS’s S3 storage services and upload and serve me sound files from there.
What is the best/cheapest/securest way to this within Render’s services.
Personally at the moment, until we have object storage as part of the product (https://feedback.render.com/features/p/cloud-object-storage) I think using AWS S3 is the right thing.
Whilst we do have disk (https://render.com/docs/disks) which you can attach to a service and write to as a normal filesystem this comes with limitations (only 1 service per disk being key here and disk prevents zero downtime deploys) using a cloud object storage like s3 would be the better architecture. If you have to do any kind of processing on these objects you can use a background job to perform that out of the main web process and Rails has good support via ActiveStorage for direct upload to these services so the files don’t need to come any where near your running web service,
I did see the disks option but it didn’t look like an obvious content serving solution. I have used S3 but I find it obtuse ( I do hobby projects all myself so I don’t need the headache ). I might give DigitalOcean’s Spaces option a go. See if it is simpler. It looks like it might be.
I totally understand that - AWS definitely doesn’t make thing easy and that’s why we exist
Even de S3 are blocked here? so the free plan we can’t even use the s3 bucket?