Robin Corps

SENIOR DEVELOPER WIREHIVE

Thoughts

An introduction to CloudFlare

For those of you who already know what CloudFlare is you might want to skip ahead but for those of you who don’t, exciting times are here!

Wirehive are a certified hosting partner for CloudFlare.

What is CloudFlare?

CloudFlare is essentially a content delivery network (CDN) and distributed domain name server (DNS) provided as a transparent service layer. CloudFlare sits between your website and your visitors and acts like a reverse proxy; proving improved security, website performance and speed.

When your website is setup to use CloudFlare its web traffic is routed through their global network instead of being served directly to the visitor.  This allows CloudFlare to optimise your webpages for the fastest load times and best client performance.  It also has the advantage of acting as a security layer, protecting your website from threats such as distributed denial of service (DDoS) attacks and limiting the impact of abusive bots and crawlers, saving you wasted bandwidth and server resources.

Who can use CloudFlare?

CloudFlare can be used with any web platform, be that ASP.NET, PHP, Ruby or Node.js - it doesn’t get in the way of your development and deployment. It is very simple to set up and doesn’t require any server side configuration or installation; you simply change your domain DNS to use the CloudFlare name servers, let it import your existing DNS settings and then configure which subdomains you wish to have protected and enhanced.  If you ever want to stop using it, you simply revert back to your old name servers.

How much does it cost?

CloudFlare offer the core service for free and don’t charge for bandwidth usage. They offer some more premium services such as real time visitor statistics and more advanced DDoS mitigation, but the core service comes with a lot of bells and whistles.

How do I get started?

Simply login to the Wirehive Client Portal and you will find the option to join CloudFlare and setup your domains under the Servers menu on the left.  You will be able to manage your CloudFlare and domain settings through our portal, or if you choose to you can visit the CloudFlare website directly and use their control panel.

One for the developers…

In the process of integrating the CloudFlare service into the Wirehive Client Portal I coded a Symfony 1.4 plugin to act as a wrapper for an existing PHP CloudFlare API library.  This plugin is freely available under a GNU v2 licence over on GitHub (you grab it here: https://github.com/Wirehive/sfCloudFlarePlugin. I also added a fork of the existing PHP API library which adds some missing calls and provides a bit more consistency with the documented APIs.  Once you’re setup with CloudFlare you can do quite a bit of automation using their client API, it talks in JSON and is pretty friendly to use.
I am currently working on a version of the plugin which will work with the new v2 release of the CloudFlare API which is coming soon.  You might want to checkout some of the other open source code projects we’ve provided on GitHub, especially if you’re a Symfony developer. You can find us here: https://github.com/Wirehive/