Eles são realmente produtos diferentes que resolvem diferentes classes de problemas específicos, mas quando usados juntos podem resolver como um sistema o problema geral de gerenciar um aplicativo distribuído.
Produtos como RightScale são bons em ativar novas máquinas quando necessário.
Produtos como Puppet / Chef / bcfg são bons em transformar máquinas recém-ativadas em membros produtivos de um ambiente de computação distribuído.
Adicione os dois juntos e você terá um sistema que pode ser ativado corretamente e pronto para rodar em tempo real. Você precisa de um sistema de gerenciamento de configuração, uma vez que algumas coisas não são passíveis de gravar em uma imagem, ou mudar muito rapidamente para "queimar a imagem de ouro" valer a pena o trabalho. Você precisa da estrutura de gerenciamento de nuvem, já que ela foi desenvolvida para estar ciente do estado do aplicativo de uma forma que exigiria muita automação de construção customizada para um mecanismo de gerenciamento de configuração.