Eu adoro projetos de uma semana e me assustam projetos de um ano. No Agile, gostei muito do conceito de MVP e incremento, é exatamente o que gosto: fazer um pedaço funcional, implementá-lo e seguir adiante.
A transformação DevOps, tal como é discutida em livros e conferências, é exatamente um projeto de um ano. Ou de anos.
Construímos nosso curso de DevOps na perspectiva de 'MVP DevOps em um sprint' e 'preparação para incrementos'. E em termos simples, é para que o participante, ao retornar, possa imediatamente implementar algo em sua empresa e obter benefícios.
MVP DevOps: o curso contém ferramentas para os principais processos DevOps. Não nos propusemos a examinar e comparar todos os sistemas CI/CD ou explorar as profundezas da abordagem Infrastructure as Code. Oferecemos um stack claro: Gitlab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Você pode sair do curso, montar a infraestrutura para um projeto piloto e trabalhar nela.

Preparação para incrementos: cada elemento é oferecido com muita prática e exemplos. É possível pegar uma ferramenta e, com os desenhos didáticos, trabalhar em sua implementação. Por exemplo, escrever um playbook Ansible para implantar ambientes de desenvolvimento ou conectar um bot e administrar servidor pelo telefone. Ou seja, em uma semana, obter um resultado prático concreto. Embora esteja infinitamente distante da transformação DevOps de toda a empresa, ele existe, está aqui, funciona e traz benefícios.
Temas do Slurm DevOps
Tema nº 1: Melhores práticas de Git — fala por si mesma.
Tema nº 2: Trabalhando com o aplicativo do ponto de vista do desenvolvimento — o engenheiro precisa de competências tanto de administrador quanto de desenvolvedor, por isso falamos com os administradores sobre desenvolvimento.
Tema nº 3: Fundamentos de CI/CD
- Introdução à automação CI/CD
- Fundamentos do trabalho com Gitlab CI
- Melhores práticas com gitlab-runner
- Ferramentas bash, make, gradle como parte do CI/CD e não só
- Docker como uma solução para problemas de CI
Tema nº 4: Gitlab CI/CD em produção
- Concorrência na execução de jobs
- Controle e restrições de execução: only, when
- Trabalhando com artefatos
- Templates, includes e microserviços: simplificando o deployment
Apresentamos aos alunos os conceitos e as principais ideias do CI/CD e as ferramentas para implementá-lo. Como resultado, o aluno será capaz de escolher de forma independente um modelo de design para CI/CD e a ferramenta apropriada para a implementação.
Em seguida, mostramos a implementação de CI/CD no Gitlab e discutimos a configuração, abordando formas avançadas de utilizar o Gitlab CI. Como resultado, o aluno será capaz de configurar o Gitlab CI para seus próprios projetos de forma autônoma.
Comparado ao primeiro Slurm DevOps, reduzimos a parte teórica pela metade (uma hora por tópico), evitando uma revisão de todos os sistemas e focando apenas no Gitlab CI. Nos concentramos na prática, adicionando muitas melhores práticas.
Tema nº 5: Infraestrutura como Código
- IaC: uma abordagem para a infraestrutura como código
- Provedores de nuvem como fornecedores de infraestrutura
- Ferramentas de inicialização de sistemas, criação de imagens (packer)
- IaC utilizando Terraform
- Armazenamento de configurações, colaboração, automação de aplicações
- Prática de criação de playbooks Ansible
- Idempotência, declaratividade
- IaC utilizando Ansible
Reduzimos a parte teórica sobre UI e openstack cli e focamos na prática.
Vamos considerar duas abordagens de IaC, utilizando a mesma aplicação, mostrando as vantagens e desvantagens de cada abordagem. Como resultado, o aluno entenderá onde aplicar cada abordagem e poderá trabalhar tanto com Terraform quanto com Ansible.
Na parte sobre Terraform, vamos considerar na prática o trabalho em equipe e o armazenamento de estado em um banco de dados. Ao trabalhar com módulos, o aluno escreverá e configurará um módulo, aprendendo a usá-lo: reutilizar, versão. Adicionaremos o trabalho com Consul, mostrando em quais casos ele é necessário e como usá-lo corretamente.
Tema nº 6: Teste de infraestrutura
- Vamos analisar por que não escrevem testes?
- Quais tipos de testes existem em IaC?
- Analisadores estáticos, são realmente inúteis?
- Teste unitário de IaC usando ansible + molecule
- Testes como parte do ci
- Testes em esteroides ou como não esperar 5 horas pela conclusão dos testes para IaC
Reduzimos a parte teórica, com menos discussões sobre Vagrant/Molecule, mais prática e testes diretos, com foco em linters e seu uso. Consideramos do ponto de vista do CI.
como tornar os testes mais rápidos. Na prática, teremos:
- um linter personalizado que verifica a presença de variáveis obrigatórias para o host de acordo com o papel;
- adicionamos ao CI o teste apenas dos papéis que foram alterados, o que permite reduzir significativamente o tempo de execução dos testes;
- adicionamos o teste de cenários. Implantamos a aplicação completamente como um teste de integração.
Tema nº 7: Monitoramento de infraestrutura com Prometheus
- Como construir um sistema de monitorização saudável
- Monitoramento, como ferramenta de análise, eficácia de desenvolvimento e estabilidade do código, antes mesmo do lançamento.
- Configuração do prometheus + alertmanager + grafana
- Passamos do monitoramento de recursos para o monitoramento de aplicações.
Vamos falar muito sobre monitoramento de microsserviços: id de solicitações, ferramenta de monitoramento de API. Haverá muitas melhores práticas e muito trabalho independente.
Vamos escrever nosso próprio exportador. Configuraremos o monitoramento não apenas da infraestrutura de produção e dos aplicativos, mas também das compilações no Gitlab. Vamos analisar as estatísticas de testes falhos. Veremos na prática como será o monitoramento sem healthCheck e com ele.
Tema nº 8. Log de aplicativos com ELK
- Visão geral do Elastic e suas ferramentas
- ELK/Elastic Stack/x-pack — o que é o quê e qual é a diferença?
- Quais problemas podem ser resolvidos com o ElasticSearch (busca, armazenamento, características de escalabilidade, flexibilidade de configuração)
- Monitoramento da infraestrutura (x-pack)
- Logs de contêineres e aplicativos (x-pack)
- Log de um exemplo do nosso aplicativo
- Práticas de trabalho com Kibana
- Open Distro for Elasticsearch da Amazon
O tema foi completamente reformulado, agora é conduzido por Eduard Medvedev, muitos o viram no webinário sobre DevOps e SRE. Ele irá compartilhar e mostrar as melhores práticas de trabalho com EFK usando um aplicativo educacional. Haverá prática com Kibana.
Tema nº 9: Automatização da infraestrutura com ChatOps
- DevOps e ChatOps
- ChatOps: pontos fortes
- Slack e alternativas
- Bots para ChatOps
- Hubot e alternativas
- Segurança
- Testes
- Melhores e piores práticas
No ChatOps, adicionamos a prática de autenticação com divisão de privilégios, confirmação de ações por outro usuário, teoria e prática de uma alternativa ao Slack na forma do Mattermost, teoria de testes unitários e de integração para o bot.
O Slёrm de DevOps começa em 30 de janeiro. O preço é 30.000.
Para aqueles que leram até aqui, desconto de 15% no curso de DevOps usando o código promocional habrapost.
Registro
Ficarei feliz em vê-lo nos Slёrms!
Fonte: habr.com
