Skip to Content

Caching Services Scale Clouds

Permalink

Just a few years ago, when big sites like Facebook or Netflix were building out their delivery networks to customers, they would build data centers near major internet hubs. That meant setting up shop in San Francisco, Los Angeles, Washington, and New York, as well as at international hubs like London, Madrid, and Tokyo. As long as the data center was close to major population centers, people could get service pretty rapidly.

As more and more sites begin to build in the cloud, however, your neighborhood data center becomes less relevant. But that doesn’t mean that physical distance isn’t a concern anymore. If anything, it poses a larger problem. That’s because even if you’re a cloud service, there’s still a physical infrastructure. Even if you’re using virtual machines, they’re still tethered to iron (or tin), except now they’re likely to be even more far-flung than before. All these network lookups and queries have to go back to an origin to get executed... which means requests have to travel farther, and can take longer to be executed.

Let’s say a query has to make a transcontinental hop from New York to London. Traveling at the speed of light might seem instantaneous, but it still takes about 70ms to make the jump. And with 85 percent of internet users now operating outside of the United States, that means there’s a lot more jumps, and a lot more wasted time, to get service from a global internet site in places like Kuala Lumpur or Sydney.

The need to cut down the amount of time it takes to resolve queries means a greater demand to pre-calculate as much as possible especially for real-time cloud deployments. That’s where Memcached comes in. Think of it as the cloud's cheat sheet. And because it’s completely "object agnostic", it doesn’t care what the data structure is, which means it can interface with any major database or language type.

It’s my contention that, just as cloud-based storage became popular for applications like Second Life which needs peak-capacity storage for huge amounts of real-time community content, Memcached will fill a similar need for globally deployed cloud-based platforms that require memory services (to cut overall latency). Social applications, location based services, on-line ad targeting, gaming, etc, require personalized content and queries to be stored in memory to make up for global network latency. Therefore, all these applications require in-memory services for the cloud. Amazon and Rackspace are already providing compute resources in the cloud, but they don’t have a universal API for memory services, the one thing that can speed up cloud-based apps more than anything else.

Traditional methods of using memory purely as cache are going to need to change as the move to cloud services and apps continue to accelerate. Just dropping your favorite caching system into memory means relying on yesterday’s technology for tomorrow’s solutions. Given the huge expanse of geography across which data exchange is occurring, clouds need a universal process to get things into and out of memory. And Memcached is already there.

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.