DevOps não é um método nem uma ferramenta, é uma cultura



DevOps é a prática de engenheiros de operações e desenvolvimento participando juntos de todo o ciclo de vida do serviço, desde o projeto, passando pelo processo de desenvolvimento, até o suporte à produção. Trazer agilidade ao sistema pode ser considerado uma cultura DevOps.

A cultura é frequentemente ignorada e mal compreendida, mas é um fator-chave responsável pelo desempenho de uma empresa. Se não gerenciarmos nossa cultura, acabaremos praticando práticas erradas que afetarão nossos objetivos de negócios.

Compreender a cultura atual de uma organização

A cultura nos fala sobre os valores e normas dentro de um grupo ou empresa. Ele identifica o que é importante e também como as pessoas se aproximam e trabalham umas com as outras.





CULTURA = “Como as coisas podem ser feitas de forma inteligente para o sucesso”

Vejamos o exemplo de uma equipe de suporte ao cliente. A cultura dessa equipe deve ser tal que eles acabem alcançando 97-98% de satisfação do cliente.



como usar o pacote em java

Tendo em vista o encantamento do cliente, antes de mais nada é preciso ser educado, mesmo em situações difíceis precisam ser bons ouvintes para evitar confusão, precisam priorizar o trabalho conforme a necessidade.

Vamos parar por um momento e fazer algumas perguntas a nós mesmos:

  • Qual é a cultura da minha empresa agora?
  • Quão bem essa cultura está alinhada com meus objetivos de negócios ou KRAs?
  • Que problemas posso esperar devido ao desalinhamento?

Para cada organização, os 4Cs desempenham um papel vital



4C de organização

Agora, vamos examinar a cultura de uma organização de desenvolvimento de software. Existem muitas equipes envolvidas na construção e manutenção de uma única unidade de software. Todas essas equipes têm objetivos distintos e cultura distinta.

Este processo inicia após a confirmação dos requisitos pelo cliente.

Os desenvolvedores seguem as diretrizes de codificação definidas por sua organização e ferramentas de programação como compiladores, intérpretes, depuradores, etc, são usadas para gerar o código. Diferentes linguagens de programação de alto nível, como C, C ++, Pascal, Java e PHP são usadas para codificação.

Eles dividem o pacote completo em pequenas pastas e desenvolvem pequenos códigos de acordo.

Estágio 1 : Essas pequenas unidades de códigos são então batidas para formar uma grande unidade. Ao integrar os chips menores, um teste de nível de projeto deve ser executado conhecido como teste de integração.

Estágio 2 : Após a integração bem-sucedida, ele é implantado em um sistema fictício. Este sistema fictício tem configuração semelhante à da máquina cliente ou à máquina onde este projeto deve ser finalmente implantado.

Etapa 3 : Finalmente, após testar todos os recursos em um sistema fictício, o projeto é implantado no servidor de produção ou na máquina cliente.

Embora este processo pareça ser muito suave e fácil em palavras, em termos técnicos é muito difícil de conseguir.

Vamos ver quais problemas podemos enfrentar:

Estágio 1 :

O cliente está sempre em busca de mudanças para melhorar a qualidade do produto. Na maioria das vezes, quando a primeira iteração foi concluída, o cliente irá sugerir algumas mudanças. Quando os desenvolvedores recebem as alterações, eles começam a incorporá-las, o que impacta a integração levando a compilações quebradas.

Etapa 2:

Na maioria das vezes, os testadores ou outros caras da operação não estarão cientes das novas mudanças a serem feitas. Assim que obtêm o código dos desenvolvedores, eles começam a testá-lo. Enquanto no back-end, os desenvolvedores ainda estão fazendo as mudanças.

Como eles não têm tempo suficiente para implementar novas mudanças, eles acabam desenvolvendo códigos ineficientes, eles enfrentam outros problemas de rede e banco de dados que novamente atrasam seu tempo de entrega.

Quando eles finalmente entregam os códigos para a equipe de operações, eles têm um tempo mínimo para criar e implementar novos casos de teste. Portanto, eles ignoram muitos dos casos de teste que, mais tarde, percebem que eram de alta prioridade.

Etapa 3:

Embora virtualmente a construção pareça estar pronta para entrar em produção, os resultados são completamente inesperados. A compilação falha e ocorrem vários bugs.

Então, para cada bug ocorrido, eles devem rastrear porque isso ocorreu, onde ocorreu, quais mudanças precisam ser feitas para superá-lo, haverá mudanças nos códigos de outros para torná-los compatíveis com os anteriores. Finalmente, para todos esses bugs, um relatório de bug deve ser gerado.

A falha é por causa de erros de sistema devido à ignorância do desenvolvedor do banco de dados na eficiência do código, ignorância do testador no número de casos de teste, etc.

Como o cliente sempre mantém os prazos apertados, os funcionários envolvidos em alcançá-los só se concentram na liberação final, mesmo que tenham que comprometer a qualidade geral.

Embora isso pareça ser um problema de coordenação de trabalho, isso na verdade é o fracasso da cultura adotada.

