DevOps is a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives.
Tools like Ansible help to manage the configuration of the servers.
Docker is a container service that allows you to collect together everything you need to run a specific application in one environment. If you are running different applications, you can use a docker instance for each application to manage configuration and keep dependency issues to a minimum.
PowerShell and Bash are used to create automated routines, called scripts, to help manage services on the server.
- Infrastructure as Code: Terraform, AWS CloudFormation
- Etcd distributed key/value store
- YAML format
- AWS: CloudFormation