A Opscode lançou recentemente o Chef 11 com melhorias de escalabilidade para suportar a demanda de operações web de servidores "hyperscale". A Opscode reescreveu toda API núcleo do servidor em Erlang e, ao mesmo tempo, manteve a retrocompatibilidade com versões anteriores. A Opscode rebatizou a API para "Erchef" como referência à reescrita do código em Erlang. Eles também separaram o código-fonte de servidor do código-fonte de cliente, e reorganizaram o servidor em múltiplos projetos, todos escritos em Erlang.
Seth Falcon escreveu um post no blog da Opscode com informações adicionais sobre o Chef 11, incluindo:
As características que tornam o Erlang uma boa escolha para web services com alto volume são: a memória e o modelo de processos do tipo share-nothing, a escalabilidade multi-núcleo, e, por fim, a performance soft-realtime obtida pelo modelo de execução do garbage collection utilizado no Erlang, que é por processo.
Timothy Prickett Morgan também escreveu sobre como a reescrita em Erlang possibilitou as seguintes evoluções:
O Chef 11 tem um consumo de memória bem menor comparado com o Chef 10, feito em Ruby.
O Chef 11 suporta até 10.000 instâncias a partir de um único Chef 11 server, o que significa quatro vezes mais do que o Chef 10 suportaria.
A interface web para usuário no Chef 11 permanece em Ruby, porém agora utiliza o framework Rails 3.2 em vez do Merb, e interage com o "Erchef" através de sua API. Agora o empacotamento Omnibus permite distribuir a API principal e a GUI em um único pacote através dos sistemas nativos de administração de pacotes em múltiplas plataformas, incluindo: Enterprise Linux [x86_64] (versão 5.6) e Ubuntu [x86_64] (versões 10.04, 10.10, 11.04, 11.10, 12.04, 12.10). A Opscode também irá disponibilizar ferramentas para migração aos usuários do servidor Chef 10 de código aberto.
A Opscode incorporou várias melhorias às ferramentas cliente no Chef 11, incluindo modificações em funcionalidades nas seguintes áreas: atributos, segurança, espelhos de arquivo remotos, templates parciais, arquivo de lock e LWRPs. Entretanto, as evoluções e novas funcionalidades trazem algumas mudanças mais radicais. É possível implantar o componente servidor do Chef 11 e executar clientes do Chef 10 até que os cookbooks sejam atualizados para atender os requisitos do componente cliente do Chef 11.
Melhorias adicionais para a suíte de ferramentas cliente do Chef 11 incluem:
- A ferramenta de linha de comando Knife agora suporta knife-essentials;
- O Knife ssh retorna um código baseado na execução remota de comando;
- Shef foi renomeado para "chef-shell";
- Inclusão de uma nova ferramenta chamada "chef-apply" para execução de cookbooks individuais.
O Chef 11 continua disponível como produto de código aberto, mas agora também possui suporte oferecido pela Opscode.