[Brasil-PM] Perl nas Nuvens

breno breno em rio.pm.org
Quarta Abril 27 23:39:19 PDT 2011


A idéia de "Platform as a Service"[1], ou PaaS, não é nova, e vem
facilitando muito o trabalho de desenvolvedores Web há algum tempo A
promessa é simples e bastante tentadora: possibilitar a implantação da
sua aplicação web em um conjundo pré-determinado de componentes
diretamente na "Nuvem", sem a necessidade de instalações/configurações
extensas ou ajustes para o ambiente de produção. Uma espécie de
Plug&Play para aplicações web.


"Camel as a Service"
*************************

E onde podemos fazer o deploy de nossas aplicações Perl? Hoje, os dois
principais provedores são:



DotCloud - https://www.dotcloud.com
===============================

A equipe da DotCloud acabou de lançar[2] seu suporte a Perl moderno,
capaz de rodar qualquer aplicação web baseada em PSGI, e isso inclui
as desenvolvidas em frameworks modernos como Mojolicious, Dancer, e...
Catalyst! Há ainda módulos para adicionar compatibilidade PSGI a
aplicações FastCGI ou legadas CGI com pouquíssimo esforço.

De quão "pouquíssimo esforço" estamos falando? Veja você mesmo o
trabalhão que dá fazer deploy de uma aplicação Dancer:

Passo 1: criar um namespace

    $ dotcloud create minhaapp

Passo 2: Aplicar os componentes Perl

    $ dotcloud deploy -t perl minhaapp.dancer

Fim. Complicado, né?

A partir daí é só colocar sua aplicação no lugar certo, adicionar as
dependências no seu Makefile.PL (mas você já faz isso, não é?) e fazer
o "push" para a Nuvem:

    $ dotcloud push minhaapp.dancer .

Pronto, sua aplicação já está acessível em
http://dancer.minhaapp.dotcloud.com! Veja a documentação do serviço
para mais informações[3], incluindo configurações do servidor web
(eles usam nginx, mas mostram como converter regras do apache
facilmente).



Phenona - http://www.phenona.com
=============================

Phenona é um serviço que trabalha exclusivamente com Perl, e promete
deploy com apenas um clique (ou um comando), além de suporte completo
ao CPAN, PostgreSQL, e a possibilidade de usar servidores como
Starman, Twiggy, Hypnotoad, Starlet, Plack, ou até mesmo CGI puro
legado. O suporte a Catalyst, Dancer e Mojolicious também está
garantido!

O serviço está em beta privado, distribuindo os primeiros invites. Mas
já há planejamento[4] para oferecer num futuro próximo coisas como
workers em pano de fundo, memcached, redis, MongoDB, e até mesmo uma
interface para telefones celulares!



O suporte a Perl Moderno em serviços PaaS facilita consideravelmente
sua adoção por empresas de todos os portes, reduzindo custos e
agilizando o deploy de aplicações ao oferecer um ambiente em que
desenvolvedores precisam se preocupar apenas com a aplicação em si, e
não com a instalação, configuração e manutenção do ambiente. Trata-se
sem dúvida um passo importantíssimo para a consolidação do Perl
Moderno como forte competidor no desenvolvimento de aplicações web
modernas!


Referências:

[1] http://en.wikipedia.org/wiki/Platform_as_a_service
[2] http://blog.dotcloud.com/dotcloud-introduces-camel-as-a-service-with-i
[3] http://docs.dotcloud.com/components/perl/
[4] http://www.phenona.com/blog/3-31-status-update/


Mais detalhes sobre a lista de discussão Brasil-PM