Coordinare le attività tra più server
-
03-07-2019 - |
Domanda
Esiste un'utilità / libreria che facilita il coordinamento delle attività tra più server? Per me, devo eseguire attività pianificate, copiare molti dati tra server e riavviare i processi (una serie di operazioni dipendenti che si verificano su macchine diverse in un cluster).
Posso andare con cronjobs e script batch, anche se non posso fare a meno di pensare che ci sia un modo più robusto ed elegante per farlo.
Soluzione
Capistrano è uno strumento per automatizzare le attività tra server, fa esattamente quello che chiedi. È scritto in Ruby e utilizza SSH per comunicare con le altre macchine.
Altri suggerimenti
Come accennato, Capistrano può essere utilizzato per automatizzare le attività. È stato originariamente scritto per distribuire le applicazioni Rails in modo coerente, ma è diventato uno strumento sysadmin molto robusto. Tuttavia, in genere è la soluzione migliore per i comandi ad hoc e le distribuzioni di applicazioni. Se hai bisogno di più sistemi gestiti con uno strumento di configurazione coerente, ti suggerisco Puppet .
Usiamo Puppet per gestire la configurazione generale del sistema per server web / db / app basati su Rails, Django e PHP e utilizziamo Capistrano per distribuzioni di applicazioni e singoli comandi (come eseguire Puppet dopo una modifica alla configurazione).