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 (IaC): Terraform, AWS CloudFormation
- Ansible: Ansible/manage AWS infrastructure using Ansible
- Etcd distributed key/value store
- YAML format
- Tools: Jenkins X, GitLab, Vagrant and Consul
- Cloud providers: AWS, Google Cloud Platform (GCP), Microsoft Azure
- Binary repository managers: JFrog Artifactory
DevOps automation software and toolsEdit
- Infrastructure as code (IaC) — Ansible, Terraform, Puppet, Chef
- CI/CD — DevOps/Jenkins X, TeamCity, Shippable, Bamboo, Azure DevOps, Gitlab
- Test automation — Selenium, Cucumber, Apache JMeter, Cypress.io
- Containerization — Docker, Rocket, Unik
- Orchestration — Kubernetes, Docker Swarm, Apache Mesos
- Software deployment — Elastic Beanstalk, Octopus, Vamp
- Measurement — Datadog, DynaTrace, Kibana, NewRelic, ServiceNow, Prometheus
- ChatOps — Hubot, Lita, Cog
DevOps Tools TimelineEdit
- Read some DevOps related blogs:
- * Docker blog: https://blog.docker.com/
- * Kubernetes blog: ttps://kubernetes.io/blog/