The Internet is a cooperative system: CNAME to Dyn DNS outage of 6 July 2015

Published on by Ryan Lackey.

Today, shortly after 21:00 UTC, on our internal operations chat there was a scary message from one of our senior support staff: "getting DNS resolution errors on support.cloudflare.com", at the same time as automated monitoring indicated a problem. Shortly thereafter, we saw alarms and feedback from a variety of customers (but not everyone) reporting "1001 errors", which indicated a DNS resolution error on the CloudFlare…

Blue Light Special: Ensuring fast global configuration changes

Published on by Ben Cartwright-Cox.

CloudFlare operates a huge global network of servers that proxy our customers' web sites, operate as caches, inspect requests to ensure they are not malicious, deflect DDoS attacks and handle one of the largest authoritative DNS systems in the world. And where there's software there's configuration information. CloudFlare is highly customisable. Each customer has a unique configuration consisting of DNS records, all manner of settings (such as minification,…

Welcome UK2 Group!

Published on by Maria Karaivanova.

Today we are thrilled to welcome UK2 Group as a CloudFlare partner. Customers of UK2 Group (including its brands UK2.net, Midphase, and Westhost) are now able to access CloudFlare’s web performance and security solutions with a single click. Backed by CloudFlare, UK2 Group’s customers can now protect their websites against security threats, ensure only clean traffic gets served, and speed up site performance no matter…

Setting Go variables from the outside

Published on by Filippo Valsorda.

CloudFlare's DNS server, RRDNS, is written in Go and the DNS team used to generate a file called version.go in our Makefile. version.go looked something like this: // THIS FILE IS AUTOGENERATED BY THE MAKEFILE. DO NOT EDIT. // +build make package version var ( Version = "2015.6.2-6-gfd7e2d1-dev" BuildTime = "2015-06-16-0431 UTC" ) and was used to embed version information in RRDNS. It was built inside the Makefile using sed…

How to achieve low latency with 10Gbps Ethernet

Published on by Marek Majkowski.

Good morning! In a recent blog post we explained how to tweak a simple UDP application to maximize throughput. This time we are going to optimize our UDP application for latency. Fighting with latency is a great excuse to discuss modern features of multiqueue NICs. Some of the techniques covered here are also discussed in the scaling.txt kernel document. CC BY-SA 2.0 image by Xiaojun Deng…