Today is CloudFlare's birthday. We opened to the public exactly three years ago today, September 27, 2010. In those three years we've grown to power more than 1.5 million websites and sit in front of more than 4% of all web requests. Three years ago, however, those first signups were terrifying.
Early on we realized that if we were going to bring CloudFlare's services to as broad an audience as possible we needed to focus on making the signup process ridiculously easy. Traditional CDNs typically require months of integration work and, often, thousands of dollars in professional consulting services to get up and running. We spent most of our engineering time designing a signup process that took less than 5 minutes to complete on average.
While we were convinced that would be a long term advantage, as our launch grew near we started to worry: what would happen if hundreds, or even thousands, of websites signed up? We only had a limited number of servers running in a handful of data centers around the world (Chicago, San Jose, Ashburn, Amsterdam, and Tokyo).
Circuit Breakers
We debated internally how to deal with this problem. We decided, about a month before launch, that what we would do is create an invite system for people to sign up with their email and then we'd let them in as we had capacity. Unfortunately, the Monday morning of our launch we realized no one on the team had gotten around to building the invite system.
As Michelle and I practiced our presentation back stage at the TechCrunch Disrupt conference, where we were scheduled to launch on stage, Lee sat in the audience and hastily coded together a system of "circuit breakers" that would limit new signups. Every hundred signups or so the circuit breakers would trip and cause the signup form to shut down. This would allow us time to check all the systems before opening up again for new customers.
The signups started within the first minute of our Disrupt presentation. About half way through we'd already signed up more than 100 customers and the first circuit breaker tripped and our engineering team was alerted to check on the health of the servers. Unexpectedly, signups continued. In the haste to get the circuit breakers in place, the piece of code to shut down the signup form never went live.
As the judges on stage quizzed Michelle and me on stage about our business plan and technical systems, our engineering team sat in the audience frantically auditing our systems and trying to decide whether to shut down signups manually. By the time the judges finished questioning us, we'd signed up about 500 sites and there was no sign that the pace was slowing down. The TechCrunch launch article went live and there was another surge.
Full Steam Ahead
Sri, who was our first and, at the time, only member of our ops team, was checking all the servers to find any hot spots. Our traffic across the network had spiked from virtually nothing just a few minutes before to hundreds of requests per second. But the system appeared to be holding up. Lee made the call to allow people to keep signing up and didn't fix the circuit breakers.
By the end of the day, we'd signed up just shy of 2,000 new sites -- almost 10 times what we'd originally anticipated. The core system we'd spent the previous 9 months building held up. None of us slept much that first night as we were all logged in to our dashboards and watched the health of the systems. New signups slowed down a bit but traffic only compounded. Lee called me sometime Tuesday afternoon and said, "Ok, I've looked everything over and I'm confident what we've built will continue to scale for at least the next 2 to 3 years. After that, we'll have to redesign some things, but until then I don't think we'll ever have to turn away a new customer, so I terminated the circuit breakers."
Hitting Our Stride
Today we signup as many as 5,000 new customers a day. And, as Lee correctly predicted, the core system has held up very well. About a year ago we conducted a full survey of CloudFlare's core systems. Based on that we embarked on an effort to rearchitect all the systems where we were beginning to see bottlenecks. That effort is largely finished and is beginning to bear fruit with a new flexibility and extensibility for more features, faster performance, and a dramatic expansion of our network.
While we've had an amazing third year, I predict you'll be blown away by what we have in store over the next twelve months. But, today, at the CloudFlare office our team will be taking a short break to celebrate our birthday.