The background story about Apollo aka AWS CodeDeploy:
“The Story of Apollo – Amazon’s Deployment Engine”, written by Amazon CTO Werner Vogels on his blog: http://www.allthingsdistributed.com/2014/11/apollo-amazon-deployment-engine.html
Deploying software to a single host is easy. You can SSH into a machine, run a script, get the result, and you’re done. The Amazon production environment, however, is more complex than that. Amazon web applications and web services run across large fleets of hosts spanning multiple data centers. The applications cannot afford any downtime, planned or otherwise. An automated deployment system needs to carefully sequence a software update across a fleet while it is actively receiving traffic. The system also requires the built-in logic to correctly respond to the many potential failure cases.
CodeDeploy allows you to plug-in your existing application setup logic, and then configure the desired deployment strategy across your fleets of EC2 instances. CodeDeploy will take care of orchestrating the fleet rollout, monitoring the status, and giving you a clear dashboard to control and track all of your deployments. It simplifies and standardizes your software release process so that developers can focus on what they do best –building new features for their customers.
Never worked with CodeDeploy before?
Start with this 5 minute video. It will show a sample CodeDeploy deployment (flat html files hosted on S3 deployed to Apache web servers on EC2).