
Aprenda sobre o papel que os Bots têm no DevOps
Você sabe dizer onde os Bots se encaixam no pipeline DevOps?
Algumas das principais tendências de DevOps são:
DevOps assembly lines automation
Alertas inteligentes e acionáveis de ferramentas de monitoramento
Monitor e infra-estrutura de orquestração
Colaboração aprimorada:
Com o aumento da adoção do DevOps, as organizações enfrentam hoje muitos desafios no ciclo de vida de entrega de serviços de ponta a ponta.
Para aplicativos com configurações de ambiente complexas, a criação, a configuração e a implementação de um novo ambiente é dispendiosa, demorada e propensa a erros.
Devido a intervenções manuais, mover/promover o código entre os ambientes envolve riscos e pode causar interrupções.
As equipes de desenvolvimento buscam maximizar a mudança escrevendo novos códigos ou aprimorando o código existente, enquanto as equipes de operações procuram minimizar as alterações para acompanhar os principais indicadores de desempenho (KPIs) e os contratos de nível de serviço (SLAs). Essas metas são opostas por natureza e criam uma cultura de culpa entre as equipes de desenvolvimento e operações.
As organizações são incapazes de manter o desenvolvimento, o teste e a produção em sincronia devido a falhas no processo e na ferramenta. Um processo manual, não pode colmatar esta lacuna na consistência: assim interrupções na produção são comuns.
Vários mecanismos de colaboração permitem que as equipes trabalhem e aprendam juntas para produzir melhores resultados. A figura abaixo descreve o ciclo de vida de ponta a ponta do DevOps. A colaboração entre as fases é essencial para o sucesso da transformação de DevOps da sua empresa.
O que são ChatOps e Bots?
ChatOps é um termo cunhado pelo GitHub para descrever “colocar ferramentas no meio de uma conversa”. Em um pipeline típico de CI/CD, há várias ferramentas com as quais você interage e que têm funcionalidades variadas, como gerenciamento de código-fonte (SCM), gerenciamento de defeitos, integração contínua, implantação continua e outros. Essas são todas as ferramentas discretas, mas não há nada que as una juntas. É aqui que o ChatOps entra em jogo.
Um bot é a ponte entre a ferramenta de colaboração e as ferramentas DevOps. O bot recebe uma solicitação do usuário na forma de um comando de chat por meio de uma ferramenta de colaboração, analisa a solicitação e executa um conjunto de comandos na ferramenta DevOps de destino.
Os principais componentes do ChatOps e bots são:
Ferramenta de colaboração/aplicativo de bate-papo: esse é o sistema de bate-papo inicial que conecta as várias partes interessadas e permite que elas interajam entre si e os sistemas ao seu redor.
O bot: este é o núcleo do ChatOps. Um bot é a cola entre sua ferramenta de colaboração e seus sistemas. Facilita um canal de comunicação bidirecional onde você pode buscar informações relevantes dos sistemas e agir sobre as suas informações recebidas. Um bot se encaixa entre sua ferramenta de colaboração e as ferramentas de DevOps, por exemplo, Hubot, Lita, ErrBot ou AWS Lex.
Onde os bots se encaixam no pipeline de DevOps:
Os bots podem provar ser um acelerador em vários estágios do pipeline de CI/CD. Abaixo estão os detalhes da integração com várias ferramentas de DevOps em cada fase do ciclo de vida:
Planejamento proativo – JIRA
Gerenciamento de Requisitos – JIRA
Integração Contínua – Jenkins
Implantação contínua – Ansible, Chef
Monitoramento contínuo – Nagios, Grafana, Splunk
Feedback contínuo – JIRA
Um chatbot desempenha um papel importante em reunir as diferentes equipes em uma única sala de bate-papo persistente para fazer a triagem e resolver o problema em questão. Além de solucionar problemas e triagem, os bots podem ser usados para vários outros trabalhos comuns, como:
Limpar servidores.Iniciando trabalhos de criação e implantação.
Rotating logs do servidor.
Aplicativo de integração nas ferramentas de monitoramento.
Coletando métricas de ferramentas como o Nagios ou o AppDynamics.
Modelo Técnico de Bot:
Para atingir as metas mencionadas, precisamos ter uma plataforma de bot de suporte em funcionamento. A proximidade das ferramentas com o bot garante a qualidade da implementação e abre novas oportunidades de automação.
Como o diagrama mostra, o chatbot está hospedado em uma ferramenta de chat como o Slack. Isso pode estar na plataforma de nuvem ou em um aplicativo de bate-papo/comunicador existente. O bot é integrado a um banco de dados de referência de pares de valores-chave, que é alimentado com as respostas. A chave pode ser o nome do aplicativo para recuperar dados ou qualquer ID exclusivo que reduza o número de leituras. Uma consulta da chave definida correspondente à chave secundária é executada no banco de dados de resposta e uma resposta é enviada de volta ao chatbot. Dependendo do número de saídas, as consultas podem ser definidas e armazenadas no banco de dados de resposta.
DevOps Bots: Casos de Uso:
Abaixo estão alguns exemplos de casos de uso para bots. Isso inclui o ciclo de vida completo do DevOps.
Planejamento proativo:
Crie novas histórias de usuários em ferramentas de planejamento de sprint e atribua sprints a equipes. Atualize sprints e backlogs de produtos.
Construção e Integração Contínua:
Execute tarefas de construção e relate as estatísticas do trabalho de construção. Realize compilações diárias / noturnas e relate o status da compilação para as equipes relevantes.
Implantação contínua:
Execute trabalhos de implantação e execute implantações em vários ambientes. Reverter implantações em caso de falhas, verificações de status, executar ações pós-implantação, como reinicializações da JVM.
Provisionamento de Infraestrutura e Gerenciamento de Configuração:
Inicie os trabalhos do Chef para provisionar infraestrutura ou provisionar ambientes de aplicativos. Ative o monitoramento e a reinicialização de serviços e servidores.
Monitoramento Contínuo:
Forneça estatísticas de aplicativos ou execute pesquisas de dados diárias e métricas de captura.
Feedback Contínuo:
Monitorar a integridade do aplicativo e executar análises.
Principais métricas de medição:
Para obter otimização e melhorar o desempenho do processo de entrega contínua, a medição métrica é a chave. Esses indicadores ajudarão a tomar certas ações corretivas e preventivas com base nos resultados. Abaixo estão alguns dos principais indicadores de métricas que podem ser medidos.
Redução de Esforço:
Indica a redução de esforços humanos/manuais para tarefas como o acionamento de uma construção ou implementação ou coleta de métricas a partir de ferramentas de monitoramento.
Taxa de Redução de Erro Humano Redução:
do esforço necessário devido a retrabalho causado por erros humanos.
Reduzir:
o tempo de triagem do problema indica o tempo necessário para resolver problemas em que várias partes estão envolvidas e a triagem de problemas é necessária.
Conclusão:
Os bots de DevOps podem melhorar significativamente a eficiência da equipe, bem como a capacidade de uma equipe de responder a emergências. Eles economizam tempo e dinheiro, são divertidos de construir e usar e podem ter um impacto positivo no moral da equipe, além de aumentar a produtividade geral das equipes. Isso se aplica às equipes de engenharia e operações. As empresas que adotam a digitalização buscam parceiros com uma mentalidade de engenharia que saiba como reunir equipes ágeis colaborativas com o mais recente conhecimento de plataformas de código aberto e de ferramentas DevOps.
Fonte: devops.com
LER MAIS ARTIGOS
Siga os canais da Kumulus nas redes sociais:
Youtube
Envelope