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.
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
Ficarei feliz em ver você no Slurms!
Fonte: habr.com