Deployment Automation replaces the manual non-standard deployment process to standardized automated deployment process for various environments such as Production, QA etc.
Automated deployment process integrates with configuration management tools, compile and build the source code, automate the acceptance criteria and deploy to various environment.
There are varying levels of automation, but they all attempt to solve some or all of the problems with manual deployment. Specifically, manual deployments are:
Need to run the manual script, take a backup, and verify the deployment process. Run the deployment process on weekend no rollback if any issue occurred etc.
Always there are chance for human mistake which could have serious consequences.
Its nightmare to manage the deployment process for various environment
There is no way interrelate version of deployed applicationo
An automated deployment process seeks to solve these problems.
Below are key benefits for Automation deployment
·Reduce the time to deploy applications
·Prevent application errors due to human mistakes
·Making sure that all deployment steps are performed
·Provide reliable & auditable configuration management
·Knowing who changed what in which environment at what moment
·Reducing Script Writing and Maintenance