Content deliver networks (CDN) are service providers that offer global load-balanced distribution services for web content and streaming media. Especially useful working with CDN providers is for companies that use rich media extensively on their popular websites. Companies in the CDN industry make it fairly easy to adopt their services, but there are few things that need to be considered. The biggest challenges include working around constraints of legacy content management systems (CMS) and figuring how to add the necessary functionality into them.
Traditionally server load balancing has been achieved by duplicating and dedicating servers. Activities have taken place on multiple OSI layers. Use of caching proxys, DNS settings and features in application themselves has made content distribution quite scalable. CDN operators close the gap by bridging the geographic and ensure thus global reach. Of course since Internet infrastructure is not evenly distributed fully equal service is never possible to achieve.
The advantage of dynamic content management systems is mainly that they make it easier to update and manage content. All CMS systems have a fairly standard interfaces for text input, metadata input and file upload. More advanced systems make it easy to create custom widgets for special containers, content players or other application specific content. If such a widget was to utilize a CMS for payload delivery the main differences are in link rendering and file storage mechanism.
Links to files delivered using a CDN must point to a dynamic script that returns the closest location to fetch the content from. The logic relies on geographic and network location deducted from user’s IP. Essentially adding such functionality just requires a different prefix to be added to the content urls. When you create a business relationship with a CDN provider you will supplied with such an URL.
File storage is a bit more complicated issue. Normally CMS system’s upload files to a local folder on the server. This same folder needs to be setup as the source for the CDN provider. There are two options, push and pull. Either there the script needs to uploads new or updated files to the CDN provider or an ftp server and account needs to be setup for CDN provider’s remote access. To make uploads or downloads work read and write rights need to given to the web server and for the dynamic scripting process. When the CDN provider gets requests for certain pieces of content they will check that the latest version of the content is ditributed on all their globally distributed servers.
Advanced applications of CDN enabled content managements systems include premium content and enterprise applications. Both require authentication functionality to ensure confidentiality of communications and access control to the content. Commercial pay per view content companies will neew to integrate charging mechanisms to access control. Enterprise solutions on the other hand need to be sensitive to company organizational structure. For both purposes federated authentication tools for Single Sign-on (SSO) will need to be taken into consideration when building content delivery solutions.