Você está na página 1de 4

O que é DevOps?

IFPE-Instituto Federal de Pernambuco Campus Recife


Curso: Análise e Desenvolvimento de Sistemas
Aluno: Arthur Henrique Santana de Lima
Matéria: Iniciação a Informática
Professora: Renata Freire

A cultura DevOps é uma prática relativamente nova, nascida em 2008 quando Patrick Debois
e John Allspaw se encontraram numa palestra intitulada “10 deploys per day at Flickr: Dev
and Ops colaboration” acontecida em Ghent na Bélgica. A partir de tal união, foram criadas
diversas idéias de implementação da cultura ágil que havia crescido de maneira exponencial
pós os ideais do manifesto ágil se popularizarem em empresas e ambientes de
desenvolvimento. Vendo tal genialidade, e também vendo a necessidade da implementação de
tais práticas no ambiente de infraestrutura,pois enquanto as práticas das metodologias ágeis
estavam entre os desenvolvedores(Devs),que :

● Entregar o que o cliente solicita (requisitos)


● Entregar no tempo acordado
● Depende da equipe de infra para realizar seu trabalho
● Configuração de ambientes, deploys, rollbacks, backups e restore
● Sua preocupação: Agregar valor ao negócio

Os profissionais responsáveis pela parte de Operação(Ops):

● Administra, monitora e opera os sistemas, serviços e infraestrutura


● Sustenta ambientes de teste, homologação e desenvolvimento para o devel
● Sua missão: Manter tudo funcionando de forma estável
● Apóia o devel nos processos de Deploy e Rollback
● Tem que cumprir o Acordo de nível de serviço (SLA/ANS) para diversos sistemas
● Sua preocupação é proteger o valor do negócio.

Com isso, as duas partes que formam a infraestrutura necessária para poder justamente por
em prática o projeto, acabavam por distoar em seus contextos e práticas, onde enquanto um
havia agilidade, o outro estava bem longe disso. Sabendo disso, haviam conflitos no
processo,pois:

● Desenvolvedores quer subir novas versões rapidamente


● Sysadmins querem ter certeza que a aplicação está estável antes de subir
● Desenvolvedores querem entregar os novos recursos ao cliente
● Sysadmins querem evitar incidentes e downtime

Sabendo disso, a cultura do DevOps passou a surgir e ser desenvolvida em busca da idéia de
“Infraestrutura Ágil”, que visava:

● Infra precisa evoluir e começar a trabalhar de forma ágil


● Infra como código
● Deploy automatizado de aplicações
● Deploy de ambientes e infra de forma automatizado
● É necessário fazer em minutos o que antes fazíamos em dias manualmente

Sabendo desses principios e ideais, a comunidade de infraestrutura evoluiu tanto em


pensamento, quanto em tecnologia, visando justamente a equipe de desenvolvimento e de
operações trabalharem em conjunto, para poder evitar conflitos e desentendimentos no
processo de entrega de software,criando o ciclo de vida do DevOps:

Onde, respectivamente, cada um dos processos do DevOps são:

● Plan (Planejar):

O que é: Nesta fase, as equipes definem os objetivos do projeto, requisitos e


estratégias. Planejamento de recursos, cronogramas e metas também são elaborados.
Objetivo: Estabelecer uma visão clara e direção para o projeto, garantindo que todos
estejam alinhados.

● Code (Codificar):

O que é: Durante esta etapa, os desenvolvedores escrevem o código-fonte do software


com base nos requisitos definidos na fase de planejamento. Objetivo: Criar uma base
de código funcional e eficiente.

● Build (Construir):

O que é: A compilação do código-fonte para transformá-lo em um artefato executável,


como um binário ou um pacote de software. Objetivo: Criar uma versão executável do
software que possa ser testada e implantada.

● Test (Testar): O que é: Realização de testes, incluindo testes unitários, de integração e


testes automatizados, para garantir que o software funcione conforme o esperado.
Objetivo: Identificar e corrigir problemas antes da liberação para produção.
● Release (Liberar):

O que é: Preparação para a entrega do software, incluindo a documentação necessária


e a versão final do código. Objetivo: Garantir que a versão a ser implantada seja
estável e pronta para produção.

● Deploy (Implantar):

O que é: Colocar o software em um ambiente de produção ou em outro ambiente


