Serve up Dancer webapps for six bucks

After a few weeks of mulling over the Perl Shared Hosting idea, a few enthusiastic messages from people and getting inspired by chromatic musing about a similar idea for a Perl Cookbook, I decided to JFDI.

So, perlsharedhosting.com is now officially up and running.

Rather than wasting my time building a web app for the site before the idea has been proven, I decided to use a simple CMS and focus my energies on the content instead (there’s a wonderful irony in using a PHP CMS to deliver content about Perl shared hosting..).

I’ve added quick-start guides on how to install the following core technologies on your shared hosting account:

These pages are not in any way supposed to replace the official documentation sources. Ideally, they just tell you what the tool/lib  is, why you need it, and how to install it with minimum fuss. In reality, we also need to list any issues you may run into when using them in a shared hosting environment, but the idea is that we feed this information back to the upstream projects so that workarounds become unnecessary.

I’ve tested two different hosting providers, neither of which I’m going to mention by name here because I’m not trying to actually promote their brand.

  • The first one had a major limitation – no access to cc and hence the inability to compile XS modules (their tech support has offered to install CPAN modules on request, but it’s less than ideal).
  • The second one has so far passed all tests with flying colours – “cpanm Task::Kensho” works flawlessly, including all the XS modules. This is perhaps not all that surprising given that this is the same hosting provider that I used last year to get WebGUI running under PSGI on a shared account.

I started playing with Dancer for the first time, and soon had live demos of Dancer running in both CGI and FastCGI modes. Those URLs will change in the future but the idea is that we set up live versions of each web framework running on each hosting provider. Maybe in the future we could use a monitoring service to track the reliability and response time of each combination.

So already, the Perl Shared Hosting site has step-by-step instructions for how to run Dancer web apps on a shared hosting account for less than six bucks per month. That’s not half bad.

If you have a shared hosting account on a provider that isn’t listed (or you work for a shared hosting company and want to get yourself listed) then please contact me to get involved.

Next up, we need to add more information about resource limits. I also plan on adding more web frameworks such as Web::SimpleMojoMojoCatalystTatsumaki, ..

Once we have an idea about what features are most important, I’d like to then turn it around and start contacting the providers to ask them if they will add support for certain features to match (or beat) their competitors. I think there’s real potential for communicating back to the shared hosting providers that there’s a large market for modern Perl hosting, and ideally, what features we need/want. The site may also be useful for feeding back to the Perl toolchain/framework people what rough edges people are running into in shared environments.

7 thoughts on “Serve up Dancer webapps for six bucks”

  1. You’ve bundled the bare essentials quite nicely, providing a good, solid framework for web-based applications. Looking forward to a more advanced version using Catalyst which could provide another flavor?

  2. Very nice! Looking forward to see results on Catalyst and Mojolicious. Oh, and also more hosting providers, like DreamHost.

  3. @jay and @Justin: good suggestion, I’ll add Titanium it to the list.

    @garu: I’m guessing Catalyst and Mojolicious will work a treat on the host where Dancer already works. Would love to include DreamHost, just waiting for someone with an account there to put up their hand.

  4. I’ve added 3 new Web Frameworks to the site, all with live demos:

    * Web::Simple
    * CGI::Application
    * Mojolicious

    I tried adding Titanium but it didn’t build cleanly on my test box (due to Pod::Xhtml dependency failing its tests).

Comments are closed.