DevOps

= Skills =

Foundation
Aqui estou agregando os pilares


 * Sistemas Operacionais
 * Linux
 * Onde a maioria das aplicações rodam hoje.


 * Linguagens de Programação
 * Python
 * A linguagem de back-end dominante nos dias de hoje. O Python é muito predominante em Inteligência Artificial/Machine Learning, portanto, se você quiser migrar para outro campo quente, você já alguns passos andados!


 * Cloud
 * AWS
 * É impossível se tornar um profissional de DevOps experiente sem um sólido entendimento de como funciona uma nuvem pública da Amazon.
 * Comece com o seguinte: VPC, EC2, IAM, S3, CloudWatch, ELB (sob o guarda-chuva do EC2) e Grupos de segurança. Essas coisas são muito para você começar e cada empresa moderna, habilitada para nuvem, estará usando essas ferramentas pesadamente.
 * O site de treinamento da própria AWS é um bom lugar para começar. https://www.aws.training/?src=training

Eu recomendo que você reserve 20 a 30 minutos diariamente para praticar Python, Linux e AWS.

= Continuous Integration/Continuous Development (CI/CD) tools =

Jenkins
O Jenkins é um servidor de automação de código aberto e independente que pode ser usado para automatizar todos os tipos de tarefas, como construir, testar e implementar software. O pipeline baseado em Jenkins é configurado para capturar automaticamente projetos de uma organização no GitHub ou GitHub Enterprise para criar o aplicativo e a imagem do Docker, enviando a imagem para um registro do Docker. Aprenda mais sobre Jenkins.

Para criar um container Jenkins

docker run -d --name e-jenkins -p 8080:8080 -p 50000:50000 -v /home/ebasso/DockerVolumes/jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

= Management Software =

Ansilble
Ansible simplifica orquestrações complexas e tarefas de gerenciamento de configurações. Ele habilita administradores to criar scripts usando YAML.


 * Ansible: Instalando e Configurando o Ansible


 * Ansible: Instalando o IBM WebSphere Application Server usando o Ansible


 * Ansible: Alterando o conteúdo de um arquivo


 * Ansible: Download e extração de um arquivo


 * Ansible: Localizando um texto na saída de um comando

Puppet
= Container Orchestration Programs =

Docker
Migrado para Docker

Kubernetes
Migrado para Kubernetes

= Monitoração e Logging =

ELK Stack
Dicas sobre o trio Elasticsearch, Logstash e Kibana


 * ELK: Resumo dos Principais Conceitos


 * ELK: Instalando o Elasticsearch, Logstash e Kibana


 * ELK: Retenção de dados no Elasticsearch


 * ELK: Consultando e buscando dados através do Kibana

Grafana
O Grafana é uma ferramenta de visualização para ajudar a fornecer painéis de controle específicos que serão usados por diferentes pessoas interagindo com a solução.

Mais detalhes em Grafana Documentation.

Prometeus
Prometheus é um sistema de monitoramento de sistemas e serviços, geração de eventos e:


 * coleta métricas de destinos configurados em intervalos determinados
 * avalia expressões de regra
 * exibe os resultados
 * pode acionar alertas se alguma condição for observada como verdadeira

Mais detalhes em Prometheus Documentation.

= Ferramentas =

Preparando a sua estação DevOps

 * Devops: Preparando o seu MacOS para Devops


 * Devops: Preparando o seu Linux para Devops;

Terraform
Migrado para Terraform

Vagrant

 * Vagrant: Primeiros passos com o Vagrant


 * Vagrant: Principais Comandos


 * Vagrant: Exemplos de Arquivos Vagrantfile


 * Vagrant: Exemplos de Arquivos Vagrantfile provisionando o Apache HTTP server via arquivo Shell, Comandos e Ansible

Git

 * Usando o Git e o GitHub


 * Principais Comandos