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.[1]

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.

Resources

edit

DevOps automation software and tools

edit
  1. Infrastructure as code (IaC) — Ansible, Terraform, Puppet, Chef
  2. CI/CDDevOps/Jenkins X, TeamCity, Shippable, Bamboo, Azure DevOps, Gitlab
  3. Test automation — Selenium, Cucumber, Apache JMeter, Cypress.io
  4. ContainerizationDocker, Rocket, Unik
  5. OrchestrationKubernetes, Docker Swarm, Apache Mesos
  6. Software deployment — Elastic Beanstalk, Octopus, Vamp
  7. Measurement — Datadog, DynaTrace, Kibana, NewRelic, ServiceNow, Prometheus
  8. ChatOps — Hubot, Lita, Cog

DevOps Tools Timeline

edit

Activities

edit
  1. Read some DevOps related blogs:
* Docker blog: https://blog.docker.com/
* Kubernetes blog: ttps://kubernetes.io/blog/

See also

edit

References

edit