Showing posts from March 8, 2010

Automated, faster, repeatable, scalable deployments

While efficient automated deployment tools like Puppet and Capistrano are a big step in the right direction, its not the complete solution for an automated deployment process. This post will explore some of the less discussed issues which are as important for automated, fast, repeatable scalable deployments.  Rapid Build and Integration with tests Use Source control to build an audit trail: Put everything possible in it, including configurations and deployment scripts. Continuous Builds triggered by code check-ins can detect and report problems early Use tools which provide targeted feedback about build failures. It reduces noise and improves over all quality faster Faster the build happens after a check-in, better are the chances for bugs to get fixed quickly. Delays can be costly since broken builds could impact other developers as well Build smaller components (fail fast) Continuous integration tests of all components can detect er