Page no: C02
Page no: S05a
We have the choice between three alternatives for CDN.
However, largely due to the fact that both companies offer CDN (Content Delivery Network) services, a lot of people get confused about which one best fits their needs.
In reality, although many of their features do indeed cross over, both CloudFlare and MaxCDN are in fact distinctly different types of service.
Kicking things off with a few basic explanations of concepts we’ll later refer to in the post — such as CDNs, caching and server response times — I’ll explain what each of these two services offer, why you’ll likely want to use one or other (or both), and how they differ.
Let’s get started…
CDN: Content Delivery Network
So, what exacty is a CDN?
Why is this so important? Well, the farther away from a server each of your visitors is, the longer they’ll have to wait for the files that make up your website to reach them. By storing files in multiple locations around the world, a CDN allows each of your site’s visitors to automatically load these files from whichever server in the network is the closest. This helps to reduce the waiting time for your webpages to load on their screens. (More on this below!)
In addition to using a CDN to serve static files (i.e. files that will not change on the fly), there are also a number of other inherent performance-related benefits to CDNs, one of which is caching.
When you sign up for an account with a hosting company, you’re given either full control of a full server (dedicated hosting) or partial control over a portion of a server (shared hosting, VPS hosting, etc). Your WordPress database, core WordPress files, themes, plugins, images, etc, are all stored in space on the server that you’ve been allocated by your hosting company.
Each time someone visits a page on your WordPress website, multiple requests are sent to your server. For example, when someone visits the homepage of your website, the WordPress index.php file will be accessed. Calls to other core WordPress files will also be made on your server.
Each additional data request increases the time that it takes for a website page to load. One of the most efficient ways of doing something about this problem is to pre-cache a static version of each page of your website. When someone visits your website, they’ll download a static HTML version of each page instead of loading it dynamically each time with calls to your database.
Caching is one of the most effective ways of increasing the speed of a website. It can easily reduce page loading times from four seconds to under one. By reducing page loading times, you’ll end up with happier visitors; with happier visitors comes increased traffic and even improved search engine rankings. Because of this, making sure your website loads quickly should be a priority for every website owner.
REDUCING SERVER RESPONSE TIMES
Another big factor that affects website loading times is the server response time.
Server response time is a measure of the time it takes for a browser to request data from your server and for your server to deliver it to the browser. It can be frustrating to receive slow response times from your hosting company, particularly if you’ve already optimized your pages by properly caching them — and to be honest, sometimes the only solution is to switch hosting companies to one that offers better response times. (This is especially true if you’re currently using generic shared hosting rather than specialist WordPress hosting).
In addition to using a hosting service that’s up to the job, there are also other factors that can contribute to slow server response times. These range from your specific package or the amount of traffic your website receives, to limited CPU resources, and general lack of memory.
Finally, another big factor in server response time is the physical distance between the location of a website visitor and the location of your server. The further the visitor is from the data center, the slower the server response time will be.Therefore, if your data center is located in Texas, someone from New York will get considerably better response times than someone accessing your website from London — who in turn would get much better response times than someone visiting your website in Dubai.
HOW CDN IMPROVE WEBSITE PERFORMANCE
What’s more, because much of the load will be on the CDN rather than your original server, they can also significantly bolster your original hosting plan’s ability to handle larger than expected amounts of traffic. This means that your website will be less likely to go offline should you suddenly receive a traffic spike. On top of that, since CDNs are delivering your content to visitors, the amount of bandwidth you use with your hosting account will also be greatly reduced. (This is particularly relevant if your hosting company charges you for bandwidth, as some do).
In a nutshell: Assuming your website’s audience is global, using a CDN can be one the most effective ways of helping speed up a website.
Now, with that all out of the way let’s take a look at what these two CDN providers offer. Let’s start with CloudFlare.
What Does CloudFlare Offer?
With CloudFlare, all of your website traffic will go through CloudFlare’s global network of data centers.
In total, CloudFlare has 31 data centers across six continents — with a particularly high density of data centers in North America and Europe. They also, incidentally, have a dedicated website that provides up-to-date notifications on the performance of each data center. This is particularly useful for monitoring purposes.
That said, CloudFlare is NOT simply a service aimed solely at increasing a site’s performance. Crucially, they also offer a range of services to help safeguard your website against a range of malicious attacks, including:
- DDoS Attacks
- Persistent/Malicious Bots
- SQL Injections
- Comment Spam
In 2004, CloudFlare handled the largest DDoS attack in internet history — something that highlights the company’s experience in preventing large scale website attacks. For an excellent overview of how CloudFlare works to protect websites, check out the handy diagrams (and text) on this official page.
In order to use CloudFlare, you need to change your DNS (Domain Name Servers) to those of CloudFlare’s. This is a necessary step in their security system that results in all of your web traffic flowing through their network before it reaches your site. If attackers were able to bypass your DNS, they could then completely bypass all of CloudFlare’s security measures. For example, if potential attackers found out your server’s IP address, they could then potentially attack your server directly. Changing the domain DNS settings helps prevent this.
Once you’ve pointed your domain’s DNS to CloudFlare, you need to add your hosting configuration information such as your server IP address. These are the same settings that your hosting company would use if you used their DNS settings. Email servers and redirects can also be configured. Don’t be concerned about the steps. All you have to do is open a ticket with CloudFlare and they’ll help you configure your website settings.
The good thing about CloudFlare is that once your DNS is pointed their way, they’ll automatically start caching pages on your website; no need to configure anything on your actual website! I do, however, recommend opening a ticket with your hosting company and asking for them to restore original IP information to server logs. This is a necessary step since CloudFlare is a reverse proxy. All hosting companies have experience with CloudFlare, so it’s highly unlikely your hosting company will have difficulty performing this step for you.
CloudFlare has three settings pages: Settings Overview, Security Settings, and Performance Settings. Most website owners should be happy with the default settings, however you can adjust a range of security and performance settings. For example, you can switch features such as hotlink prevention, email address obfuscation, caching level, and image optimization on and off. Be aware, though, that adding additional security measures to your website this way may inadvertently stop legitimate visitors from viewing your website.
One of my favorite parts of CloudFlare is the analytics page; it gives you a complete report on your website traffic. You can view a report for all websites on free plans or all websites on paid plans. Alternatively, you can view reports on a website by website basis.
The report displays total pageviews, regular traffic, crawlers and bots, and threats. The country of origin of threats is displayed, and there’s a breakdown of the search engines that have crawled your website over the given time period.
Around 30 apps are available for CloudFlare. These can be selected through your account in order to add additional tools or integrate your websites with popular internet services.
A Better Browser, for example, will warn visitors who are using an old browser to update to a newer version, while ScrapeShield helps you monitor websites that are duplicating your content. There are also integration options for Google Analytics, Google Webmaster Tools, CodeGuard, and VigLink.
Many people use CloudFlare to improve their website speed. Others use the service to make their websites more secure. I currently use CloudFlare for both of these reasons, however it was a DDoS attack I experienced earlier this year that made me sign up to their service.
Now let’s take a look at MaxCDN.
What Does MaxCDN Offer?
First, let’s take a look at MaxCDN‘s data centers. MaxCDN boasts a total of 57 data centers: 22 in North America, 31 in Europe, 3 in Asia, and 1 in Australia. (This is more than CloudFlare offers.) MaxCDN, however, does not have a data center in Africa or in South America, although one is planned for Brazil.
All MaxCDN data centers use fast SSD servers with 10GB connections and the company has partnerships with major internet service providers around the world to help speed up mobile connections.
In order to use MaxCDN on a WordPress website, you’ll need to use one of the many available caching plugins, such as W3 Total Cache, WP Super Cache, or WP Rocket. Alternatively, there are also an increasing number of specialist managed WordPress hosts like WPEngine and Flywheel (to name a couple of the industry leaders) offering MaxCDN’s services built into some of their — usually more pricey — hosting plans.
The number of configuration options available to you with MaxCDN depends on the caching plugin you are using. W3 Total Cache offers over 20 unique settings for content delivery networks, while WP Rocket only offers 4. (Note: WP Rocket is one of the few caching plugins available for WordPress that also offers support for CloudFlare.)
While CloudFlare does allow you to enable and disable certain features of its CDN, it doesn’t offer you the same level of control that MaxCDN does. MaxCDN lets you store cached files at netdna-cdn.com or at a custom domain of your choosing.
Cached files are divided into three types, and each type is stored in a particular zone.
- Push Zones – This zone is for larger files that rarely change such as zip files, eBooks, PDF files etc. Files will remain as they are until you modify them or delete them.
- Vod Zones – This zone is for video and audio streaming. Files are served using the Real Time Media Flow Protocol and will remain until you modify them or delete them.
MaxCDN also offers you a huge amount of information about your cached files. The reports section allows you to see the size of files that are being distributed on your CDN, the top 50 files, the data centers that files are being called from, status codes, zone breakdown, and more. All of these reports help you see what files are being viewed, where they are being viewed from, and what is using up most of your bandwidth.
MaxCDN allows you to protect your account using a two-step authentication process. You can whitelist the IP addresses of people who are permitted to access your account.
MaxCDN doesn’t, however, make your website more secure in the way that CloudFlare can. It doesn’t protect your website from DDoS attacks or SQL injections. However, it does offer some security options for applications such as OAuth authorisation, IP Whitelisting, HTTP Referrer Whitelist, and Secure Tokens.
Costs of CloudFare and MaxCDN
How Much Do CloudFlare and MaxCDN Cost?
CloudFlare and MaxCDN have very different pricing structures. CloudFlare doesn’t ever charge you for using their CDN, while MaxCDN’s pricing plans are based on how much bandwidth your website uses.
CloudFlare offers four plan types: Free, Pro, Business, and Enterprise.
As you can imagine, CloudFlare’s free plan is hugely popular. It helps make your website more secure, gives you good analytical data about your traffic, has SSL support, and offers you unlimited bandwidth for your cached files at no cost. That said, the plan is limited in some respects. For example, it does not support some browsers and traffic stats are only updated every 24 hours.
I use the pro plan on my personal blog and for my discussion forum. It costs $20 per month for the first website and $5 per month for each additional website.
Upgrading to the pro plan adds a web application firewall, real-time statistics (updated every 15 minutes), mobile optimization features, and image optimization. With the recent news that Yahoo is discontinuing their Smush.it service, being able to optimize images with ease is a feature I’m really pleased to have at my disposal.
While the free plan checks your website for changes on a weekly basis, the pro plan improves the crawl rate to 3 days.
Retailing at $200 per website per month, the business plan offers daily crawling,advanced denial of service attack mitigation, and support for Railgun to improve your website speeds considerably. The enterprise plan costs a whopping $5,000 per month and is geared towards large companies.
The cost of MaxCDN depends on how much bandwidth your website uses every month. If you check the bandwidth you are currently using with your hosting company, you’ll get a good idea of the plan you’ll need to purchase. However, don’t be too concerned if you purchase a plan that offers more bandwidth than you need; MaxCDN rolls over bandwidth to the following month.
MaxCDN’s cheapest plan retails at $9 per month. This offers 100GB of bandwidth and two website zones. Any bandwidth used over your allocation is charged at $0.08 per GB.
$39 per month will increase bandwidth allocation to 500GB, while their most popular plan retails at $79 per month for 1TB. Higher plans have reduced overage costs and a higher allocation of website zones.
Starter plans grant access to MaxCDN’s 12 core data centers in North America and Europe. If you want access to additional data centers, such as Hong Kong, Singapore, Sydney, Israel and Tokyo, you need to pay $15 per month per zone. This fee is not applicable to those who choose high volume plans. Additional zones can be purchased for all plans at a cost of $12 per year, and custom SSL is available for $99 per month.
If you want to get 20% savings on all plans, consider paying annually. If you choose a monthly plan and find that the plan handles all of your traffic efficiently, you’ll save money by paying for it in advance.
The cost of using MaxCDN will get higher as your page impressions and bandwidth increase over time; however, it’s important to remember that using MaxCDN will also greatly reduce the bandwidth you use with your host.
For example, my hosting company charges me $0.20 per GB when I go over my bandwidth allocation. Therefore, using 2,000GB of additional bandwidth with my hosting plan would cost me $400 with my hosting company, but would only cost me $120 with MaxCDN (assuming I was using their most popular plan at an overage rate of $0.06 per GB).
Bear this in mind when reviewing the costs of a content delivery network such as MaxCDN, since many website owners find that they actually save money on bandwidth when they start using a CDN.
CloudFlare vs MaxCDN: Which is Better?
When it comes to the speed of their networks, there seem to be varying opinions on which service improves the performance of websites the best. Some thinkCloudFlare is quicker; others feel MaxCDN is quicker.
I’ve used both services and haven’t noticed one service to be quicker than the other, although it’s worth noting that I’ve never done a fully comprehensive comparison between the two in order to test the respective speeds of their CDNs.
At the start of this article I noted that many features of CloudFlare and MaxCDN overlap. That’s obviously true because a big part of CloudFlare’s service is its content delivery network. However, once you delve deeper, you can see that a direct comparison of the two services isn’t exactly a fair one.
The pricing table of CloudFlare suggests it has a major limitation with its CDN. The free plan crawls weekly and the pro plan crawls every three days. You need to upgrade to the business plan at $200 per month in order to crawl daily.
Surely this is a bad thing?
Well, in my experience it hasn’t been an issue. CloudFlare lets you purge files at any time. You can purge files individually, or purge your complete cache. CloudFlare also allows you to set up page rules to define the caching rules of certain parts of your website.
Purging files frequently can affect performance. MaxCDN notes in their FAQ page:
“Purge is designed to flush your CDN cache in order to re-cache file(s) from your origin and as such you should use it only when you have updates on your server that needs to be pushed to CDN and these changes are edits of EXISTING files, new files don’t require purging. Frequent purging is not recommended because it will take additional time for cache to re-build each time you flush it. Remember, more purges = slower speed = bad performance.”
When it comes to speeding up my own website, I’ve been very happy with CloudFlare as it’s improved both the security and speed of my website. However, CloudFlare is not a true content delivery network. Yes, it speeds up my website, but it has many limitations.
Like many website owners, I was unaware of the limitations of CloudFlare’s CDN. Unfortunately, as luck would have it, my website suffered another DDoS attack only recently.
One thing that concerned me about this recent attack was that CloudFlare did not display a cached version of my website. Why was a CloudFlare error message displayed instead of a cached version of my pages?
Well, it’s all due to how CloudFlare’s Always Online feature works. CloudFlare states that:
“Always Online is a feature that caches a static version of your pages in case your server goes offline.”
Unfortunately, the Always Online information page only displays the above statement. The “Why is Always Online not working?” information page explains the limitations of CloudFlare’s content delivery network in full:
“CloudFlare doesn’t cache every page on your site. A limited cache of your site will be displayed, generally 1-3 pages, which means that only some pages on your site will be viewable when your origin server goes down.”
This statement surprised me. One of the biggest selling points of a content delivery network is that a cached version of your website will be displayed if your website goes down. Yet CloudFlare states that only a couple of cached pages would be displayed in the event of an origin server going down.
I’m suspicious that CloudFlare displays any cached pages in the event of a server going down, as all pages on my website were down. The Always Online explanation page also notes that:
“Recently added sites won’t have a large cache of their site available, which means that Always Online may not work if you only added the site a few days ago.”
My websites were added to CloudFlare more than three months ago, therefore the lack of cached pages is unlikely to have been at the root of this problem. I asked CloudFlare to clarify this issue. A day later, they advised me that:
“The Always Online feature has a number of limitations and is only designed to work with timeout errors from your server. The error code from your server being returned was an empty reply, which, unfortunately, is not one of the circumstances in which the feature would work.”
There it is it in black and white. CloudFlare’s cache system is only supposed to help out with timeout errors. If your server is down, no cached pages will be displayed.
Therefore, if we are talking about content delivery networks, comparing CloudFlare and MaxCDN, and asking “Which is Better?”, my answer would be MaxCDN. MaxCDN will cache every single page on your website and will display a cached version of your website in the event of downtime., which is why I think it’s fair to say it’s a true CDN.
Where MaxCDN excels is the level of control it gives you over their content delivery network. Their Pull zones, push zones, and vod zones make it easy to determine how content is stored. Plus, the ability to define the crawl rate of your pull zones means that you can control when cache files are purged and renewed. MaxCDN also highlights which files are being downloaded and from where — something that CloudFlare doesn’t offer.
If, however, downtime is not something that concerns you, and you simply want to speed up your website, you should give CloudFlare a try. The fact that they allow an unlimited amount of bandwidth on any of their plans means that CloudFlare could save some website owners hundreds or even thousands of dollars every year by using their free CDN — as long as you’re aware of its limitations.
MaxCDN has a great reputation for providing 24-hour support. This is something that attracts many people to their service. For example, the main author of this very website, Brin Wilson, frequently notes how great support from MaxCDN is.
My initial experience with CloudFlare was positive, but during my recent DDoS attack I opened a support ticket asking for help. After 14 hours, I took to Twitter to tweeted my unhappiness to CloudFlare and eventually got an unhelpful reply that advised me to upgrade to their $200 per website per month business plan. When I noted how poor their customer service had been for a customer who pays a monthly fee to use their pro plan, I was advised:
“We have lots of other customers, with lots of questions just like yours. We respond to them in the order they are received with priority on business and enterprise plans.
Business plans typically get their answers within an hour. If you need that kind of support, I would suggest upgrading to a business or enterprise plan.”
I pointed out to them that my ticket was not “just a question” and that my server was being attacked.
To summarize, MaxCDN is known for providing great support to their customers and responding to tickets within the hour. In contrast, unless you sign up to CloudFlare’s business plan at $200 per website per month, you probably won’t receive a response to your tickets from CloudFlare for a couple of days. As someone who pays a monthly fee to CloudFlare, I am obviously very disappointed by this approach to customer service since it’s something very important to me, and probably to most of you out there too.
Finally, we need to talk about security.
If you’re looking to make your website more secure and protect it from DDoS attacks and other malicious hacking methods, CloudFlare is clearly the best option since MaxCDN does not offer that functionality.
You’ll only receive a limited amount of DDoS protection with the free and pro CloudFlare plans. I cannot, however, criticize them for this. DDoS protection is expensive and using CloudFlare’s free or pro plans will undoubtedly give your websites more protection than simply relying on the security your hosting company provides.
If you want the best of both worlds, you may want to consider using MaxCDN for your content delivery network and CloudFlare to secure your website. This was something that was suggested by MaxCDN support when, as part of the research for this article, I asked them about the differences between the two services.
Some hosting companies have an option to add CloudFlare or MaxCDN directly through your hosting control panel — so if you would like to use one of these services, I would highly recommend speaking to your host to see if they have integration options for one or the other (or perhaps both) already set up.
To summarize my thoughts on CloudFlare and MaxCDN:
- If you want to speed up your website free of charge, use CloudFlare
- If you want a true CDN capable of caching your whole website, use MaxCDN
- If you want to add some basic DDoS protection to your websites, use CloudFlare
- If timely customer support is of crucial important to you, use MaxCDN
- And lastly, for the best of both worlds — consider using both services together!
And there you have it!
Using CloudFlare and/or MaxCDN? Thoughts?