designado. Objetivo: Tornar o software acessível aos usuários finais.

● Operate (Operar):

O que é: Gerenciar e manter o ambiente de produção, aplicando correções,


atualizações e garantindo a estabilidade contínua.Objetivo: Garantir que o sistema
esteja funcionando de maneira eficiente e confiável.

● Monitor (Monitorar):

O que é: Acompanhamento constante do desempenho do sistema, coleta de métricas e


identificação proativa de problemas. Objetivo: Garantir a detecção precoce de
problemas e otimizar continuamente o desempenho do sistema.

Sabendo desses princípios num ciclo de vida do DevOps, foram criadas tecnologias em prol
de ajudar cada um desses projetos no ciclo de vida do DevOps, se baseando suas evoluções
tecnológicas em 4 principios gerais:

● Infraestrutura Como Código


● Orquestração de Servidores
● Controle de versões compartilhadas
● Ambiente de Desenvolvimento,Teste e Produção

Onde falando sobre cada um desses pontos, temos por:

1. Infraestrutura Como Código


a. uma abordagem em que a configuração e a gestão da infraestrutura de TI são
tratadas usando código. Em vez de configurar manualmente servidores e
recursos, as configurações são expressas por meio de scripts ou arquivos de
código. Esse código pode ser versionado, testado e automatizado,
proporcionando consistência, rastreabilidade e eficiência na implantação e
gestão da infraestrutura.
b. Ferramentas: Terraform,Ansible,Saltstake,Kubernetes e etc

2. Orquestração de Servidores
a. gerenciamento coordenado e automatizado de múltiplos servidores para
implementar, manter e otimizar infraestruturas de TI. Isso envolve a execução
de tarefas específicas em servidores distribuídos de maneira centralizada e
coordenada.
b. Ferramentas: Docker,Kubernetes e etc
3. Controle de versões compartilhadas
a. prática de gerenciar e controlar as diferentes versões de um projeto de
software ou de qualquer conjunto de arquivos que são compartilhados por uma
equipe de desenvolvimento
b. Ferramentas: Git,Gitlab,SubVersion
4. Ambiente de desenvolvimento, teste e produção
a. Ambiente de Desenvolvimento
i. Codificação: Escrever novos códigos ou modificar códigos existentes.
ii. Testes Locais: Realizar testes unitários e de integração no ambiente de
desenvolvimento local.
iii. Colaboração: Trabalhar em conjunto com outros membros da equipe
usando controle de versões compartilhado.
b. Ambiente de Teste
i. Testes Funcionais: Verificar se as funcionalidades estão conforme os
requisitos.
ii. Testes de Desempenho: Avaliar a resposta do sistema sob diferentes
cargas.
iii. Testes de Segurança: Identificar vulnerabilidades no código.]
c. Ambiente de Produção
i. Implantação: Transferir o código do ambiente de teste para o ambiente
de produção.
ii. Monitoramento: Acompanhar o desempenho e a integridade do sistema
em produção.
iii. Manutenção: Aplicar correções de bugs e atualizações conforme
necessário.

Em conclusão, o DevOps representa uma transformação fundamental na cultura,


processos e ferramentas associadas ao desenvolvimento e à operação de software. Ao
integrar equipes, promover automação e enfatizar princípios como colaboração e
feedback constante, o DevOps busca superar desafios históricos na entrega de
software, permitindo respostas ágeis, maior eficiência e melhorias contínuas. A
implementação bem-sucedida do DevOps não apenas acelera o ciclo de vida do
desenvolvimento, mas também contribui para a estabilidade, confiabilidade e
inovação constantes nas organizações modernas. No cerne do DevOps está o
compromisso com a entrega contínua de valor aos usuários finais, tornando-se uma
prática essencial na busca por excelência na engenharia de software.

Fontes:O que é DevOps? ; O que é o DevOps? DevOps explicado | Microsoft Azure ; O que
é DevOps? | IBM ; O que é DevOps? - Amazon Web Services

Slides:
https://www.canva.com/design/DAF1y7p3P6k/BVj1DVFzelYQSH6BeIL17Q/edit?ut
m_content=DAF1y7p3P6k&utm_campaign=designshare&utm_medium=link2&utm_
source=sharebutton

Você também pode gostar