![Ainda não migrou do CentOS? Você tem até 30 de junho](https://optimuscloud.com.br/wp-content/uploads/2024/06/1718928006_Ainda-nao-migrou-do-CentOS-Voce-tem-ate-30-de-150x150.jpg)
Ainda não migrou do CentOS? Você tem até 30 de junho
20 de junho de 2024![VentureBeat/Ideograma](https://optimuscloud.com.br/wp-content/uploads/2024/06/1718953204_Novo-LLM-medico-PathChat-2-pode-conversar-com-patologistas-sobre-150x150.jpeg)
Novo LLM médico, PathChat 2, pode conversar com patologistas sobre tumores, oferecer diagnósticos
21 de junho de 2024O desenvolvimento de software é inerentemente complexo, envolvendo inúmeras partes interessadas, ferramentas e etapas. O gerenciamento eficaz do fluxo de trabalho é fundamental para acertar, seja para garantir que os desenvolvedores possam atender de forma eficiente ou que os gerentes possam manter os padrões perfeitamente. Vincular as etapas do fluxo de trabalho pode proporcionar uma melhor experiência ao desenvolvedor e levar a um ciclo de vida de desenvolvimento de software (SDLC) mais eficiente.
Um portal interno para desenvolvedores oferece uma melhor experiência ao desenvolvedor e produz melhores resultados para as equipes de engenharia de plataforma. Mas para aproveitar ao máximo os pilares do portal (catálogo de software, ações de autoatendimento, scorecards e dashboards), é preciso encontrar uma forma de conectar os pilares, automatizando todo o processo.
É por isso que os portais internos para desenvolvedores precisam de automação. As automações fornecem a orquestração de processos necessária para criar fluxos de trabalho contínuos, reduzir a intervenção manual e manter as proteções organizacionais. Eles ajudam as equipes de engenharia a obter ainda mais valor de seus portais internos para desenvolvedores.
Vamos detalhar o que são automações e o que você pode fazer com elas.
O que as automações podem fazer
Elimine tarefas repetitivas
As automações podem lidar com tarefas como limpezas, gerenciamento de permissões e encerramento de ambientes de desenvolvimento não utilizados. Tradicionalmente, essas tarefas exigem supervisão manual, scripts ad hoc ou tarefas cron, levando a erros e riscos de segurança. Por exemplo, negligenciar a revogação do acesso de um ex-funcionário pode levar à exposição de dados confidenciais. Da mesma forma, não encerrar um ambiente de desenvolvimento não utilizado pode resultar em despesas desnecessárias com a nuvem.
As automações podem garantir que o acesso seja revogado para ex-funcionários ou encerrar automaticamente os ambientes após a expiração de um tempo de vida (TTL) predefinido.
Alertas e notificações eficientes
As automações melhoram o gerenciamento de alertas, garantindo que as informações corretas cheguem à pessoa (ou pessoas) relevante no momento ideal. aqui estão alguns exemplos:
Alertas e notificações para desenvolvedores
As automações fornecem aos desenvolvedores informações relevantes do catálogo, ajudando-os a concluir tarefas com o contexto de que precisam em mãos.
Você pode notificar os desenvolvedores sobre:
- Revisões de pull request pendentes, alertando-as quando a solicitação estiver em revisão por muito tempo
- Atualizações de status de implantação, incluindo implantações bem-sucedidas e com falha, permitindo que eles reajam e identifiquem problemas rapidamente
- Mudanças nas dependências quando serviços ou componentes são modificados e suas dependências são afetadas.
Alertas e Notificações para Gestores
As automações fornecem aos gerentes as informações de que precisam para compreender e gerenciar melhor o desempenho e as metas de sua equipe. Eles receberão automaticamente um link para a seção relevante no catálogo de software, permitindo-lhes identificar rapidamente quaisquer problemas.
Alguns exemplos incluem ser informado sobre objetivos de nível de serviço (SLOs) não atendidos, degradação do desempenho ou aumento dos custos da nuvem.
Alertas e notificações para segurança e SREs
Alertar as equipes de segurança e engenharia de confiabilidade do site (SRE) permite que elas respondam rapidamente a problemas críticos.
Por exemplo, alertar a equipe de segurança sobre uma vulnerabilidade crítica que afeta um ativo de alta prioridade ou notificar os SREs sobre padrões incomuns de comportamento do sistema, permitindo resposta e mitigação rápidas.
Aplicação de políticas
A automação envolve muito mais do que eliminar tarefas rotineiras, acelerar processos ou enviar alertas. A automação também pode ajudar a aplicar políticas organizacionais de forma consistente, integrando essas políticas diretamente em seus fluxos de trabalho de desenvolvimento.
Você pode definir:
- Limites de consumo de recursos: acione fluxos de trabalho de aprovação quando um desenvolvedor exceder os limites de recursos; por exemplo, se tentarem criar um terceiro ambiente de desenvolvimento em um mês específico. Isto também pode depender de outros fatores; por exemplo, conceder aprovação automática caso o desenvolvedor esteja na empresa há mais de dois anos.
- Acesso just-in-time: Conceda e revogue automaticamente o acesso à produção para engenheiros de plantão durante seus turnos.
Aplicação no mundo real: gerenciamento de incidentes
Considere um cenário de alerta crítico às 3 da manhã.
Sem automações, o engenheiro de plantão terá que:
- Avaliar o impacto, incluindo a gravidade do problema e o impacto na preparação e na produção.
- Coordenar com as partes interessadas: Eles normalmente abririam um ticket de incidente e vasculhariam documentação desatualizada para tentar identificar proprietários, dependências e partes interessadas.
- Investigue o problema: Eles serão imediatamente colocados em segundo plano, à medida que as informações são espalhadas por inúmeras ferramentas e painéis. Depois de analisar a integridade da infraestrutura, os logs do Kubernetes e as implantações recentes, eles descobrem que uma implantação recente está causando o problema, pois está causando um aumento no uso de memória.
- Busque aprovações para remediação: Quando uma reversão é necessária, a solicitação de mudança pode levar muito tempo para ser aprovada.
- Resolver e comunicar: Eles implantam uma reversão e o sistema volta ao normal. Agora o engenheiro precisa atualizar manualmente as partes interessadas, com uma visão geral do incidente, seu impacto e as medidas de resolução tomadas.
Resumindo, o processo leva algumas horas; na verdade, o engenheiro precisa se preparar para voltar ao trabalho, pois é o início de um novo dia de trabalho.
Esta é uma forma estressante de lidar com incidentes; é ineficiente, pode levar a erros ao longo do caminho e impõe muita responsabilidade ao engenheiro de plantão.
Agora vamos revisitar aquele cenário das 3 da manhã, mas com automações integradas ao processo:
- Alertas rápidos e direcionados: o alerta crítico aciona uma automação que notifica imediatamente o engenheiro de plantão designado, enfatizando a natureza de alta prioridade do problema.
- Criação perfeita de incidentes: a automação abre prontamente um incidente no sistema de gerenciamento de incidentes, como PagerDuty, Opsgenie, preenchendo-o com detalhes essenciais do catálogo de software.
- Comunicação simplificada: um canal do Slack específico para incidentes é configurado automaticamente, convidando todos os proprietários de serviços, membros da equipe e partes interessadas relevantes. Isso elimina a necessidade de buscas frenéticas para reunir as pessoas certas.
- Investigação centralizada: o engenheiro de plantão recebe um link direto para o catálogo do portal dentro do canal de incidentes, permitindo acesso rápido a dependências de ativos, implantações recentes e painéis de monitoramento. Eles identificam imediatamente um pico de memória após uma implantação recente.
- Correção de autoatendimento eficiente: com todas as informações necessárias em mãos, o engenheiro inicia uma reversão por meio de uma ação de autoatendimento no portal. Dado o seu status de plantão, a reversão é aprovada automaticamente e a automação também garante que o acesso à produção seja revogado quando o turno terminar.
- Resolução e comunicação automatizadas: após a conclusão bem-sucedida da reversão e a estabilização do sistema, a automação atualiza o status do incidente no canal Slack e no sistema de gerenciamento de incidentes, notificando todas as partes interessadas e fechando o ciclo.
Às 3h30, o engenheiro resolveu efetivamente o incidente, economizando um tempo precioso e minimizando o impacto nos negócios. Eles podem voltar a dormir, confiantes de que o sistema está estável e que todas as partes estão informadas.
Como funcionam as automações
As automações consistem em gatilhos (eventos em seu catálogo de software) e ações (lógica executada quando os gatilhos ocorrem). As ações suportadas incluem webhooks, fluxos de trabalho GitHub, pipelines GitLab, Terraform Cloud e Azure Pipelines, entre outros. Quando ocorre um evento acionador, o portal executa automaticamente a ação associada, garantindo uma orquestração de processos contínua e escalonável.
Conclusão
As automações redefinem a forma como você gerencia seu SDLC, desde a automatização de tarefas tediosas até o fornecimento de alertas inteligentes e a aplicação de políticas. Eles fornecem uma orquestração de processos coesa e completa que capacita suas equipes a trabalhar de maneira mais inteligente e eficiente.
Quer ver como funcionam as automações para seus desenvolvedores internos? Reserve uma demonstração com o Porto, aqui.
A postagem Por que os portais internos de desenvolvedores precisam de automação apareceu pela primeira vez em The New Stack.