Estou tentando escolher um sistema de gerenciamento de configuração para 500-2.000 hosts muito distribuídos geograficamente. Devido à variação da confiabilidade da rede, é possível que vários hosts estejam temporariamente indisponíveis em um determinado momento. Por esse motivo, minha escolha inicial foi o Chef, pois ele usa um modelo "pull" e, quando os hosts ficam online e fazem o check-in, eles obtêm imediatamente a configuração atual.
No entanto, se meus hosts pesquisarem apenas o servidor Chef para novas configurações a cada 30 minutos, implantações rápidas serão impossíveis. Além disso, não sou rubista. Prefiro usar um modelo baseado em push, onde posso enviar a configuração aos hosts o mais rápido possível. Portanto, as escolhas naturais parecem ser Ansible ou SaltStack (provavelmente SaltStack). Mas minha pergunta é: como o Ansible e o SaltStack lidam com hosts com falha ou inativos? Existe alguma maneira de continuar tentando um push indefinidamente até que um host volte a ficar online? Existem padrões existentes para lidar adequadamente com a consistência eventual de hosts inativos com qualquer uma dessas ferramentas? Obrigado!