DevOps

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 | edit source]

* Containers:
* Container Registry
* Secret management: Vault, Ansible Vault
* Docker
* Container-Orchestration
* Kubernetes container-orchestration system
* Nomad
* 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[2][3]

## DevOps automation software and tools

[edit | edit source]

1. Infrastructure as code (IaC) — Ansible, Terraform, Puppet, Chef
2. CI/CD — DevOps/Jenkins X, TeamCity, Shippable, Bamboo, Azure DevOps, Gitlab
3. Test automation — Selenium, Cucumber, Apache JMeter, Cypress.io
4. Containerization — Docker, Rocket, Unik
5. Orchestration — Kubernetes, 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 | edit source]

* 2015 runC released
* 07/2014 Terraform IaC software first public release
* 06/2014 Kubernetes first public release
* 2013 Docker first public release
* 2011 GitLab released
* 10/2010 OpenStack first public release
* 2010 Ansible first public release
* 2008 GitHub launched
* 2006 AWS launched
* 2005 puppet released

## Activities

[edit | edit source]

1. Read some DevOps related blogs:

* Docker blog: https://blog.docker.com/
* Kubernetes blog: ttps://kubernetes.io/blog/

## See also

[edit | edit source]

* Cloud computing
* Continuous Integration/Continuous Delivery (CI/CD)
* Infrastructure-as-a-service (IaaS) and Hyper-converged infrastructure
* Android Studio

## References

[edit | edit source]

1. ↑ Wikipedia: DevOps
2. ↑ https://devops.stackexchange.com/a/1900
3. ↑ https://jfrog.com/artifactory/