Slurm DevOps - um tit funcionando melhor em 3 dias do que um belo guindaste em um futuro distante

Adoro projetos de uma semana e fico intimidado por projetos de um ano. No Agile gostei muito do conceito de MVP e incremento, esse é o meu lance: fazer uma peça viável, implementar e seguir em frente.

Ao mesmo tempo, a transformação do DevOps na forma como é discutida em livros e conferências é apenas um projeto de um ano. Ou em anos.

Construímos nosso curso DevOps no paradigma de “MVP DevOps em um sprint” e “prontidão para incrementos”. E se em termos humanos, então “para que o participante, ao regressar, possa implementar imediatamente algo em casa e beneficiar disso”.

MVP DevOps: O curso contém ferramentas para processos básicos de DevOps. Não nos propusemos a revisar e comparar todos os sistemas CI/CD ou revelar a profundidade da abordagem Infraestrutura como Código. Fornecemos uma pilha clara: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. Você pode vir dos cursos, coletar a infraestrutura para um projeto piloto a partir de materiais de treinamento e trabalhar nele.

Slurm DevOps - um tit funcionando melhor em 3 dias do que um belo guindaste em um futuro distante

Prontidão para incrementos: fornecemos a cada elemento muita prática e exemplos. Você pode pegar uma ferramenta e começar a implementá-la usando desenhos de treinamento. Por exemplo, escreva um manual do Ansible para implementar ambientes de desenvolvimento ou conecte um bot e administre o servidor pelo seu telefone. Ou seja, obtenha um resultado prático concreto em uma semana. Pode estar infinitamente longe da transformação DevOps de toda a empresa, mas está aí, está aqui, funciona e traz benefícios.

Tópicos Slurm DevOps

Tópico nº 1: Melhores práticas do Git - fala por si.
Tópico nº 2: Trabalhando com o aplicativo do ponto de vista do desenvolvimento — um engenheiro precisa das competências de um administrador e de um desenvolvedor, por isso informamos os administradores sobre o desenvolvimento.

Tópico nº 3: Noções básicas de CI/CD

  • Introdução à automação CI/CD
  • Noções básicas de CI do Gitlab
  • Melhores práticas com gitlab-runner
  • Ferramentas Bash, make, gradle como parte de CI/CD e muito mais
  • Docker como forma de resolver problemas de CI

Tópico nº 4: Gitlab CI/CD em produção

  • Concorrência ao iniciar um trabalho
  • Controle de execução e restrições: somente, quando
  • Trabalhando com artefatos
  • Modelos, inclusões e microsserviços: simplificando a implantação

Apresentamos aos alunos os conceitos e conceitos básicos de CI/CD e ferramentas para implementação de CI/CD. Como resultado, o aluno será capaz de escolher de forma independente um padrão de design de CI/CD e uma ferramenta de implementação adequada.

Em seguida, mostramos a implementação de CI/CD no Gitlab e percorremos a configuração, examinando maneiras avançadas de usar o CI do Gitlab. Como resultado, o aluno será capaz de configurar o Gitlab CI de forma independente para seus próprios projetos.

Em comparação com o primeiro DevOps Slurm, reduzimos a teoria em 2 vezes (uma hora por tópico), deixamos de revisar todos os sistemas e deixamos apenas o Gitlab CI. Nós nos concentramos na prática e adicionamos muitas práticas recomendadas.

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

Reduzimos a parte teórica sobre UI e openstack cli e focamos na prática.
Vejamos duas abordagens IaC usando o mesmo aplicativo, mostrando os prós e os contras de cada abordagem. Como resultado, o aluno entenderá qual abordagem usar e onde e será capaz de trabalhar tanto com Terraform quanto com Ansible.

No tópico Terraform, veremos o trabalho em equipe e o armazenamento de estado em um banco de dados na prática. Ao trabalhar com módulos, o próprio aluno irá escrever e configurar o módulo, aprender como trabalhar com ele: reutilizá-lo, versioná-lo. Vamos agregar trabalho com o Consul, mostrar em quais casos ele é necessário e como utilizá-lo corretamente.

Tópico nº 6: Teste de infraestrutura

  • Vamos descobrir por que eles não escrevem testes?
  • Que testes existem no IaC?
  • Analisadores estáticos, eles são realmente inúteis?
  • Teste unitário de IaC usando ansible + molécula como exemplo
  • Teste como parte do ci
  • Testes com esteróides ou como não esperar 5 horas para que os testes IaC terminem

Reduzimos a parte teórica, menos histórias sobre Vagrant/Molecule, mais prática e testes diretos, com foco em linters e no trabalho com eles. Olhando do ponto de vista do CI
como tornar os testes mais rápidos. Na prática haverá:

  • um linter autoescrito que verifica a presença de variáveis ​​obrigatórias para o host dependendo da função;
  • Adicionamos aos testes de CI apenas as funções que foram alteradas, o que pode reduzir significativamente o tempo de execução do teste;
  • adicionando testes de cenário. Implantamos todo o aplicativo como um teste de integração.

Tópico nº 7: Monitoramento de infraestrutura com Prometheus

  • Como construir um sistema de monitoramento saudável
  • Monitoramento como ferramenta de análise, eficiência de desenvolvimento e estabilidade de código, antes mesmo da venda
  • Configurando prometheus + alertmanager + grafana
  • Passando do monitoramento de recursos para o monitoramento de aplicativos

Falaremos muito sobre monitoramento de microsserviços: request ids, 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 de infraestrutura de produção e aplicações, mas também de montagens no Gitlab. Vejamos as estatísticas sobre testes que falharam. Vamos ver na prática como será o monitoramento sem o healthCheck e com ele.

Tópico nº 8. Registrando um aplicativo com ELK

  • Visão geral do Elastic e suas ferramentas
  • ELK/Elastic Stack/x-pack - o que é e qual a diferença?
  • Quais problemas podem ser resolvidos usando ElasticSearch (pesquisa, armazenamento, recursos de escalabilidade, flexibilidade de configuração)
  • Monitoramento de infraestrutura (x-pack)
  • Logs de contêiner e aplicativo (x-pack)
  • Log usando nosso aplicativo como exemplo
  • Práticas de trabalho com Kibana
  • Abra a distribuição para Elasticsearch da Amazon

O tema foi totalmente redesenhado, é apresentado por Eduard Medvedev, muitos o viram no webinar sobre DevOps e SRE. Ele contará e demonstrará as melhores práticas para trabalhar com EFK usando o exemplo de um aplicativo educacional. Haverá treino com Kibana.

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
  • Teste
  • Melhores e piores práticas

O ChatOps adicionou a prática de autenticação com separação de direitos, confirmação de ações de outro usuário, a teoria e prática de uma alternativa ao Slack na forma de Mattermost, a teoria dos testes unitários e de integração para o bot.

A crise do DevOps começa em 30 de janeiro. Preço - 30.
Para quem finalizou a leitura, há desconto de 15% no curso DevOps utilizando o código promocional habrapost.

Inscrever-se aqui

Ficarei feliz em ver você no Slurms!

Fonte: habr.com

Adicionar um comentário