O que é DevOps? Princípios, Práticas e Ferramentas

Muitas vezes a área de Tecnologia torna-se palco de uma verdadeira sopa de letrinhas e termos em inglês que parecem ser complicados, mas, às vezes, são simples e de fácil entendimento. Afinal o que é DevOps?

O termo DevOps, além de ser uma combinação de filosofias culturais, práticas e ferramentas é também a combinação etimológica das palavras Dev – Desenvolvimento de Software – e Ops – Operações de TI – que enfatizam a comunicação dessas áreas com a área de testes, trabalhando em conjunto para realizar práticas de entrega de Software e mudanças de Infra-Estrutura com confiabilidade no código.

Devops
DevOps

Princípios DevOps

A Cultura DevOps é uma extensão das filosofias do Movimento Agile (ou Desenvolvimento Ágil de Softwareque nasceu em 2000 através da necessidade de diminuir o Time-To-Market (Duração Do Processo De Desenvolvimento De Produto), ver  Manifesto Agil. 

É importante entender que o DevOps é uma maneira de pensar e não apenas um conjunto de ferramentas que devem ser utilizadas no processo de entrega contínua. Essa mudança cultural às vezes se torna difícil devido ao conflito nos papéis das equipes envolvidas, como desenvolvedores que buscam mudanças, operações que buscam estabilidade organizacional e equipes de testes preocupados com a segurança. Fazer com que esses times trabalhem de forma homogênea é um desafio crítico na adoção do DevOps.

Práticas DevOps

Para aplicação dos processos Devops, é necessário: gerenciamento de configuração, sistemas de testes e compilação, implantação de aplicativos, controle de versão e ferramentas de monitoramento. Através desses processos e ferramentas temos as práticas de Continuous Integration (Integração Continua), Continuous Delivery (Entrega Contínua) e Continuous Deployment (Implantação Continua).

Ferramentas DevOps

Para que sejam realizadas as práticas DevOps, é necessária a utilização de algumas ferramentas:

Repositório De Código-Fonte

Logo Git

Um repositório de código-fonte é um local onde desenvolvedores acessam e alteram os códigos do projeto compartilhando-os.

Um repositório gerencia e realiza o versionamento do código. Saiba mais através desse post onde falo sobre versionamento com o Git.

 

Servidor De Compilação

O servidor de compilação é uma ferramenta de automação que compila o código no repositório de código-fonte em base de código executável. Ferramentas populares são: Jenkins, SonarQube e Artifactory.

Gerenciamento de Configuração

Gerenciamento de configuração define a configuração de um servidor ou de um ambiente.  Algumas das ferramentas mais populares são: Puppet e Chef.

Infra-Estrutura Virtual

Logo Aws

Amazon Web Services e o Microsoft Azure são exemplos de infra-estruturas virtuais. As infraestruturas virtuais são fornecidas por fornecedores de nuvem que vendem infra-estrutura ou plataforma como um serviço (PaaS).

As Infra-estruturas virtuais combinadas com ferramentas de automação auxiliam nos testes de sua aplicação, assim você pode enviá-lo para a sua infra-estrutura de nuvem, construir o ambiente e, em seguida, executar todos os testes sem intervenção humana.

Automação de Testes

Os testes realizados em uma cultura DevOps visam concentrar-se em testes automatizados dentro do seu pipeline de compilação para garantir uma build estável pronta para ser implementada. Em um processo de Continuous Delivery, você deve garantir a qualidade do código e estabilidade da entrega. Ferramentas populares para testes são: Selenium, Junit, etc.

Resumão

 

Conheciam o termo DevOps? Deixe seus comentários e quem sabe podemos falar mais sobre o assunto.

 

Revisado por: Romário Sergio

Carlos Eduardo B. Souza

Carlos Eduardo, 23 anos,técnico em Gestão Empresarial, estudante de Sistemas para Internet - FATEC-Carapicuíba, gosta de se aventurar no mundo do Design e um apaixonado por cinema, jogos e poker.