Build - is the process of integrating, building and compiling the software that is produced. For large software teams, there is generally a continuous integration process where software developers check-in their changes, and if anyone breaks the build, it needs to be addressed. The integration process can take a lot of processing power, and several hours. This infrastructure needs to be monitored and optimized. Commonly products like ClearCase, Maven or GitHub are used for this process. (There may also be a set of automated unit tests that run against this "build".)
Release - Once the software is "verified" - it's integrated with no errors, automated tests pass, and QA approves it -- the software is ready to be deployed or released into production. This can also be a pretty extensive process. When I was at eBay, we had 15,000 servers to which we deployed code. The servers were grouped in logical "pools" for redundancy. We'd deploy new code incrementally, and "roll-back" if there were issues. To facilitate this, we used IBM's Tivoli software with custom built software on top of that.
Release - Once the software is "verified" - it's integrated with no errors, automated tests pass, and QA approves it -- the software is ready to be deployed or released into production. This can also be a pretty extensive process. When I was at eBay, we had 15,000 servers to which we deployed code. The servers were grouped in logical "pools" for redundancy. We'd deploy new code incrementally, and "roll-back" if there were issues. To facilitate this, we used IBM's Tivoli software with custom built software on top of that.

No comments:
Post a Comment