Where is cron for the cloud?

Posted by Antonio 1 year, 5 months ago (Feb. 14, 2009)

This week Google lifted a number of annoying limits on my favorite project, AppEngine. With each release they are getting closer to providing something really interesting for developers truly interested in migrating their apps to the cloud.

I love the way AppEngine is giving developers the ability to start from a better point for apps that need to be designed to scale infinitely and don't think that asking folks to a) learn a new language, b) forget about the the SQL tier, and c) limit things like native code for the sake of sandboxing and scaling are big prices to pay in return— especially as it is clear that the team at Google continues to improve the offering. And though most of the attention goes to Amazon's EC2, from a "cloud perspective" most of their innovation came in changing the underlying startup economics for apps and not in fundamentally rewiring the way these apps are built.

That said, there is still something sorely missing from AppEngine's toolset: a way to run periodic tasks that are not tied to the request/response lifecycle. Anyone who has ever worked on any meaningful web application knows that 20-30% of the code runs in this mode: processing orders, generating static versions of things, vacuuming up email queues, parsing RSS feeds, or just doing general cleanup. Unfortunately, as of this writing, any of the methods used to get these periodic tasks to run on Google's compute cloud are kludgey at best.

I do hope AppEngine adds some sort of cron-like functionality soon as this seems to me to be the last major element required to write a real production application on it (for instance, between AppEngine+periodic and S3, we could rewrite all of Tabblo at a fraction of the startup cost and hopefully with a better performance profile).

But even if they don't, it strikes me as a good opportunity for Google to build another building block service like S3, EC2, SQS, etc. Except in doing it the "Google way" we might end up with something much more interesting than a scalable cron— a sort of metaverse for all of the bots now confined to the crontabs on individual virtual hosts everywhere. But more on that tomorrow...

blog comments powered by Disqus