Continuous Full System Deployment

From CitconWiki
Jump to navigationJump to search


  • Your snapshots should be as bare as possible
  • Use Puppet or Chef to configure it (use the exact same thing that you used to configure production)
  • Do basic tests (ping, ssh and the web server is available)

Ensure QA and Production are the same

  • Deployable unit was a system image - it has to be in a Debian package
  • Issue: If you do an apt-get on QA and pull down packages, that's fine. But 2 days later when deploying again to production, that package may have changed and this can introduce issues with your application. Solution: Have your own repo and cache that version. Rather than

Packages with no dependencies

Live Updating Thousands of Servers

  • Image takes too long

Pain Points

  • Getting different systems deployed is no problem. How do we
  • Clone image/install OS/ get manifests and run them, install app, wait for system to start, run tests. 10 minute delay if you need to test something immediately