I have a site that currently is on a very expensive dedicated server. There are TB's of data stored. Essentially this is a website that grew massively pre-CDN days. Remember the days were you stored everything on your own server? Here's my problem. I now wish to start using a CDN like MaxCDN. My issue is how do you migrate this sort of situation? Putting the files on a storage network like Amazon AWS would be fine.. but then you would have to replace maybe millions of links on your website to point to the file address. Obviously that is not practicable, if not impossible. I feel like I'm missing part of the picture in this situation, any advice? Essentially what do large sites do when they wish to start using a CDN?
The whole concept of moving onto a CDN is that you don't have to make any changes and/or movie files/directories on your back-end. It remains the same. What you are doing is essentially, bringing the content "closer" to the edge, i.e. closer to the consumer, by caching. Caching today is not just static caching, but can also cache dynamic content.
When you sign-up with a CDN, all you will provide to the CDN is the IP of your back-end server and a DNS change on your domain (which will move away from the IP of your original web server(s) to that of the CDN operator).
Try it out, its exceedingly simple. CloudFlare is a great place to go (no affiliations with them), www.cloudflare.com they have a free offering that millions of websites use.
The most critical element of your setup (being a large site) is to optimize your DB and your front-end webserver for cache. Say you are using MySQL, then Memcache'd should be on your priority list. Same goes for HTTP. You might want to look at how nginx handles caching.
The goal is to offer a "less" processor intensive serve to the CDN so that in turn the CDN serves the content out.
Each CDN provider provides an an array of toolsets to make the whole experience more customizable, but these are more or less, premium subscription services.
It really depends on which is the application that you are trying to migrate.
Wordpress i.e. has several plugins that will offer an easy transition between locally hosted content and content delivered via a CDN, taking care to update necessary links in the process.
When using custom apps, there will be certainly some level of pain involved and mainly when moving TBs of data to the CDN.
We used a mixed approach with a customer recently where we first moved from local content, to content on AWS S3 that was mapped locally via an s3fs (so no change that was needed at app level). Having content already on S3, made it easy to create a Cloudfront distribution and then it was just a matter of changing the URLs of elements delivered via CDN from the application. It worked great and was relatively easy to implement.
Happy to follow up on call.