Um fator maior que o número de nós é o número de convergências - que se traduzem em ocorrências de API - que seus clientes estão fazendo ao configurar nós.
Como você descobriu, o servidor da API Ruby consome muita memória, então uma micro instância vai se tornar muito mais rápida. O backend do CouchDB pode ser intensivo em gravação (dependendo de suas convergências), portanto, o desempenho de I / O é uma consideração. O mecanismo de pesquisa normalmente é bom, e você pode aumentar o número de vnodes do expansor para manipular a carga de trabalho de indexação.
Em geral, descobrimos que o c1.medium é o melhor tamanho de instância para uma grande variedade de cargas de trabalho, não apenas para o Chef Server, mas para uso geral de aplicativos. No entanto, custa duas vezes mais do que um m1.small.
O Chef Server foi projetado para escala horizontal. Ele pode começar em um sistema, mas à medida que o tamanho da sua infraestrutura aumenta, você pode dividir os componentes em sistemas separados. Dependendo da economia, você pode combinar e combinar tamanhos de instância para sua carga de trabalho, executando os componentes em instâncias separadas próprias. Para mais informações sobre as opções de configuração no wiki do Chef .
Além disso, Opscode Hosted Chef pode ser uma solução econômica, já que você não precisa se preocupar com nada disso.