The Porcupine Attack: investigating millions of junk requests

Published on by Marek Majkowski.

We extensively monitor our network and use multiple systems that give us visibility including external monitoring and internal alerts when things go wrong. One of the most useful systems is Grafana that allows us to quickly create arbitrary dashboards. And a heavy user of Grafana we are: at last count we had 645 different Grafana dashboards configured in our system! grafana=> select count(1) from dashboard; count…

How and why the leap second affected Cloudflare DNS

Published on by John Graham-Cumming.

At midnight UTC on New Year’s Day, deep inside Cloudflare’s custom RRDNS software, a number went negative when it should always have been, at worst, zero. A little later this negative value caused RRDNS to panic. This panic was caught using the recover feature of the Go language. The net effect was that some DNS resolutions to some Cloudflare managed web properties failed. The problem only…

Panama expands Cloudflare network to 50 countries

Published on by Felipe Tribaldos.

A man, a plan, a canal, a data center. Over 5 million Internet properties are now faster across Panama, as Cloudflare turned up its newest data center in Panama City. This is our 102nd data center globally, and brings us to a special milestone as our network now spans 50 countries. While perhaps not quite as big an announcement as the $5B Panama Canal expansion, the websites of…

2017 and the Internet: our predictions

Published on by John Graham-Cumming.

An abbreviated version of this post originally appeared on TechCrunch Looking back over 2016, we saw the good and bad that comes with widespread use and abuse of the Internet. In both Gabon and Gambia, Internet connectivity was disrupted during elections. The contested election in Gambia started with an Internet blackout that lasted a short time. In Gabon, the Internet shutdown lasted for days. Even as we write…

Using Guzzle and PHPUnit for REST API Testing

Published on by Junade Ali.

APIs are increasingly becoming the backbone of the modern internet - whether you're ordering food from an app on your phone or browsing a blog using a modern JavaScript framework, chances are those requests are flowing through an API. Given the need for APIs to evolve through refactoring and extension, having great automated tests allows you to develop fast without needing to slow down to run manual tests…