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.

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

 * /Container/s:
 * /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/

DevOps automation software and tools

 * 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

 * 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

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