Oque é esse tal de DevOps?

Tempo de leitura: menos de 1 minuto

Se você é antenado em maneiras de inovar o seu ambiente, em maneiras de melhorar seu time, com certeza já ouviu falar em DevOps, mas oque seria esse DevOps?
DevOps, é um conjunto de pessoas, processos e ferramentas que nos permitem agilizar o ciclo de vida de uma aplicação. Como o próprio nome sugere, é uma aproximação entre os times de Desenvolvimento e Operações, buscando criar uma melhor sinergia entre os times, e melhorando consequentemente a qualidade do software desenvolvido.

Ciclo DevOps

A imagem acima, ilustra bem oque o DevOps propõe, as partes em azul, são as atribuições provenientes do time de desenvolvimento, já as em amarelo, ao time de operações. Podemos notar claramente nesta imagem, que devemos permanecer em um ciclo constante, ambos os times, devem estar sempre informados sobre as necessidades do outro time, entre outras questões.

Embora atualmente tenhamos uma maior movimentação quanto a DevOps, algumas empresas já o utilizam a muito tempo e nem mesmo sabem disso. Porque eu digo que algumas empresas já utilizam? Porque, algumas empresas prezam por essa sinergia entre os times de desenvolvimento e operações, sempre buscam qualidade e agilidade no desenvolvimento de software, para estas empresas, elas precisariam apenas ser lapidadas, para aperfeiçoarem seus processos.
Implantar DevOps, ajuda muito a melhorarmos a qualidade de nosso software, pois passamos a adotar uma série de premissas que nos “forçam” a desenvolver melhor. Alguns destes pontos seriam:

  • Qualidade de código: seguir uma arquitetura, um padrão no desenvolvimento e boas praticas;
  • Fontes centralizados: Controle de versionamento;
  • Testes Unitários: testes de software a nível de desenvolvimento;
  • Testes automatizados;
  • Compilação automatizada;
  • Implantação Automatizada;
  • Monitoramento de software em produção;
  • etc.

Entretanto, para que possamos colocar tudo isso em funcionamento, acabamos encontrando sempre alguns “empecilhos” nas empresas, a questão cultural.

Times de Desenvolvimento e Operações

Porque falo de questões culturais? Porque, é muito comum encontrarmos um cenário de “discórdia”, entre os times de desenvolvimento e operações, pois como vemos na imagem a cima, existe uma “barreira” entre os dois times, eles não se comunicam, e embora caminhem para um mesmo destino, que seria o bom funcionamento dos processos da empresa, acabam percorrendo caminhos afastados.
Por exemplo, quando sai uma nova versão de framework, ou uma nova versão do Java por exemplo, o desenvolvedor fica doido para atualizar os softwares, e pede que o time de operações atualize em todos os servidores, mas, o time de operações, buscando sempre o bom funcionamento da aplicação e dos servidores, acaba segurando esse tipo de solicitação, com o receio de que acabe parando as aplicações. Esse tipo de problema, ocorre exatamente pela falta de comunicação entre os dois times.

Então, você que agora está lendo este artigo, não adianta chegar no seu chefe, e falar que a partir deste momento vocês irão trabalhar com DevOps, pois não será do dia para a noite que isso irá funcionar. Para que consiga implementar com sucesso, precisa ir aos poucos incluindo novos procedimentos, e também, realizar a iteração dos times de desenvolvimento e operações, faze-los se comunicar, para que saibam claramente as necessidades uns dos outros.
Se você deseja implementar DevOps, vimos um pouco a cima, alguns pontos que precisamos seguir, certo? Vamos ver aqui, algumas ferramentas que podem nos auxiliar nesta transição:

  • Controle de Versões: Team Foundation Server;
  • Qualidade de Código: SonarQube;
  • Compilação Automatizada: Team Build (Team Foundation Server);
  • Implantação Automatizada: Visual Studio Release Management;
  • Monitoração: Application Insights;
Ferramentas

Trabalhando com esses softwares, conseguimos iniciar nossos trabalhos com DevOps, conseguimos ter métricas de qualidade, build’s automaticas, deploy’s automáticos, e também, uma monitoração poderosa, mas, como meu amigo Ramon Durães diz, “DevOps não é bala de prata”, se você acha que DevOps vai solucionar todos os seus problemas, não vai. DevOps não é algo mágico, que acabará com todos seus problemas relacionados a desenvolvimento de software, mas irá melhorar exponencialmente seus processos e seu software, e ainda tem o fato, que acabamos com aquela “briga” entre os times de nossa empresa.

Quer saber mais sobre DevOps? Então veja estes links:

MVA DevOps Topics

Microsoft DevOps

Application Insights

Gestão do Código Fonte

Artigos sobre Release Management

SonarQube