How you may ask? With the help of CloudFlare. You can take a look at their 90 sec video to get a quick take on all their services, but I'll give a little run down and how's it's been working out for us.
In order to use CloudFlare, you must point your DNS to use their name servers. This may sound like a daunting challenge in the unruly world of DNS hosting, but they make the process as painless as possible along with an automated import (most providers will allow you to export your zone records). Once your DNS propagates, you'll be able to adjust the website profile settings, upgrade to a pro account (more on that in a moment), and start viewing some interesting stats. Let's take a look at the stats first.
First up are the threat statistics. CloudFlare protects your site from known bots and threats that maybe hitting your website before they even get to your webserver. You also have the ability to whitelist requests you think actually should be allowed. On top of this, cloudflare provides a challenge page (which can be customized/branded) to every "bad request" to determain if the request is indeed human or not. If they are, they will be allowed in next time. If they are a bot, they are denied and added to the shared "known threat" pool.
For Pro (paid) accounts, CloudFlare provide site caching that will allow you to save bandwidth and increase performance (since it's being served up from CloudFlare instead of your servers). As with most cloud service providers, they have an API which gives access to stats, threats, whitelists, etc. We've been using CloudFlare over the past few months now and are extremely pleased in that they deliver on what they promise. For more info, you can visit their website: www.cloudflare.com or follow them on twitter: @cloudflare