Construção de software: Organizações com Alta Performance

DevOps

A velocidade é um item imprescindível quando o assunto é competitividade. Em termos de software, automatizar o máximo que der lista a diferença entre ter sucesso ou ter fracasso com relação aos concorrentes. Implementações como Continuous Integration/Continuous Delivery CI/CD. O fato é Organizações de Alto Desempenho tornam o trabalho visível. O video abaixo, referente a um curso sobre DevOps, explica a primeira parte sobre CI/CD.

Outra coisa é a promoção de um ambiente colaborativo. Uma estrutura de DevOps trabalha em um fluxo contínuo de processos. Vamos aos dados: organizações de alto desempenham fazem em média 30 deploys a mais que organizações de baixo desempenho, tem 60 falhas em média por projeto, com um tempo médio de recuperação e controle de código mais rápido. O foco do devops é em ter o controle de todo o processo.

Assim vamos colocar alguns pontos:

  1. Teste
  2. Integração
  3. Automação
  4. Retorno Rápido
  5. Desenvolvimento com vários programadores

Isso faz parte de uma ideia e de uma série de metodologias. Claro as coisas são implementadas aos poucos, o foco porém é em produção de software de forma performática. Como então cada um dos itens acima ajudam na confecção de um software específico.

No primeiro caso testes são a validade das ideias. Isso tem um poder em longo prazo. Escrever testes é infinitamente mais chato que fazer o final feliz, mas imagine um sistema grande onde multiplas partes do código se interconectam. Nessa hora, e é aqui que se você não fizer testes cruze os dedos, que você agradecerá. A taxa de erros e bugs diminuem numa escala ascendente.

A integração continua se resume em uma única coisa: scripts automatizados que testam, validam e empacotam o código. Antigamente linkar e customizar um processo era extremamente demorado além de ser um tipo de tarefa que um script pode fazer. Tecnologias como virtualização, contâineres vieram para facilitar ainda mais o processo de integração. Além disso existe o Deploy ou a Entrega que é como o software será distribuido.

A automação é uma parte do processo em geral. Tarefas, geralmente repetitivas que apresentam um padrão de ocorrência, podem sofrer alterações no decorrer do tempo. Tudo o que puder ser automatizado deve ser.

Com relação ao retorno rápido é até compreensível devido aos seguintes problemas: se algo deu errado todos devem saber o mais rápido possível para que possa ser corrigido.

E por último, o mais importante: Aprender a trabalhar com múltiplos desenvolvedores Essa é a mágica do processo.


Este artigo é uma transcrição do link DevOps Fundamentals: High-Performing Organizations

Blog Comments powered by Disqus.
Morto por uma máquina: Therac-25 Utilizando o Alexa para Abrir uma garagem