I like to think of Stack Overflow as running with scale but not at scale. By that I meant we run very efficiently, but I still don’t think of us as “big”, n...
How we built rate limiting capable of scaling to millions of domains
Back in April we announced Rate Limiting of requests for every Cloudflare customer. Being able to rate limit at the edge of the network has many advantages: it’s easier for customers to set up and operate, their origin servers are not bothered by excessive traffic or layer 7 attacks.
Have you ever opened a simple little ASCII text file to see it inexplicably displayed as onegiantunbrokenline? Opening the file in a different, smarter text editor results in the file displayed properly in multiple paragraphs. The answer to this puzzle lies in our old friend, invisible characters that we can't
How to Design a Scalable Database That Can Be Offline First and Syncable
This article is the battle-tested schema playbook for building apps that don't fall apart in the field. Do you have to do it this way? No, you can do it however you want and create technical debt…
Dynamic content delivery with a CDN. Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer friendly environment.
What the heck are you actually using NoSQL for? - High Scalability -
It's a truism that we should choose the right tool for the job. Everyone says that. And who can disagree? The problem is this is not helpful advice without being able to answer more specific questions like: What jobs are the tools good at? Will they work on jobs like mine? Is it worth the risk to try something new when all my people know something else and we have a deadline to meet? How can I make all the tools work together?
In the NoSQL space this kind of real-world data is still a bit vague
Google Pro Tip: Use Back-of-the-envelope-calculations to Choose the Best Design - High Scalability -
How do you know which is the "best" design for a given problem? If, for example, you were given the problem of generating an image search results page of 30 thumbnails, would you load images sequentially? In parallel? Would you cache? How would you decide?
If you could harness the power of the multiverse you could try every possible option in the design space and see which worked best. But that's crazy impractical, isn't it?
Another option is to consider the order of various algorithm alternat