Cross-posted from blogs.perl.org
Let's face it: The promise of "PaaS" (Platform as a Service) -- easily deploying your application to a whole stack living up there in the cloud -- is pretty cool shit. Back in January (ages ago in Internet time), I kicked the tires of DotCloud and, after a whole three minutes, announced to the world "this is just too easy." No wonder they just raised a cool ten million.
Yet, still, there is not one PaaS solution for Perl today.
- Amazon Elastic Beanstock? Nope. Just Java.
- Google App Engine? Nope. Just Java or Python.
- Red Hat's Makara? Nope, no Perl.
- DotCloud? Everything but Perl.
So, what gives?
Well, when I asked the DotCloud folks back in January, they indicated that Perl support is on their road map, but that they didn't have a sense of what the most common use cases for deployment are in the Perl community, for example CGI, FastCGI, etc.
When I pointed the helpful gent who responded to my inquiry toward Plack (Perl's answer to Ruby's Rack, or Python's WSGI), he seemed to think that it could facilitate "a swift integration into our web stacks." Phew! One issue down.
The next question was about "worker scripts." Specifically, how the DotCloud system could take a "dependency file" (like a Gemfile for Ruby, or pip-style requirements.txt for Python) and "some code" (an installation script) that could be run to automatically install module dependencies and start-up a daemon or service. I must admit some confusion about this question -- I kept asking myself, is this not what a Makefile and things like Module::ScanDeps are for? Isn't this exactly what projects like cpanm are meant to do, i.e., ease the installation of Perl modules? This must be a solvable (if not solved) problem.
My guess is that I'm not not understanding the requirement clearly, and I'm hoping that the wisdom of the Perl community can weigh in with some suggestions and recommendations for me, our friends at dotCloud, and, well, anyone else that might be thinking about Perl in the cloud.
Needless to say, as PaaS start-ups get bought up faster than umbrellas on a rainy day in downtown Manhattan, my attention keeps turning back toward projects like Oyster, the North West England Perl Mongers initiative to create a Heroku specifically for Perl Web apps. Not only is a project like Oyster attractive for the practical benefits to (the rather large number of) Perl developers, but also as something that has potentially to not get instantly bought-up by Salesforce, Redhat, or Rackspace.
In fact, given how hot PaaS is, I can't help but wonder why some enterprising Perler hasn't gotten an offering off the ground yet? Or, perhaps more in the Perl spirit, why some group or individual hasn't offered to run it pseudo-voluntarily for the Perl community, like CPAN, PAUSE, or the Perl.org site itself. (Better idea: run it as a paid service and contribute the surplus to the The Perl Foundation, or Enlightened Perl Organization.)
Here's to hoping that $10,000,000.00 can push Perl into DotCloud's PaaS cloud offering, or that some whip-smart folks here in the Perl community can finally 'git push' Perl into the clouds. (And, while we're pushing, let's push for a Perl port of the excellent, open-source, libcloud project.)
UPDATE 2: Jérôme from DotCloud says "It's still pretty hard to give out a straight ETA, but Perl will be soon on DotCloud, you can rely on it."
Cross-posted from blogs.perl.org. Feel free to comment here, or on the original.