Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am curious to know what are the popular production deployment system i.e. popular ways in which things are moved from test/qa sandbox and final releases are pushed into production available to be used. I have heard of things like autosys,vcs,zapp. Are these industry standard production deployment systems? What do biggies like Google,Microsoft,Yahoo,Amazon etc use?

Thanks,

share|improve this question

1 Answer 1

up vote 1 down vote accepted

One tool used widely at Yahoo is pogo, which is a massively parallel ssh-based execution tool. It can be used to invoke commands in parallel on thousands of machines at once. Pogo also contains a constraint mechanism to say things like "only run on 20% of this type of server at once". There's also a pre/post hook and recipe mechanism in pogo to perform custom check and command before and after a push. One way this is used frequently is to run health checks which verify that services on a machine come back up after a software push.

A similar tool that others use is Capistrano. I don't know a lot about it but that tool gets mentioned a lot.

Many people use the remote execution facility in their configuration management tool to accomplish this task as well. This can be done for example with Puppet or Cfengine or Chef. Those solutions tend to work ok at smaller scales. At larger scale (thousands of servers) you should really look in to a more specialized tool like the ones I've mentioned above.

Of course you can also use tools like ClusterSSH to accomplish tasks like this, although I recommend against that approach because it's not really scriptable or repeatable.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.