TL, DR
Novamente analisaremos as ferramentas DevOps na prática.
Detalhes e programa sob o corte.
O SRE foi removido do programa porque junto com Ivan Kruglov estamos preparando um Slurm SRE separado. O anúncio virá mais tarde.
Obrigado à Selectel, nossos patrocinadores desde o primeiro Slurm!
Sobre filosofia, ceticismo e sucesso inesperado
Participei da DevOpsConf em Moscou no final de setembro.
Resumo do que ouvi:
— O DevOps é necessário para a maioria dos projetos de qualquer tamanho;
— DevOps é uma cultura, como qualquer cultura, deve vir de dentro da empresa. Você não pode contratar um engenheiro DevOps e sonhar que ele melhorará os processos.
— Bem no final da lista do que é necessário para a transformação do DevOps vem a tecnologia, ou seja, as próprias ferramentas de DevOps que ensinamos.
Percebi que estávamos certos em não incluir a filosofia e a cultura DevOps no curso, porque isso não pode ser ensinado de forma sistemática. Quem precisar lerá nos livros. Ou ele encontrará um treinador super legal que convencerá a todos com seu carisma e autoridade.
Pessoalmente, sempre fui um defensor do “movimento de baixo para cima”, da implementação guerrilheira da cultura através de ferramentas. Algo parecido com o descrito em The Phoenix Project. Se tivermos o trabalho em equipe com o Git configurado corretamente, poderemos complementá-lo lentamente com regulamentos e então chegaremos aos valores.
E mesmo assim, quando estávamos preparando o DevOps Slurm, onde falávamos exclusivamente sobre ferramentas, fiquei com medo da reação dos participantes: “Vocês disseram coisas maravilhosas. É uma pena, nunca poderei implementá-los.” O ceticismo era tanto que acabamos imediatamente com a repetição do programa.
No entanto, a maioria dos participantes respondeu no inquérito que o conhecimento adquirido era aplicável na prática e que implementariam algo no seu próprio país num futuro próximo. Ao mesmo tempo, tudo o que explicamos foi incluído na lista de coisas úteis: Git, Ansible, CI/CD e SRE.
Vale lembrar que no início também falaram sobre o Slurm Kubernetes que é impossível explicar k3s em 8 dias.
Com Ivan Kruglov, que liderou o tópico SRE, concordamos em criar um programa separado. No momento estamos discutindo os detalhes, farei um anúncio em breve.
O que acontecerá no Slurm DevOps?
Programa
Tópico nº 1: Trabalho em equipe com Git
- Comandos básicos git init, commit, add, diff, log, status, pull, push
- Fluxo Git, ramificações e tags, estratégias de mesclagem
- Trabalhando com vários representantes remotos
- Fluxo do GitHub
- Fork, remoto, solicitação pull
- Conflitos, liberações, mais uma vez sobre Gitflow e outros fluxos em relação aos times
Tópico nº 2: Trabalhando com o aplicativo do ponto de vista do desenvolvimento
- Escrevendo um microsserviço em Python
- variáveis ambientais
- Integração e testes unitários
- Usando docker-compose no desenvolvimento
Tópico nº 3: CI/CD: introdução à automação
- Introdução à Automação
- Ferramentas (bash, make, gradle)
- Usando git-hooks para automatizar processos
- Linhas de montagem de fábrica e sua aplicação em TI
- Um exemplo de construção de um pipeline “geral”
- Softwares modernos para CI/CD: Drone CI, BitBucket Pipelines, Travis, etc.
Tópico nº 4: CI/CD: Trabalhando com Gitlab
- CI do Gitlab
- Gitlab Runner, seus tipos e aplicações
- Gitlab CI, recursos de configuração, práticas recomendadas
- Estágios de CI do Gitlab
- Variáveis CI do Gitlab
- Construa, teste, implante
- Controle de execução e restrições: somente, quando
- Trabalhando com artefatos
- Modelos dentro de .gitlab-ci.yml, reutilizando ações em diferentes partes do pipeline
- Incluir - seções
- Gerenciamento centralizado de gitlab-ci.yml (um arquivo e envio automático para outros repositórios)
Tópico nº 5: Infraestrutura como código
- IaC: Abordando a Infraestrutura como Código
- Provedores de nuvem como provedores de infraestrutura
- Ferramentas de inicialização do sistema, construção de imagens (packer)
- IaC usando Terraform como exemplo
- Armazenamento de configuração, colaboração, automação de aplicativos
- Prática de criação de playbooks Ansible
- Idempotência, declaratividade
- IaC usando Ansible como exemplo
Tópico nº 6: Teste de infraestrutura
- Testes e integração contínua com Molecule e Gitlab CI
- Usando o Vagrant
Tópico nº 7: Monitoramento de infraestrutura com Prometheus
- Por que o monitoramento é necessário?
- Tipos de monitoramento
- Notificações no sistema de monitoramento
- Como construir um sistema de monitoramento saudável
- Notificações legíveis por humanos, para todos
- Exame de saúde: o que você deve prestar atenção
- Automação baseada em dados de monitoramento
Tópico nº 8: Registro de aplicativos com ELK
- Melhores práticas de registro
- Pilha ELK
Tópico nº 9: Automação de infraestrutura com ChatOps
- DevOps e ChatOps
- ChatOps: pontos fortes
- Folga e alternativas
- Bots para ChatOps
- Hubot e alternativas
- segurança
- Melhores e piores práticas
Localização: Moscou, sala de conferências do hotel Sevastopol.
Datas: de 30 de janeiro a 1º de fevereiro, 3 dias de muito trabalho.
Fonte: habr.com