Ten million dollars to DotCloud, but still no Perl support

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.

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: A comment points out that Phenona might be attacking this challenge. Will look forward to hearing from folks who've tried it.

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."


Isn't Phenona (http://www.phenona.com/ ) supposed to be the Perl Heroku?

dotcloud probably are waiting on another platform to support before adding Perl, so that their icons still line up.

You might suggest that they go with a 3x7 grid, or add an "Intel Inside" logo to the bizarre collection of stuff-with-names at the top of their page.

Hi Philip, and fellow Perlmongers! DotCloud support here. :-)

Don't worry, we certainly did not forget about Perl. You know what - I was lucky enough to have the opportunity to discuss that with awesome Perl hacker Tatsuhiko Miyagawa just a few days ago; and our stack is almost certainly going to look like this:
- nginx will be the web frontend; you will be able to add custom options in a nginx.conf (almost all our web stacks work that way)
- uwsgi (loaded with psgi goodness) will sit in between nginx and your app
- cpanm will be there, so you can reap all CPAN without much hassle
- perlbrew MIGHT be there, in case you want to switch between different Perl versions
- Makefile.PL or build.pl will be executed automatically if there are present
- You have a legacy CGI app? Well, good news: there are PSGI::CGI and CGI::Emulate::PSGI to bridge it to PSGI

It's still pretty hard to give out a straight ETA, but Perl will be soon on DotCloud, you can rely on it. Like you, I wish those ten millions could get us a timemachine, or slow down the Earth rotation to give us a few extra workhours each day, so we could deliver your favourite programming language faster!

G (Gnubila) PaaS is wrote in Perl, also.


P.D. The G platform is enormous. And now they want to GPL it, but don't know how.

Leave a comment

About Phillip Smith

user-pic Phillip Smith is a digital publishing consultant, online advocacy specialist, and strategic convener. And I blog about Perl.