Isso acontece devido à grande dependência de processos manuais. Correr para lá e para cá na mesma equipe por falta de conhecimento de diferentes áreas, falta de acesso ou pode haver falta de interesse aumenta nosso próprio fardo e dor.

Já é hora de sermos versáteis. Pode ser difícil dominar todos os processos envolvidos em um sistema, mas podemos ser o macaco de todos, dominando um deles. Só então podemos automatizar nosso sistema ou torná-lo inteligente o suficiente para recuperar em vez de reverter.

Agora, você pode estar pensando por quê?

É porque aquele que você está dominando é altamente dependente dos outros. Portanto, para saber sobre o ponto de dependência, precisamos entender todo o sistema.

Então, vamos pensar em um processo para mudar a cultura. Antes disso, você tem a resposta para as perguntas abaixo?

  • Onde sua cultura atual falha?
  • Por que você deseja mudar o processo?
  • Você identificou claramente todas as mudanças necessárias?
  • Você obteve feedback e aceitação de todas as partes interessadas afetadas?
  • Você revalidou a disciplina de processo, dados e sistema de medição para a mudança?

Então, agora que temos a resposta para todas, pensamos em uma revolução em nosso sistema. Como essa revolução ocorrerá? Só pode ser alcançado quando matarmos o que somos agora. Muito tempo é perdido na migração de código entre as equipes. Temos que trazer o processo onde possamos fazer integração e implantação contínuas.

Esse processo de integração e implantação contínuas o torna mais ágil. Trazer essa agilidade é considerado uma cultura DevOps.

DevOps é a prática de engenheiros de operações e desenvolvimento participando juntos de todo o ciclo de vida do serviço, desde o projeto, passando pelo processo de desenvolvimento, até o suporte à produção.

diferença java entre hashmap e hashtable

Não é fácil mudar o sistema de trabalho ao longo do tempo. Fazer uma transição bem-sucedida é renovar o sistema, em vez de reconstruí-lo.

Agora vamos ver como podemos conseguir isso. Pode haver duas formas de abordagem.

1) De cima para baixo

2) De baixo para cima

Mergulhando mais profundamente nessas técnicas, perceberemos qual é a mais adequada para nossa organização.

Na abordagem de cima para baixo, podemos ir para a alta administração e pedir a eles que façam mudanças em todas as equipes. Se a gerência estiver convencida, podemos começar a trabalhar nisso.

Mas a probabilidade de obter a resposta “NÃO” é bastante alta. É porque mudar o sistema pode levar a organização à instabilidade.

Eles têm que olhar para a estrutura da organização, receita, nível de interesse do cliente, etc. Mas o fator mais importante que os puxa de volta do antigo sistema é que eles não podem ver o grande imagem do que pode ser alcançado e como isso pode ser feito com facilidade com o mais recente.

Nesse caso, podemos procurar a segunda abordagem para obter esse quadro geral.

A abordagem ascendente exige um voluntário. Aqui temos que pegar uma pequena equipe e uma pequena tarefa e executá-la no modelo DevOps.

Olhando para o lado técnico deste modelo, temos vários conjuntos de ferramentas sofisticadas que tornam o trabalho mais eficiente e rápido. Mas, as ferramentas sozinhas não são capazes de criar um ambiente colaborativo conhecido como DevOps.

A criação de tal ambiente exige que você pense fora da caixa, por exemplo, avaliando e realinhando como as pessoas pensam sobre suas equipes, o negócio e os clientes.

Reunir um novo conjunto de ferramentas é mais simples do que mudar a cultura organizacional. Promovendo os desenvolvedores mestres anti-sociais, permitindo a integração de código ineficiente, implantando códigos que não foram devidamente testados, culpando uns aos outros, considerando a equipe de operações estúpida não são as melhores práticas que seguimos para viabilizar o negócio e criar valor para nossos clientes.

Não são as ferramentas, mas as pessoas que as utilizam, que tornam o processo complexo. Dizer em um nível abstrato, em vez de coletar idéias e comportamentos, estar aberto a eles nos leva a um caminho brilhante.

Vamos começar com uma equipe de 6 membros e uma história de 3 pontos. Primeiro, temos que quebrar a equipe que chamamos de desenvolvedores, operações, testadores, etc. Consideramos todos eles como um, digamos “DevOps”. Quando recebemos os requisitos, precisamos analisar as zonas de risco. Tendo em mente as seções mais profundas do mar e do inferno .. Começamos a navegar.

Agora, você deve estar pensando “qual é o fator x dessa integração contínua e implantação contínua que diminui a probabilidade de falha”.

converter binário para decimal java

Com a visão e o processo aprimorados, podemos abordar a gestão colocando uma imagem clara dos resultados, como a fluidez do processo, como o risco de falha foi reduzido, como a tarefa foi concluída antes do cronograma, etc.

Agora, podemos visualizar claramente como todo o processo foi otimizado no terreno técnico e cultural, tendo uma retrospecção após cada iteração.

Edureka tem curadoria especial que ajuda você a dominar conceitos sobre Puppet, Jenkins, Ansible, SaltStack, Chef entre outros.

Tem alguma questão para nós? Mencione-os na seção de comentários e entraremos em contato com você.

Postagens relacionadas: