collaboration devops
Colaboração em DevOps:
Pequenos incrementos de entregas em DevOps foi explicado em detalhes em nosso tutorial anterior.
Sabemos que o mantra principal do DevOps é a colaboração e, portanto, a palavra DevOps chegou.
Ler através => Tutoriais aprofundados de DevOps
Colaboração é unir-se como uma única equipe para resolver qualquer problema no programa, o que impede o programa de manter o foco no cliente em mente e resolvê-lo reconhecendo-o como seu próprio problema o mais rápido possível, sem nenhum jogo de culpa.
software de recuperação de dados grátis windows 10
A colaboração ensina todos a falar uns com os outros, se encontrar cara a cara, se envolver em suas reuniões, discussões, entender as tarefas uns dos outros, a dependência e ter transparência no trabalho e trabalhar de forma proativa para prevenir os problemas.
VÍDEO Parte 2 Bloco 5: Colaboração - 15 minutos 36 segundos
Transcrição:
O termo colaboração é repetido várias vezes no DevOps e o mantra do Devops é colaboração. Então, vamos entender o que 'colaboração' realmente significa no contexto de desenvolvimento de software e DevOps.
Na minha opinião, assim que uma organização diz, estamos implementando DevOps, automaticamente o pensamento de colaboração que está ligado à prática de devops surge na mente de todos e os torna mais focados e alertas para a colaboração e eles começam a sentir que precisam colaborar . Essa é a magia da colaboração.
Portanto, iniciar a colaboração DevOps desde o início do projeto é muito essencial para a organização e a equipe. A equipe, quero dizer, membros da equipe do programa.
Vou explicar alguns casos em que vi Dev colaborando com Ops e ops colaborando com a equipe de dev para que possamos saber o que realmente significa colaborar no contexto DevOps.
Esta é a representação da instância um.
Houve uma instância em que houve algum problema desconhecido no script de instalação ou script de configuração que a equipe de ops estava encontrando um desafio para instalar o software em uma configuração específica de um cluster em uma determinada geografia.
Estava lançando algum erro desconhecido e era um problema de produção puro, que nunca ocorreu no ambiente de desenvolvimento e a equipe de operações realmente se esforçou para resolvê-los por conta própria pensando que é algo relacionado à configuração e que eles precisam resolver isso, que não foi resolvido por um bom tempo.
Então imediatamente a equipe de desenvolvimento entrou em ação sem nem mesmo ser convidada para ajudar, embora o fuso horário fosse diferente, assumiu o controle do local de produção, você sabe, geralmente o acesso à produção não será dado a todos, Ops apenas compartilha o erro detalhes ou qualquer outra informação que a equipe precisa para fins de depuração.
Mas essa situação é necessária para dar acesso a um dos membros da equipe de desenvolvimento, que dedicou algumas horas analisando o problema ao vivo e forneceu soluções imediatas e, portanto, o problema foi resolvido rapidamente.
Esta é a instância da colaboração em que a equipe de desenvolvimento voluntariamente assumiu o problema e ajudou a equipe de operações a resolvê-lo. Esta é uma instância pura de colaboração.
Da mesma forma, outra instância, deixe-me mostrar isso em diagrama, que desenhei. Outro exemplo é que as coisas estavam funcionando muito bem após a atualização do software em um determinado site por alguns dias, de repente o desempenho do aplicativo começou a diminuir.
Os usuários finais começaram a enfrentar graves perdas transacionais devido a essa lentidão. Muitos telefonemas de reclamação começaram a chegar aos CSRs, ou seja, representantes de atendimento ao cliente e eles, por sua vez, começaram a acompanhar a equipe sobre o assunto.
Nesta instância, imediatamente as equipes de Dev e Ops se reuniram e, com as informações e os detalhes de telemetria fornecidos pela equipe de Ops à equipe de desenvolvimento, eles puderam depurar o problema e identificar que havia algum problema no aspecto de compartilhamento de carga e portanto, o desempenho foi lento.
Então, as duas equipes trabalharam juntas para corrigir o problema e trazê-lo de volta à normalidade em poucas horas. Então, aqui tanto o Dev e o Ops juntos se apresentaram e colaboraram juntos para resolver o problema, em vez do Dev dizendo seu problema de Ops e Ops pensando que é um problema do Dev e a equipe de dev precisa olhar e consertá-lo.
Esta é a instância clara de colaboração em que todos são donos dos problemas, em vez de jogar o jogo da culpa, independentemente de quem seja o problema ou perder tempo em descobrir de quem é o problema, tendo em mente que o usuário final está sofrendo e o problema precisa a ser corrigido em breve.
Então, novamente aqui, o problema não precisa ser apenas da produção, pode ser qualquer problema de desenvolvimento de software interno simples, tão simples como o problema do dia a dia, ou um problema de design, ou um problema de arquitetura, ou mesmo um simples problema de ferramenta.
Qualquer problema relacionado ao programa ou qualquer problema que a equipe saiba que está causando danos ao cliente ou retardando o programa deve ser propriedade de todos, em vez de isolar o problema de que é um problema de desenvolvimento ou problema de operação ou teste, e contribuir para que ela seja tratada o mais rápido possível, é uma colaboração.
Portanto, a colaboração no contexto de DevOps é o desenvolvimento e as operações se unindo e trabalhando juntos para resolver o problema o mais cedo possível, mantendo o foco no cliente em mente.
Colaboração é tanto Dev quanto Ops controlando o que está acontecendo ao vivo, monitoramento e registro e verificação de desempenho estão no topo para resolver o problema que ocorre especialmente na produção no interesse do usuário final.
OU simplesmente, posso dizer, que toda a equipe, trabalhando constantemente em conjunto para resolver o problema e atingir os objetivos do programa, mantendo o foco no cliente em mente, é a colaboração. Repito, trabalhar constantemente em conjunto para resolver os problemas a fim de atingir os objetivos do programa mantendo o foco no cliente em mente é a colaboração.
Então surge uma pergunta: como desenvolvemos essa colaboração e quando precisamos iniciar a colaboração entre a equipe, que está a quilômetros de distância uma da outra ??
Obviamente, sabemos que o Dev e o Ops não podem co-localizar. A equipe de operações precisa estar mais perto do local de trabalho ou dos data centers, e o desenvolvedor precisa estar mais perto do centro de desenvolvimento de software. Então, como alcançamos a colaboração constante entre as duas equipes ??
Em primeiro lugar, iniciar a colaboração DevOps desde o início do projeto é muito essencial para a organização e a equipe. A equipe que quero dizer aqui são os membros da equipe do programa.
Praticar algumas das coisas a seguir ajudaria a preencher a lacuna entre a equipe e a superar a limitação das equipes virtuais, além de ajudar a alcançar a colaboração.
Então, vamos ver quais são as práticas que ajudam a alcançar a colaboração.
Envolva o Desenvolvimento em todas as reuniões e discussões relevantes da equipe de Operações e vice-versa.
Isso não só os aproxima, mas também ajuda a compreender cada uma de suas áreas de trabalho, seus problemas do dia a dia e como seu trabalho está impactando um ao outro, e quais são as coisas críticas que cada um deve cuidar para evitar os problemas mais tarde e portanto, os aproxima e sempre inicia uma discussão confortável entre eles.
Antes da introdução da prática DevOps, a equipe de desenvolvimento nunca se preocupou em entregar o software para Operações. Você sabe que eles costumavam ser ignorantes ou nunca se importavam com coisas como infraestrutura, configurações, configurações de servidor, configurações de rede, monitoramento de apresentações ao vivo, etc.,
Eles costumavam pensar que todas essas atividades são responsabilidades da equipe de operações e que a equipe de desenvolvimento nunca soube disso. Anteriormente, a entrega para a equipe de desenvolvimento significava ser entregue apenas para a equipe de Operações, mas com a prática de DevOps, a entrega significa para a produção e não apenas para as operações.
Da mesma forma, ops nunca se preocupou com o código que a equipe de desenvolvimento estava produzindo. Qualquer problema que eles enfrentam durante a instalação do software, funcionalidade ou problemas de desempenho na produção, eles simplesmente costumavam passar a responsabilidade para a equipe de desenvolvimento e pedir-lhes para consertar e devolvê-lo.
Portanto, conhecer o trabalho de cada um e entender sua tarefa e reconhecer os problemas de cada um ao longo do ciclo ajuda a equipe a resolver os problemas rapidamente.
Porque eles sabem onde está o problema e o que está acontecendo no programa e o que está causando o problema na produção e, portanto, podem ir diretamente e corrigi-lo sem muita dificuldade.
Portanto, colaboração significa que a equipe de desenvolvimento precisa entender a infraestrutura e a configuração, e a equipe de operações precisa se preocupar com o código, a qualidade, a entrega e os prazos.
Compreender a dependência um do outro ajudará a acelerar o trabalho e entregá-lo no prazo.
Como durante a instalação do software, a equipe de operações depende de uma equipe de desenvolvimento para resolver quaisquer problemas relacionados à instalação. Da mesma forma, durante a codificação, a equipe de desenvolvimento depende de uma série de pré-condições que existem ao vivo para a equipe de operações fornecer para cuidar durante o processo de codificação.
Outro Exemplo é que a equipe de teste depende da equipe de operações para fornecer dados de amostra ao vivo da produção para teste. Detalhes de configuração do ambiente a serem definidos no ambiente de desenvolvimento etc.
Assim, ambas as equipes precisam colaborar entre si e entender a dependência uma da outra e fornecer os dados ou informações em tempo hábil sem causar nenhum atraso, tendo em mente o fator de fuso horário.
Mantenha a transparência adotando as práticas de DevOps, como controle de origem ou controle de versão, que permite que a equipe entenda tudo sobre o programa e ajuda a evitar mal-entendidos.
Então, isso basicamente é manter a transparência dentro da equipe.
Os membros da equipe não precisam depender de nenhum indivíduo ou de qualquer informação específica, digamos, se alguém quiser saber a configuração definida em um nó específico do cluster, portanto, não precisam esperar que a equipe de operações acorde e fornecer esses detalhes a eles, em vez disso, eles podem ir para a ferramenta de controle de versão e obter essas informações e podem concluir a tarefa sem qualquer demora.
Aprender uns com os outros, especialmente com os erros dos outros, é a maior característica da colaboração. Para que não repitam esses erros cometidos por outra pessoa.
Portanto, desenvolvimento é aprender com a operação e operações é aprender com o desenvolvimento, seja uma nova tecnologia, ferramenta, ou fazer algo de uma forma mais simples e melhor. Onde em ambos estão na mesma página e, portanto, colaboram uns com os outros, aprendendo um com o outro.
As operações sempre sentiram que a equipe de desenvolvimento é muito lenta e não conseguem entregar no prazo, agora que estão interagindo com a equipe de desenvolvimento no dia a dia, eles entendem o que está causando o atraso, mesmo que seja menos clareza no requisitos, problema de design, problema de codificação ou qualquer outro problema de ferramenta.
Mesmo eles estão contribuindo e fornecendo sugestões valiosas para melhorar.
Além disso, no caso de qualquer problema na produção ou no site de desenvolvimento, o DevOps introduz uma cultura de primeiro consertar o problema do que tentar descobrir quem ou qual equipe introduziu esse problema. E assim todos tentam se concentrar em resolver o problema, em vez de perder tempo tentando descobrir quem causou o problema.
Então, pare de culpar e considerar o problema de cada um como seu e se apresentar para resolvê-los juntos e apoiar o problema, apoiar uns aos outros durante seus problemas é novamente uma colaboração.
Então, posso dizer, pare de culpar o jogo, o jogo de culpa é uma característica da colaboração mais uma vez.
Quando todos começam a pensar comumente na mesma direção, mesma mentalidade e trabalhando nos mesmos aspectos e práticas é novamente uma colaboração como sempre que algum novo recurso é desenvolvido, todos pensando em como testar isso, como implantar isso, como monitorar isso, é uma colaboração.
Então, pensando comumente, dentro da equipe é uma característica da colaboração mais uma vez.
Vamos fazer uma pausa agora e entender um pouco mais sobre colaboração em nosso próximo vídeo.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Como desenvolver colaboração em equipes DevOps
- Importância de pequenos incrementos de entregas em DevOps
- Integração contínua em DevOps
- Implantação contínua em DevOps
- Entrega contínua em DevOps
- Automação DevOps: como a automação é aplicada na prática DevOps
- Tutorial de DevOps: o guia definitivo para DevOps (mais de 25 tutoriais)
- Tutorial de teste de DevOps: como o DevOps afetará os testes de controle de qualidade?