• Nova Linguagem de Configuração para o Puppet

    Como parte do lançamento do Puppet 3.2.1, o Puppet Labs adicionou uma linguagem de programação voltada para oferecer grande flexibilidade aos programadores que desejam escrever rotinas de depuração. Com o primeiro release público do branch 3.2 da ferramenta de código aberto para o gerenciamento de configuração, agora já é possível integrar autoridades de certificação externas, permitindo que companhias utilizem seus próprios sistemas de autorização junto as instalações do Puppet. Inclusive, essa última funcionalidade havia sido implementada em colaboração com a Mozilla Foundation.


    Os administradores e desenvolvedores anteriores definiam de forma genérica as definições de configuração necessárias utilizando uma linguagem específica de domínio (DSL - Domain Specific Language), e a execução em sistemas era por conta do próprio Puppet. A linguagem nativa das ferramentas e o parser associado agora já foram completamente reimplementados, de tal forma que já utiliza uma gramática baseada em expressões, diferente do método anterior baseado em instruções. Isso deve permitir que os usuários escrevam configurações bastante complicadas de forma fácil de ler e efetuar manutenções. Em particular, a linguagem pode ser utilizada para gerenciar múltiplos sistemas como um único grupo, ao invés de efetuar tarefas administrativas para cada unidade. Essa funcionalidade também permite que grandes grupos de serviços possam ser automatizados como uma única unidade.

    A nova linguagem estava sendo desenvolvida como um resultado da decisão de depreciar o módulo Ruby DSL. Vale ressaltar que elas tinham o seu valor, oferecendo um número razoável de funcionalidades adicionais muito além das disponíveis via linguagem nativa do Puppet, porém, no mesmo barco elas também implicavam em algumas possibilidades sérias de erros de configuração que eram difíceis de corrigir pelos próprios desenvolvedores. E mesmo com a mudança atual, o desenvolvimento em cima de uma nova linguagem ainda não está completamente terminado, e o novo parser ainda precisa de algum trabalho para garantir que todos os novos e antigos comandos sejam interpretados de forma consistente. Consequentemente, o mesmo ainda não está habilitado por padrão.

    O Puppet 3.2 também é a primeira versão do framework de gerenciamento de configuração a suportar o OpenWRT, uma distribuição Linux para roteadores wireless e outros sistemas embarcados. A edição comercial, conhecida como Puppet Enterprise, já pode ser utilizada em provisionamento, configuração e gerenciamento de carga no novo vCloud Hybrid Service da VMware. Mais cedo neste ano corrente de 2013, a VMware já havia anunciado uma injeção de US$ 46 milhões em capital de risco para a Puppet Labs.

    O Puppet 3.2.1 já pode ser baixado do Puppet Labs e está sob a llicença Apache 2.0. Maiores detalhes desta edição estão disponíveis nas notas de lançamento. A empresa também vende uma edição comercial desta ferramenta que pode ser utilizada de forma gratuita para administrar até 10 nódulos.

    Saiba Mais:

    - Heise Online: A more expressive Puppet configuration language debuts (em Inglês)