DevOps is the unification software development (Dev) and software operation (Ops). It’s practice covers all things need to fully automate the software engineering process from development to production deployment. This includes all steps of software engineering from development, integration, testing, and releasing to deployment and infrastructure management. For an effective DevOps system, you must practice 2 principals: 1) automate everything and 2) full systemic test coverage. Automation includes the build/packaging, deploying/installing, testing, quality static analysis, and most importantly automated infrastructure or Infrastructure as Code (IaC). To achieve Continuous Delivery (CD) to production in DevOps you must have full trust that your test suite covers all aspects of the functionality, system configuration, performance, and integration. You must trust your automated test suite/coverage to automated delivery to production.