devops automation how is automation applied devops practice
Automação em DevOps:
No último tutorial, aprendemos a importância de Controle de origem em DevOps . Aqui, neste tutorial, aprenderemos sobre automação em DevOps.
A automação é a necessidade fundamental para a prática de DevOps e 'Automatizar tudo' é o princípio-chave do DevOps. No DevOps, a automação começa a partir da geração do código na máquina do desenvolvedor até que o código seja enviado para o código e mesmo depois disso para monitorar o aplicativo e o sistema em produção.
Leitura sugerida => Série de tutoriais informativos de DevOps
O pipeline de DevOps inteiro contendo integração contínua, teste contínuo e implantação contínua, incluindo monitoramento de desempenho de aplicativo ao vivo é automatizado.
Automatizar a instalação e as configurações da infraestrutura e a implantação do software é o principal destaque da prática DevOps. A prática do DevOps depende muito da automação para fazer entregas em um período de algumas horas e fazer entregas frequentes entre plataformas.
Assim, a automação em DevOps promove velocidade, maior precisão, consistência, confiabilidade e aumenta o número de entregas. Em última análise, a automação no DevOps encapsula tudo, desde a construção, implantação e monitoramento.
VÍDEO Parte 2 Bloco 3: Automação DevOps- 16 minutos e 40 segundos
Vamos entender a importância da automação na prática DevOps em detalhes neste tutorial.
Aqui, vamos discutir:
- Como a automação é aplicada na prática DevOps?
- Necessidade e função da automação?
- O que automatizar?
- Ferramentas e estrutura, testes contínuos?
Tenho um pouco de medo de falar sobre automação. Porque, por mais que fale em automação, na minha opinião, ela nunca está completa.
Não é preciso dizer que a automação é simplesmente fugir das tarefas manuais. As pessoas querem reduzir seu envolvimento nas tarefas rotineiras mundanas e utilizar seu tempo e inteligência em algo novo ou inovador.
Dito isso, a função da automação no DevOps é muito importante e crucial para fornecer valor ao cliente continuamente.
Vamos responder juntos, como a automação é aplicada na prática de DevOps junto com o que automatizar porque essas duas perguntas são respondidas juntas.
O que automatizar?
Não acho que muita explicação seja necessária para a resposta a esta pergunta nesta era da automação. Em qualquer lugar que vamos, vemos coisas que estão sendo automatizadas, com mínima ou nenhuma intervenção humana. Portanto, DevOps não é uma exceção a isso.
Em um método tradicional de desenvolvimento de software, era apenas a equipe de desenvolvimento e suas atividades que costumavam ser automatizadas, especificamente os testes. Costumava ser assim, que automação significa testar e automatizar casos de teste, que também apenas casos de teste funcionais, mas nem mesmo testes não funcionais como desempenho e segurança.
E nenhuma das outras atividades, especialmente as atividades operacionais, costumava ser automatizada. Falha de implantação manual em um enorme cluster que envolveu 8 servidores e a perda que causou é muito boa Exemplo de complexidade envolvida em implantações e explica claramente a necessidade de automação para atividades de Devops.
perguntas da entrevista sobre maven e jenkins
Já vi por mim mesmo, que as organizações contratam pessoas altamente qualificadas e inteligentes pagando um enorme pacote salarial, para configurar as redes e ambientes, o que costumava fazer com base na sua inteligência, conhecimento na respectiva área, na sua experiência e expertise, que era um trabalho manual completo.
A configuração manual está sempre sujeita a erros, como todos sabem. O que geralmente acontecia no caso de configuração manual é que, ao longo de um período de tempo, após fazer repetidamente o mesmo trabalho repetidamente, essas pessoas inteligentes, configuradores de rede costumam se cansar dessas atividades e acabam cometendo erros devido à negligência.
Você sabe que eles são muito brilhantes e essas atividades serão muito simples e desinteressantes para eles e que precisam de novos desafios a cada dia, e não essa tarefa chata.
Assim, a introdução da automação para instalação de softwares e controle de versão da parte da infraestrutura tornou-se um grande ganho e reduziu muitos erros humanos além de economizar tempo e permite que qualquer homem comum faça isso, tirando assim a dependência dos trabalhadores qualificados.
Além disso, a execução de processos se um novo ambiente for configurado, como aumentar o tíquete para configurar um novo ambiente, a equipe de TI trabalhando por trás na configuração, todos esses aborrecimentos são removidos.
Assim, os membros individuais da equipe têm autonomia para realizar as tarefas. Imagine a velocidade, confiabilidade e consistência que estão sendo alcançadas pela automação. Então, a automação aumentou terrivelmente o número de entregas para a produção.
Portanto, agora na prática do DevOps, a equipe de operações também iniciou a automação em todos os seus trabalhos, o que se tornou a chave para o sucesso do DevOps.
sites para assistir anime grátis em inglês
Na verdade, na prática do DevOps, o pontapé de automação começa desde a geração do código na máquina dos desenvolvedores até que o código seja lançado para a produção e mesmo depois disso no monitoramento do aplicativo ao vivo. Este é um ciclo DevOps típico.
A equipe de desenvolvimento e operações verifica o código e as configurações do ambiente para o controle de origem, de onde a automação é acionada para acionar a construção, executando casos de teste de unidade e outra qualidade de código básica, casos de teste de cobertura, casos de teste relacionados à segurança etc.
Uma vez que o código é concluído com isso, o código é compilado automaticamente, é armazenado no controle de versão e é implementado automaticamente em outros ambientes para testes adicionais e, finalmente, para a versão de produção.
Podemos ver a automação sendo realizada em todas as fases do desenvolvimento, começando pelo acionamento da construção, realizando testes de unidade, empacotamento, implantação nos ambientes especificados, realização de testes de verificação de construção, testes de fumaça, casos de teste de aceitação e finalmente implantação no ambiente de produção final.
Mesmo quando dizemos casos de teste automatizados, não são apenas os testes de unidade, mas os testes de instalação, testes de integração, testes de experiência do usuário, testes de IU, etc.
O DevOps força a equipe de operações, além das atividades de desenvolvimento, a automatizar todas as suas atividades, como provisionar os servidores, configurar os servidores, configurar as redes, configurar firewalls, monitorar a aplicação no sistema de produção.
Portanto, para responder o que automatizar, é o gatilho de compilação, compilação e construção, implantação ou instalação, configuração de infraestrutura automatizada como um script codificado, configurações de ambiente como um script codificado, desnecessário mencionar testes, monitoramento de desempenho de vida pós-implantação, monitoramento de registros, monitoramento de alertas, envio de notificações ao vivo e recebimento de alertas ao vivo em caso de erros e avisos etc.,
Por fim, automatizando todos os documentos relacionados ao projeto.
Então, posso dizer que automação na linguagem DevOps significa Integração Contínua, Teste Contínuo, Implantação Contínua e Entrega Contínua. Vamos estudar cada um deles em detalhes nas próximas partes.
No geral, o DevOps permite todas as atividades de desenvolvimento e operações, sempre que possível, o que for automatizado, o que for repetível, onde a precisão for exigida, o que levar muito tempo será automatizado.
No entanto, se não mencionarmos as ferramentas a serem usadas para automação, a discussão sobre automação é incompleta.
Portanto, a seleção da estrutura certa e da ferramenta de automação é o principal requisito para automação no DevOps.
Existem diversas ferramentas disponíveis no mercado, tanto open source quanto licenciadas, que suportam a automação ponta a ponta de todo o pipeline de entrega, incluindo atividades realizadas pela equipe de operações, máquinas de provisionamento, rotação de servidores automatizados, configuração de redes, firewalls, e até mesmo monitorar o desempenho do software.
Além disso, certas organizações desenvolveram sua própria estrutura de modo a integrar o processo de ponta a ponta do DevOps, que começa com a confirmação do código até a implantação do código, incluindo a documentação que é uma única ferramenta integrada e a equipe não precisa sair da estrutura para nada relacionado para programar, seja controle de versão, redação de caso de teste, revisão, despejo de resultados de caso de teste, análise etc.,
Por exemplo: fantoche, gerente de recursos do Azure, chef etc.,
Benefícios da automação em DevOps
Vimos lançamentos anteriores, na ausência de automação levando anos para entrar em produção e também recentemente com o ágil, seja enxuto, scrum ou seguro, e com uma porcentagem de automação sendo aprimorada, os cronogramas de lançamento são reduzidos para alguns meses ou semanas.
Mas a automação é absolutamente imprescindível para que os lançamentos sejam o mais rápido possível em poucas horas. Portanto, acho que é impossível fazer lançamentos tão rápidos e frequentes, a menos que implementemos a automação em todo o pipeline.
Então, obviamente, se queremos atingir os objetivos de DevOps, alta qualidade e valor entregue aos clientes por meio de entregas frequentes e rápidas, Automatizar tudo é fundamental.
Claramente, sabemos agora que a automação remove erros manuais, dependência de um indivíduo, executa mais rápido e atinge a precisão, alcançando consistência e confiabilidade. Portanto, automatizar tudo permite o objetivo do devops de entrega de alta qualidade, permite lançamentos frequentes e lançamentos mais rápidos.
Em suma, automação,
- Remove erros manuais
- Os membros da equipe são capacitados
- Dependência removida
- Latência removida
- Aumenta o número de entregas
- Reduz o tempo de espera
- Aumenta a frequência de lançamentos
- Fornece feedback mais rápido
- Permite velocidade, confiabilidade e consistência
Portanto, em resumo, a automação em DevOps, em última análise, encapsula tudo, desde a construção, implantação e monitoramento.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Importância de pequenos incrementos de entregas em DevOps
- Controle de fonte ou controle de versão no DevOps (vídeo tutorial parte 2 - bloco 2)
- Tutorial de DevOps: o guia definitivo para DevOps (mais de 25 tutoriais)
- Prática DevOps baseada no Manifesto Ágil (Parte 2 - Bloco 1)
- Tutorial de teste de DevOps: como o DevOps afetará os testes de controle de qualidade?
- Tutorial do AWS CodeCommit para implementação de DevOps na nuvem
- Tutorial SeeTest Automation: um guia de ferramenta de automação de teste móvel
- Entrega contínua em DevOps