A content delivery network helps to host content such as images, media files, static content and style sheets of a large website by reproducing a copy of data through the various nodes of a network. Additionally, content delivery software helps to reduce load of websites and to improve downloading time of the websites. CDN is not just software; instead, it is a mix of hardware and software which helps to solve the problem of web content downloading and management using synchronization, logging, authentication and load balancing.
As a software architect, I have personally preferred to pick a low cost CDN or to create my own CDN using open source tools along with freely available public CDNs just like for jQuery and other popular libraries.
Here is the list of open source projects which can be used to create your own CDN