No matter how much people talk about constantly available cloud services, there's always that time when you want to upload something to YouTube and the site's unavailable due to "planned site maintenance." And just don't mention Twitter's Fail Whale.
YouTube and Twitter are among two of the biggest users of Memcached, the open source, high-performance, distributed memory object caching system.
Memcached lets these and a catalogue of other Web 2.0 sites - including Flickr, Digg and Craigstlist - rapidly serve up billions and billions of bytes of randomly accessed dynamic pages and data like photos, presence, and meaningless observations from airport lounges across the world.
And while Memcached has proved a godsend to these Web 2.0 flag carriers, it's got an Achilles heel that only becomes apparent during those vital - but annoying - periods of site maintenance. It's an issue that can cause outages and slow downs ranging from hours to days in length as service providers re-generate terabytes of users' data lost as they try to update their site's architecture.
The problem is the inability of Memcached to maintain cache data while you change the capacity of the cache - to shrink or increase capacity inline with your site's growth.
Many of Memcached's top users have tried to solve this by building their own custom workarounds - a move that's seen forks of the Memcached server or people build their own clients. And while that's great for the big boys, it's extremely complicated and leaves those who don't have PHD-level programmers rattling around the IT room without a fix.
Until now, as Memcached distributor Gear6 reckons it has come up with an answer: the Memcached service it offers over Amazon's EC2 cloud now provides dynamic provisioning. The update to its Memcached service, originally launched in December, means its service can be scaled and an application kept online without loss of data that results in either downtime or a dial-up speed service. The feature has been added to Gear6's Cloud Cache for the Amazon Web Services Elastic Compute Cloud.
Gear6's Cloud Cache works on the server and doesn't need hand-coding by the user. When you add a node do your EC cloud cache pool, Gear6's Cloud Cache will redistribute the key value pairs inside the hash and migrate the data for you - so the data is moved back and forth without getting lost.
Joaquin Ruiz, Gear6's executive vice president of products, told The Reg: "As you generate a request, it gets a value in your Memcached pool - it doesn't come back with a miss. It will come back with an answer even if the object is being migrated, so the service is still running - and its still bloody fast."
He added: "We've moved into the dynamic services layer that lets you treat Memcached as and elastic resource. You can add in more Memcached instances to your pool to offload, say, a database or a Ruby cluster and as you add it to our dynamic services layer it will retain all the data so none of your cache data is lost."
The feature is available for existing customers on Amazon from Tuesday and will be generally available from February 28. The service is available for 32-bit applications from Gear6 for free. You'll just pay the Amazon charge. A 64-bit version is priced between $0.84 and $3.50 per hour per image. ®