Amazon Cdn S3 Nothing More Than Outsourcing Of Webspace For Images ?

Please enlighten me. I have been reading various topics regarding CDN and the services of Amazon in particular. I am trying to put it in laymen perspective. Is it just nothing more than outsourcing the hosting of images of products and or services in your website and perhaps even the java scripts ?

CDN = Content Delivery Network



Lets say you use a CDN for your images, Then your US customers will be downloading images from the US server, your AU customers will be download from the AU server.



The benefits of this are

  1. Faster delivery of content by the closest server
  2. Taking bandwidth load off your own server
  3. Allowing more? better? parallel downloads

Also your pages will be served from those locations too (using CDN but many CDN's let you decide what to distribute).

Downside: If you have developers working on your site it can be several minutes before changes are propagated which makes development a pain in the arse on cloud/cdn based environments. Especially if your site is hosted in like Australia or Europe and your developer is in the US.



Note that cloud and CDN are not the same and can be independent of one another. Cloud is a distributed architecture that basically says “your stuff is out there somewhere right now, but don't expect it to be in the same place later but we'll get it to you as you need it” and CDN is for content delivery and localization of content. But CDN uses cloud for distribution of data.

Ok guys I get it.



Basically most of my customers are in Europe, my server is in Zurich (CH) and the developers I work with are some here in this CSCart community like Cart-Power, Ecom-Labs, EZ_Merchant Sol, Hungryweb and so on.



I just do not get this idea that our pages would be served via this CND Cloud network and not just the images ? Basically aren't I just outsourcing the location/storage of the images I use in our store and have them in CSCart not hosted locally on the same server as CSCart but have them linked from within the Amazon Cloudfront storage ?



So my images would no longer have a relative hyperlink like …/images/layer/banners/banner2.jpg

but something like https://aws.amazon.com/cloudfront/my_account/banners/banner2.jpg ???

There are a variety of options for what is served by CDN. Depends on your provider and the services you've signed up/configured for.

Relative paths still work or the whole thing would fall apart. Just given that it's cloud based, you have no idea where the image is really coming from, but it is always referenced by the same URI.

So basically what you are saying is that I do not have to go to the trouble and upload all of my images, artwork and what have you for my stores and upload them to say Amazon Cloudfront ??

[quote name='Webmaster_at_Mungotedo' timestamp='1435693971' post='221136']

So basically what you are saying is that I do not have to go to the trouble and upload all of my images, artwork and what have you for my stores and upload them to say Amazon Cloudfront ??

[/quote]



No. All of that happens automatically once you configure the CDN settings in Cloudfront and in CS-Cart. From that point on, whatever changes you make to the site get mirrored to the CDN and then served to the public from there.

With Amazon S3, you can setup a CNAME and use your own domain name to serve content. I'm not sure how that works when you're in SSL mode with CS-Cart, but you don't need to use Amazon's URL/domain to reference your static assets. You can brand it your own.



Also, as stated on the AWS website, the benefit of S3 is that “Amazon S3 redundantly stores your objects on multiple devices across multiple facilities in an Amazon S3 Region.” So you are getting redundancy, along with an optimized file system built for serving your files at a pretty low price. It is not akin to spinning up a cloud server and dropping your files there. The service offers more than just a dropbox.



The benefit of using Amazon or other object storages in this type of setting is that you can also move your CS-Cart codebase from one server to another, without affecting your catalog images, and other static assets. If you're a big website that load balances 3 or 4 NGINX instances (servers) to run CS-Cart, you no longer need to worry about replicating your catalog images to each server node individually. Amazon will retain all of those files, essentially providing a shared filesystem for the static assets. Visitors can't tell the difference.



This is also good for developers in the sense that they only need to worry about synchronizing their codebase with their GIT repo, and the database. Not having to transport a catalog and all its images definitely makes it easier on developers running CS-Cart in a development sandbox. As others have mentioned, however, with a CDN, you most certainly need to flush your cache when changes are being made, and it can take up to 10-15 minutes for changes to propagate to other edge locations.



It depends on the size, scale and goals of your website, but Amazon S3 is a no-brainer if you run a very busy site with high-volume. For smaller e-commerce operations, a sole VPS might do the job fine, without the need to add these layers of complexity. It depends on how elastic your website needs to be in order to scale with increased visitors.

It should read the origin (your site) and do its own magic based on what the configuration settings are in the environment you are using.



You say most of your customers are in EU and you are in EU so what is the real problem you are trying to solve or are you just chasing a couple of points on gtmetrix?

[quote name='tbirnseth' timestamp='1435700756' post='221141']

It should read the origin (your site) and do its own magic based on what the configuration settings are in the environment you are using.



You say most of your customers are in EU and you are in EU so what is the real problem you are trying to solve or are you just chasing a couple of points on gtmetrix?

[/quote]



Well perhaps I just would like to be the guy with the fastest loading webpage and beating my competitors in terms of pageloading. Right now GT Metrix gives us a lot to improve on such as defer javascript loading for instance and more.



I am learning day by day more about configuring a server myself. Unlike perhaps many of you, were are a one man and one woman operation and we (I Anthony) do our own unmanaged dedicated server. I am not server administrator by profession but someone with reasonably good understanding on what it takes to run a server as an administrator. I have more experience with a Windows 2008 server but since we moved from a store that runs on Adobe's CFML and thus dependent on Adobe's CFML Application engine - Coldfusion(r) and a Windows platform to CSCart which runs best on a Linux server and I sometimes hire an expert who knows a lot more about Linux than I do.