MaxCDN API and CDN platform

→ Are you a new visitor? Please visit the page guidance for new visitors ←

A few months ago I started looking for a reliable CDN provider that would allow me to reduce some of my websites load time. While I tested multiple CDN providers, I was left with MaxCDN or Cloudflare, the later would have been the free version. Both of them are really good, I thought I could use either of them for my websites, however I got the idea of trying to create a website that resells CDN traffic. The only one at the time that would allow this possible would be MaxCDN API (NetDNA) using their functionality.

I then tried checking their API documentation and I discovered this was really easy to implement. My first attempt was to create a pull zone for one of my websites, the creation was bit tricky as you needed to keep track of the values that are already added to the CDN account. Well other than this everything else was easy.

Next was I needed to collect statistics about the traffic used so that the I could limit the usage in case a client would be going over his quota.

This was also done easily using a cronjob that would update the stats locally on the server each few hours.

After this, a nice script was created that would change the DNA of the pull zone to a “suspended pull zone” so that it would allow the user to know about the suspension and also saves me the trouble of manually doing this check myself.

You can check here the API documentation for those who want to try: https://developer.netdna.com/

Some key terms that everyone should keep in mind when using MaxCDN:

  • Pull Zones – These are normally used for normal resources by all websites owner

This Zone is for your every-day support files. A Pull Zone will automatically pull the data from a location that you specify upon the first request for the file. The files are served to the end user from either a subdomain of netdna-cdn.com or a custom domain (sub domain) of your choice that points to the CDN. The data is automatically purged from the server after a customizable amount of time.

Examples: Image Files, CSS Files, JavaScript Files

  • Push Zones – This is more of a storage array for mass downloads

This Zone is built for larger files that rarely change. The data is uploaded to an account on our Storage Array which is then automagically pushed to all of our Edge Servers. The data is served to the end user from a domain (or sub domain) of your choice that points to the CDN. The files remain until modified or the zone is deleted.

Examples: Installers, E-Books, PDF’s

  • VOD Zones  – This is used for audio streaming

This Zone is built for video and audio streaming. The data is uploaded to an account on our Storage Array which is then automagically pushed to all of our Edge Servers. The data is served from our specially modified WOWZA server using the RTMP (Real Time Media Protocol). The files remain until modified or the zone is deleted.

Examples: Flash, Windows Media, RealPlayer, Quicktime Files

  • Live Zones – For those looking for a streaming broadcast, this is the one you should use!

This Zone is built specifically for live video or audio. The live content is received from a stream that is specified. The stream is then rebroadcast to the end users from a domain (or sub domain) of your choice that points to the CDN. The stream remains active until the zone is deleted.

Examples: Live webinar, Radio Station

Sad to say though, CDN is hardly used in my country so it didn’t had much success. But I did had fun implementing this in whmcs billing software.

I have not had any issues so far with MaxCDN and it would seems it strives to keep it this way, which is good. While I was testing a cache plugin, WT3 Total Cache, I noticed MaxCDN now has been added by default to their options, not sure what deal was made, but I do like the current options from it.

I will end this article by mentioning that at this time, this website is being speed up by MaxCDN + WT3 Total Cache, you can see for yourselves the resource download speed!

Request an article ←