O que é DevOps?

Por
4 min. de leitura

1. O QUE É DEVOPS?

DevOps é a integração entre desenvolvimento (development) e operações (operations), promovendo a colaboração em tarefas que envolvem tanto o desenvolvimento de aplicações quanto as operações de TI. Seu objetivo é melhorar a comunicação, alinhar mudanças culturais e incentivar a confiança entre desenvolvedores e administradores de sistemas, ao mesmo tempo em que ajusta os projetos tecnológicos às necessidades de negócios.

O DevOps melhora a qualidade de software, acelera os processos de desenvolvimento e alinha as iniciativas tecnológicas aos objetivos de negócios. Ele facilita a colaboração entre equipes, o desenvolvimento iterativo e a melhoria contínua, resultando em produtos de maior qualidade, menor tempo de entrega e aumento da competitividade no mercado.

  • Colaboração: Quebra barreiras organizacionais e promove o trabalho em equipe;
  • Desenvolvimento: Habilita ciclos de desenvolvimento rápidos e responsivos;
  • Qualidade: Assegura testes contínuos, reduzindo falhas e aumentando a disponibilidade;
  • Implantação: Automatiza o provisionamento e a gestão de versões para facilitar lançamentos.

2. FUNCIONAMENTO DO DEVOPS

O DevOps opera como um ciclo contínuo, passando por estágios como planejamento, codificação, testes, implantação e monitoramento. Envolve integração contínua e entrega contínua (CI/CD), automação e comunicação entre desenvolvedores, operações e outras partes interessadas. Esse processo iterativo permite flexibilidade, feedback rápido e melhorias constantes ao longo do ciclo de vida do desenvolvimento de software.

A diagram of a software development process

Description automatically generated

3. COMPONENTES DO DEVOPS

O DevOps é composto por várias etapas e ferramentas essenciais:

  • Planejar (Plan): As equipes definem requisitos, metas de negócios e funcionalidades, criando um plano claro e alinhado com as demandas do mercado;
  • Desenvolver (Develop): Os desenvolvedores escrevem o código colaborativamente, seguindo boas práticas e utilizando ferramentas de controle de versão;
  • Construir (Build): O código é compilado e integrado em um aplicativo executável, utilizando ferramentas automatizadas para garantir eficiência;
  • Testar (Test): O software é testado por meio de testes automatizados para garantir que funcione corretamente e esteja de acordo com o planejado;
  • Liberar (Release): O software testado é preparado para ser entregue aos usuários ou transferido para o ambiente de produção;
  • Implantar (Deploy): O software é implementado no ambiente de produção de forma automatizada, garantindo entregas rápidas e seguras;
  • Operar (Operate): O software é operado em produção, com suporte contínuo e manutenção para garantir sua eficiência;
  • Monitorar (Monitor): O sistema é monitorado em tempo real para garantir desempenho adequado e identificar possíveis problemas, permitindo ações rápidas quando necessário.

4. METODOLOGIAS, PRINCÍPIOS E ESTRATÉGIAS DO DEVOPS

As metodologias, princípios e estratégias do DevOps modernizam as práticas de desenvolvimento de software:

  • Pipelines de CI/CD: Automatizar testes e implantações, acelerando o ciclo de entregas;
  • Infraestrutura como Código (IaC): Facilitar a escalabilidade e a replicação da infraestrutura de maneira eficiente;
  • Arquitetura de microserviços: Aumentar a modularidade e a flexibilidade, adaptando-se rapidamente às mudanças;
  • Site Reliability Engineering (SRE): Assegurar alta confiabilidade e resiliência contra falhas;
  • Metodologias ágeis: Fomentar o desenvolvimento iterativo e a colaboração próxima com os clientes.

5. FERRAMENTAS DO DEVOPS

O uso das ferramentas certas é necessáriopara uma implementação bem-sucedida do DevOps:

  • Repositórios de Código: Ferramentas como Git para colaboração e gerenciamento de código;
  • Motores de Pipeline CI/CD: Jenkins e GitLab para automação da construção, teste e entrega de software;
  • Containers: Docker para garantir o deployment consistente com containerização;
  • Gestão de Configuração: Ansible e Terraform para automatizar o provisionamento de infraestrutura;
  • Ambientes de Nuvem: AWS, Azure e Google Cloud para suporte a infraestruturas escaláveis;
  • Monitoramento: Ferramentas como New Relic e Prometheus fornecem insights sobre o desempenho e a saúde de aplicações.

