Cerebro is a job monitoring and deployment system. Cerebro fills the gap of having some code and deploying and managing it in a cloud environment. The simplest usecase is taking a code package and deploying it on multiple machines in ec2 with monitoring and supervising on each process.
Cerebro is a process supervisor, deployment and management solution.
Here are some key features of "cerebrod":
· Monitor an individual process on a cloud hosted VM
· Reboot the process if necessary
· Define constraints that the process cannot pass, or it'll be rebooted
· Provide log access via an HTTP interface
· Monitor and manage multiple of these processes per machine
· Monitor many machines across a cluster
· Deploy new machines, including process harness and job code
· Accepts python classes to define how to deploy a process or job
· Accept a job configuration via an HTTP API which defines how many of each process to deploy in which datacenters on which cloud providers
· The ability to autodetect if a machine goes bad / disappears, decomission it and spin up an identcal replacement and redeploy to it, without any admin intervention.
Provides an HTML interface at the cluster level which gives you:
· The ability to update jobs in place
· An overview of what jobs are running on what machines, and where
· Links to the STDOUT/STDERR of every process in every job on every machine, across the cluster.
· Basic machine vitals for all machines, including ram/cpu usage per process and total machine utilization.