When auditing our site, we notice that a lot of our files and images cause major delays in load time.
I've heard & read that hosting images on Amazon Web Services s3 could help decrease the load time, and improve site speed. My theory is, loading images through amazon, and site code through shopify would help increase load time. Two servers loading is better than one.
But, our Shopify account manager mentioned the following: "
For the most part Shopify should actually be quicker than Amazon as a result of our CDN. Quality of images will not be any different. Load times is a complex thing, but it will likely make no noticeable difference whether we host them ourselves or amazon. Other parts of the infrastructure (like the use of a CDN) will have more of an impact. We use Fastly for our CDN at shopify and generally, it should be quicker. As a result No matter where they are stored, we keep cached copies closer to the customer (CDNs have many locations) which means faster load times (e.g., from Ottawa you usually get our images served from Chicago, while if you are in Europe, it’s more likely coming from a place like Amsterdam).
If you do decide to host your images on Amazon, test it out on a small scale, with a few pages or something relatively low key. Run some speed tests and make sure the images are being served as expected, before switching everything over. "
I haven't been able to find any articles are posts about the benefits of Amazon Web Services in relation to Shoify.
Any Shopify Plus users using AWS s3 for images see improvments on site speed and general site improvments? It would be great to discuss this with people who have experience using AWS and what their experience has been.
Shopify uses Fastly as the CDN and they have many endpoints scattered around the world. Since it integrates as part of the core it makes the most sense to keep it - both from a reliability standpoint and ease of use. Remember that the images and all the different sizes generated will be pushed to the CDN.
If you really wanted to move the images to another CDN you're taking on the responsibility of moving / adding the images to the other service. It would also be up to you to also pull (or generate) all the various sizes that your theme would be calling upon. The theme code would need to be heavily modded so that images are no longer pointing to the Shopify CDN, but to AWS. This is a decent amount of effort, and something I've done before. You'd really want to get some data on hand before going down that path.
A small test page would at least help you get some data to compare with. I've seen a couple of Plus stores use imgix (a service not without issue), but not come across any using AWS.
I also wouldn't expect a high volume of Plus merchants on the forums, but they do pop by time to time. The facebook group could also be useful if looking for some direct Plus merchant comments. Talk to your MSM if you're not part of that group.
Fastly and S3 are top notch CDNs. Switching over will not make a difference. In fact accessing something from S3 will require an additional DNS resolve.
As Jason mentioned if you go to S3 you will have a hard time creating the image sizes, something that comes "out of the box" with Shopify.
If your want to optimize the image load performance you should look into implementing responsive images, please see: https://jakearchibald.com/2015/anatomy-of-responsive-images/ and "lazy" loading.
Paul Lewis have some nice tips for using the new IntersectObserver API for lazy loading images: https://www.youtube.com/watch?v=ncYQkOrKTaI&feature=youtu.be
Reponsive imaes and lazy loading can do a big difference in the overall load performance.
Hope it helps
AWS S3 is not a CDN, it is a storage service. The AWS CDN solution is called CloudFront and you can connect it to S3.
I did a test between the two by reloading a 17.72 KB image 9 times: Shopify had an average of 91.22 ms and CloudFront had an average of 90.44 ms.
Keep in mind, I started recording Shopify on the second load and CloudFront was cold on first load, the first load for each of them was about 450 ms.
Our Shopify store recently had an issue where a bad product import via CSV caused our image URLs to be corrupted on a few dozen products. One bad move and this could have been 2000 products and not a few dozen. This was discovered relatively quickly within a few hrs., but when we restored the original product image URLs via product import we discovered that Shopify had already blasted them off their CDN.
For this reason, we are seriously considering hosting images on an external storage platform or CDN. Moreover, we are hosting product images across two Shopify stores, and the only difference is product image watermarking. For this reason we are thinking that having more control over our product image repository via external hosting may reveal other benefits.
We would love any suggestions on a good CDN outside of Shopify for image hosting - Amazon S3 or other file storage platform (Google Drive, Dropbox, etc.)? Perhaps ImageKit.io?
We are not a Shopify Plus store, but very close in terms of revenue to make it worthwhile.
Just to clarify - S3 alone is not a CDN.
Amazon S3 is like Dropbox/Google Drive, it allows you to host your assets like images, documents, videos/etc for your customers to use online.
It is not a CDN (Content Delivery Network).
Amazon Cloudfront is a CDN. It spreads your hosted files with S3 across the world to their network. This way, your customers in Texas get your files from a server in Texas rather than the original being uploading in New York (just an example).
Each major IaaS (Infrastructure as a Service) platform such as Azure, Google Cloud, AWS & Rackspace all offer hosting & CDN.
However, I will say it does take some technical chops to do this yourself. It's definitely not impossible, there are plenty of guides out there, and it can be "set it and forget it". But you will be paying these services for their hosting fees, it's not expensive. But the buck then stops at you if you misconfigure it, or need to update it.
I would say focus on the core of your business, if Shopify's CDN is not up to your standards and your assets are key for your customers, then maybe consider this, but in general I would try to keep my hands out of the weeds on this one.