6. DIRETO DO CONCURSO

1. (CESPE/CEBRASPE/BANRISUL/Suporte à Infraestrutura de Tecnologia da Informação/2022) Julgue o item que se segue, acerca de DevOps.

Os processos envolvidos no DevOps são denominados, respectivamente, de planejar, construir, testar, codificar, operar, avaliar e relatar.

COMENTÁRIO

No contexto do DevOps, os processos ou fases geralmente seguem uma sequência padrão que inclui:

Planejar (Plan): Definição de requisitos e metas.

Codificar (Develop): Desenvolvimento do código.

Construir (Build): Compilação do código e criação do executável.

Testar (Test): Validação do software por meio de testes automatizados.

Liberar (Release): Preparação para distribuição do software.

Implantar (Deploy): Colocação do software em produção.

Operar (Operate): Manutenção e operação contínua do software em produção.

Monitorar (Monitor): Acompanhamento do desempenho e monitoramento do sistema em produção.

Dessa forma, o item está incorreto ao mencionar “avaliar” e “relatar”, e também por não seguir a ordem típica de fases como “codificar” e “testar”. O ciclo DevOps também envolve a fase de monitoramento, que não foi mencionada no item.

Errado.

2. (CESPE/CEBRASPE/BNB/Analista de Sistemas – Infraestrutura e Segurança da informação/2022) Considerando a figura a seguir, julgue o próximo item, acerca dos conceitos de DevOps.

Imagem associada para resolução da questão

A entrega contínua (CD) no DevOps é o processo de automatização que inclui a configuração e implantação de um aplicativo em um pipeline de produção, mas não abrange a compilação e o teste.

COMENTÁRIO

A entrega contínua (CD) no DevOps é o processo que abrange toda a automação necessária para garantir que um aplicativo esteja sempre pronto para ser implantado em produção. Isso inclui as fases de compilação e teste, além da configuração e implantação.

Na prática, a entrega contínua envolve um pipeline automatizado que compila o código, executa testes automatizados (unitários, de integração etc.), e prepara o software para a implantação, garantindo que o código esteja sempre em um estado pronto para ser liberado em produção. Portanto, a entrega contínua não exclui a fase de compilação e testes, que são parte integral do processo de garantir que o software esteja pronto e funcionando corretamente antes de ser liberado.

Errado.

3. (VUNESP/UFABC/Analista de Tecnologia da Informação/2023) No contexto de DevOps, a prática de gestão de configuração conhecida como Infrastructure As Code consiste em

a) salvar snapshots de máquinas virtuais para reproduzir ambientes necessários para execução ou teste de aplicações.

b) utilizar ferramentas de desenvolvimento baseadas nos conceitos de no code e low code.

c) criar documentos formais que funcionam como manuais explicativos, em linguagem natural, sobre como criar ambientes necessários para uma determinada aplicação.

d) definir ou descrever ambientes contendo redes, servidores, máquinas virtuais, balanceadores de carga e outros recursos de computação em arquivos texto que possam ser lidos por ferramentas de automação.

e) utilizar servidores em nuvem baseados em máquinas virtuais no lugar de servidores físicos on-premises para hospedar a execução de aplicações.

COMENTÁRIO

A prática de Infrastructure as Code (IaC), no contexto de DevOps, envolve a definição de infraestrutura (como redes, servidores, balanceadores de carga, máquinas virtuais etc.) por meio de arquivos de configuração em formato de texto, que podem ser gerenciados como código-fonte. Esses arquivos são lidos por ferramentas de automação (como Terraform, Ansible ou CloudFormation), que criam e gerenciam a infraestrutura de maneira automatizada e repetível. Isso facilita a configuração e a reprodução de ambientes em diferentes estágios de desenvolvimento (desenvolvimento, teste, produção), garantindo consistência e controle de versão.

Letra d.

Por
4 min. de leitura