Object Storage performance
Even though the documentation seems to indicate that static websites and other live web projects are a good use case for Linode Object Storage, and the bandwidth and other cost structures are clear, I'm finding a hard time understanding the performance characteristics of the product. As far as I can tell,there are multiple geographic endpoints but content would need to be replicated manually to take advantage of that.
Is there a doc I need to read? Does it make sense to put a CDN on top of my Object Store, and if so, are there any good ways of doing so? Anyone out there already using this product for hosting images or other small resources in a high traffic website or app that could talk from experience? Thx!
1 Reply
Whilst I wouldn't class my sites as being anywhere near high traffic (around 100 visitors a day combined) I haven't seen an issue with the performance of object storage.
You're absolutely right about the geography. My understanding of AWS S3 is that it's the same setup - i.e. your bucket is stored in a set location - however they just have a "global" URL that routes the request to the right data-center accordingly.
I store all my assets (Javascript libraries, CSS, images) in an object storage bucket with Amazon CloudFront to cache my assets closer to my visitors. I have a custom CNAME and free SSL certificate from AWS too so visitors don't see anything of what's behind-the-scenes.
I also host the same assets on my Linode (using Rclone to sync it with the bucket) and have a failover configured in CloudFront, so if object storage were to fail - or return an error code like 404, 403, 500 - CloudFront would automatically try my Linode.
My photo gallery's images (around 20GB) are also stored and served directly from another Object Storage bucket using the S3 API. Each page view to an album makes up to 12 server-side requests to OS to get the image URLs (Linode in London, OS in Frankfurt) and it still returns each page to my browser in < 300ms.