Você está na página 1de 16

Instituto Superior

de Administração e Finanças

DESENVOLVIMENTO DE
SOFTWARE

DEVOPS

LUANDA, 20 DE junho DE 2023


Instituto Superior
de Administração e Finanças

DESENVOLVIMENTO DE
SOFTWARE

DEVOPS
Docente: Lukau Garcia

INTEGRANTES
Isaura Mendes-205536
Ivalda Cateco-201247

LUANDA, 20 DE junho DE 2023


RESUMO
O presente trabalho tem como objetivo explorar o conceito de DevOps, uma abordagem
que busca integrar os times de desenvolvimento e operações de uma organização para
melhorar a colaboração, a eficiência e a qualidade do software entregue. Serão
discutidas as práticas e as ferramentas do DevOps, com foco especial na integração
contínua e na entrega contínua. Os seus benefícios e desafios da implementação do
DevOps nas organizações.
Conteúdo
EMBASAMENTO TEORICO ............................................................................................................................ 6
HISTÓRIA DO DeVops ............................................................................................................................... 6
OS PROBLEMAS QUE LEVARAM A CRIACÃO DO DEVOPS ....................................................................... 7
COMO FUNCIONA O DEVOPS ................................................................................................................... 8
CULTURA DE DevOps ................................................................................................................................ 9
DevOps CICLO DE VIDA DAS APLICAÇÕES .............................................................................................. 10
FERRAMENTAS DO DevOps .................................................................................................................... 12
IMPORTÂNCIA DO DevOps NA CRIACAO DE SOFTWARE ...................................................................... 13
VANTAGENS DevOps............................................................................................................................... 13
DESVANTAGENS DO DevOps .................................................................................................................. 14
CONCLUSÃO ................................................................................................................................................ 15
REFERÊNCIAS BIBLIOGRAFICAS .................................................................................................................. 16
5

INTRODUÇÃO

DevOps é uma abordagem moderna de desenvolvimento de software que combina as


práticas de desenvolvimento de software (Dev) e operações de infraestrutura (Ops). Essa
abordagem permite que as equipes de desenvolvimento e operações trabalhem juntas
de forma mais colaborativa e eficiente, a fim de criar, testar e implantar software de
maneira mais rápida e confiável. O DevOps envolve a automação de processos, a
implementação de práticas de colaboração e a utilização de ferramentas modernas de
desenvolvimento, testes e implantação. Essa abordagem tem se tornado cada vez mais
popular devido à sua capacidade de melhorar a qualidade do software, aumentar a
eficiência do desenvolvimento e reduzir o tempo de lançamento no mercado.
6

EMBASAMENTO TEORICO

Tendo como base a mistura de desenvolvimento (Dev) e operações (Ops), DevOps é a


união de pessoa, processos e tecnologias para entregar valor aos clientes
continuamente.
O DevOps dá lugar a funções que anteriormente funcionavam em silos
(desenvolvimento, operações de TI, engenharia de qualidade e segurança) com o
objectivo de coordenar e colaborar para produzir produtos melhores e mais fiáveis.
Mediante a adoção de cultura de DevOps e de práticas e ferramentas de DevOps, as
equipas ganham a capacidade de responder melhor ás necessidades dos clientes, de
aumentar a confiança nas aplicações que criam e de atingir os objetivos de negócio mais
depressa.

O DevOps é uma abordagem que visa a integração e colaboração entre as equipes de


desenvolvimento de software e operações de infraestrutura. Essa prática tem se tornado
cada vez mais popular no mundo da tecnologia, graças aos seus benefícios na entrega
de software de forma mais rápida, confiável e eficiente.

HISTÓRIA DO DeVops

O DevOps é uma abordagem relativamente nova no mundo do desenvolvimento de


software, tendo surgido no início dos anos 2000. Embora o conceito de DevOps tenha
evoluído ao longo do tempo, a história dessa abordagem pode ser rastreada até as
origens da cultura ágil e da automação de processos.
O DevOps surgiu inspirado em movimentos como o desenvolvimento ágil, que nasceu
em 2001 e propunha o aperfeiçoamento contínuo e simplificado dos sistemas. Oito anos
mais tarde, profissionais de TI se reuniram num evento chamado Velocity Conference.

Tudo começou em 2008, Patrick Debois, começou a propor e fomentar a discussão de


métodos para solucionar conflitos entre as áreas de Desenvolvimento e Operações. Algo
que sempre esteve presente dentro das áreas de TI. A preocupação de como aumentar
a maturidade da gestão de infraestrutura, e sair de configurações manuais que travavam
a TI. Ele já estava trabalhando em implementar ideais de desenvolvimento de software
para atividades de infraestrutura, em sua palestra que manifestou em Toronto em 2008.
Em 2009, Patrick Debois toma conhecimento de uma palestra na conferencia da Velocity,
onde dois funcionários da Flickr fizeram um seminário chamado “10+ Deploys per day:
7

Dev and ops Cooperation at Flickr”. Nesta palestra, eles apresentaram os resultados
extraordinários, inimaginável para a época, quando resolveram discutir como resolver os
constantes conflitos entre as áreas de desenvolvimento e operações de IT, de forma que
os problemas possam ser resolvidos com mais agilidade dentro da Flickr. Esse seminário
pode ser considerado como o marco do início do Devops, onde Patrick Debois se inspira
para nomear o movimento inimaginável.

Em 2009, Patrick Debois dá seu ponta pé inicial na disseminação deste conceito pelo
mundo, criando em Ghent na Bélgica o primeiro DevOps Day, que ocorre até os dias de
hoje, porém atualmente em proporções mundiais. A partir disso tiveram diversos eventos
além do DevOps Days que deram continuação a evolução do Devops no tempo: Criação
de livros como “Entrega continua” e “projecto fênix”, entre outros.

OS PROBLEMAS QUE LEVARAM A CRIACÃO DO DEVOPS

O movimento DevOps surgiu como resultado de uma série de problemas no


desenvolvimento e entrega de software, incluindo:
➢ Silos organizacionais: As equipes de desenvolvimento e operações muitas vezes
trabalham em silos separados, o que leva a problemas de comunicação,
colaboração e coordenação.
➢ Processos manuais e demorosos: A implementação e entrega de software
costumavam ser processos manuais e lentos, exigindo muitas etapas manuais e
processos que tornavam todo o processo demorado e propenso a erros.
➢ Falta de visibilidade: sem a visão completa do ciclo de vida de desenvolvimento
e entrega de software, as equipes muitas vezes têm dificuldade para identificar
problemas, rastrear mudanças e monitorar o desempenho de aplicativos e
infraestrutura.
➢ Problemas de segurança: As equipes muitas vezes lutam para incorporar a
segurança em todo o ciclo de vida do desenvolvimento e entrega de software,
resultando em vulnerabilidades de segurança e riscos para a organização.

O DevOps surgiu para combater esses problemas, promovendo colaboração,


automação e monitoramento em todo o ciclo de vida do desenvolvimento e entrega
de software.
8

COMO FUNCIONA O DEVOPS

O DevOps funciona a partir do compartilhamento das responsabilidades, procedimentos


e processos, a fim de alcançar um objetivo em comum, o desenvolvimento de softwares
completos, funcionais e de qualidade.

Para tanto, é preciso monitorar e automatizar as etapas para a construção desses


sistemas, empregando ferramentas comuns que simplificam e harmonizam o trabalho.
Esses fatores dão autonomia para equipe única, formada por desenvolvedores e
operadores, conduzindo os processos da melhor forma, otimizando as tarefas e
valorizando os erros. Afinal, modelos ágeis são baseados em flexibilidade e testes
constantes, utilizando os erros para aperfeiçoar os programas.

Para que o DevOps seja incluído na cultura da empresa, é necessário, por um


lado, educar o time, enfatizando soft skills como a empatia. E, por outro, coordenar as
ações para que sejam empregadas ferramentas de otimização.

Esses mecanismos dão suporte a uma ou mais fases da criação e entrega de um


software, auxiliando em:

• Codificação
• Compilação
• Teste
• Release
• Deploy
• Configuração
• Monitoramento
• Planejamento.
9

CULTURA DE DevOps

Embora a adoção de práticas de DevOps automatize e otimize os processos através da


tecnologia, tudo começa com a cultura das organizações e das pessoas que nelas
intervêm. O desafio de promover uma cultura de DevOps exige alterações profundas na
forma como as pessoas trabalham e colaboram. Contudo, quando as organizações se
comprometem com essa cultura, criam o ambiente propicio para o desenvolvimento de
equipas altamente produtivas.

Colaboração: Uma característica de uma cultura saudável de DevOps é a colaboração


entre equipas, que começa com a visibilidade. Diferentes equipas, como
desenvolvimento e operações de TI, têm de partilhar os processos, as prioridades e as
preocupações em torno do DevOPs entre si. Tamém têm de planear o trabalho em
conjunto e de estar alinhados em termos de objetivos de sucesso relacionados com o
negócio.

Mudanças no âmbito e na responsabilidade: Quando as equipas estão alinhadas,


assumem a propriedade e passam a estar envolvidas em fazes adicionais do ciclo de
vida e não apenas nas fazes centrais respectivas funções. Por Exemplo, os
programadores passam a ser responsáveis não só pela inovação e qualidade
estabelecidas na fase de desenvolvimento, mas também pelo desempenho e
estabilidade que as alterações que fazem originam na fase de operações. Ao mesmo
tempo, os operadores de TI têm de incluir a governação e a conformidade nas fases de
planeamento e desenvolvimento.

Ciclo de lançamento mais curtos: As equipas de DevOps mantêm-se ágeis mediante


a disponibilização de software em ciclos curtos. Os ciclos de lançamentos mais curtos
facilitam o planeamento e a gestão de risco, pois o progresso é incremental, o que reduz
igualmente o impacto na estabilidade dos sistemas. O encurtamento do ciclo de
lançamento também permite que as organizações se adaptem e reagem as
necessidades mutáveis do cliente e á pressão da concorrência.

Aprendizagem contínua: As equipas de DevOps altamente produtivas estabelecem


uma mentalidade de crescimento. Falham e adaptam-se depressa e incorporam as
aprendizagens nos processos, melhorando continuamente, aumentando a satisfação do
cliente e acelerando a inovação e adaptabilidade ao mercado. O DevOps é um percurso,
pelo que há sempre espaça para crescer.
10

DevOps CICLO DE VIDA DAS APLICAÇÕES

O ciclo de vida de uma aplicação DevOps é um processo contínuo que envolve várias
etapas, desde o planejamento até a entrega do software. As etapas principais são:
1. Planejamento: Nesta etapa, os requisitos da aplicação são definidos e as decisões
são tomadas sobre a arquitetura, tecnologias e ferramentas a serem usadas.
Também é definido o cronograma de desenvolvimento e entrega.

2. Desenvolvimento: Nesta fase, o código-fonte da aplicação é criado e testado. Os


desenvolvedores trabalham em equipe, usando ferramentas de controle de
versão, como o Git, para colaborar e integrar seu trabalho.

3. Testes: A fase de testes envolve várias atividades, desde testes unitários e de


integração até testes de aceitação do usuário. Os testes são executados
automaticamente usando ferramentas de automação de testes, como o Selenium.

4. Implantação: Nesta fase, o software é preparado para implantação em produção.


A infraestrutura é configurada e os artefactos da aplicação são empacotados em
containers para facilitar a implantação.

5. Operações: Nesta etapa, a aplicação é implantada em produção e monitorada


para garantir que esteja funcionando corretamente. Os dados de monitoramento
são usados para identificar problemas e melhorar a performance.

6. Entrega contínua: A entrega contínua é um processo que automatiza a liberação


de novas versões de software para produção de forma rápida e segura. Isso
permite que as atualizações sejam incorporadas com mais frequência e rapidez.

7. Feedback dos usuários: A fase final do ciclo de vida envolve a obtenção de


feedback dos usuários para que possam ser feitas melhorias na aplicação. O
feedback é usado para aprimorar o software e dar início a um novo ciclo de vida.
11

Para além do estabelecimento de uma cultura de DevOps, as equipas dão vida a esta
abordagem mediante a implementação de determinadas práticas ao longo do ciclo de
vida das aplicações. Algumas destas práticas ajudam a acelerar, automatizar e melhorar
fases especificas. Outras são transversais a várias fases e ajudam as equipas a criar
processos suaves que melhoram a produtividade.

Existem diversas práticas que fazem parte da cultura DevOps, incluindo:

➢ Integração Contínua: é a prática de integrar o código produzido pela equipe de


desenvolvimento em um repositório compartilhado, de forma frequente e
automática, para garantir que o código esteja sempre atualizado e livre de
conflitos.

➢ Entrega Contínua: é a prática de automatizar o processo de compilação, testes


e implantação do software em ambientes de produção, permitindo que novas
funcionalidades sejam entregues rapidamente e com qualidade.

➢ Automação de Infraestrutura: é a prática de automatizar a criação e


configuração de ambientes de infraestrutura, utilizando ferramentas de
gerenciamento de configuração, como o Ansible, Chef ou Puppet.

➢ Monitoramento e Feedback: é a prática de monitorar constantemente o


desempenho do software em produção, coletando dados e feedback dos usuários,
para identificar problemas e oportunidades de melhoria.

➢ Colaboração e Comunicação: é a prática de promover a colaboração e


comunicação entre as equipes de desenvolvimento e operações, para garantir que
todos estejam alinhados em relação aos objetivos do projeto e trabalhem juntos
para alcançá-los.
12

FERRAMENTAS DO DevOps

Existem diversas ferramentas que fazem parte da cultura DevOps, cada uma com uma
finalidade específica. Algumas das principais ferramentas são:

▪ Git: é uma ferramenta de controle de versão de código fonte, amplamente


utilizada para a integração contínua e entrega contínua.

▪ Jenkins: é uma ferramenta de automação de integração contínua e entrega


contínua, que permite a criação de pipelines de automação de compilação,
testes e implantação do software.

▪ Docker: é uma plataforma de virtualização de containers, que permite a


criação de ambientes de desenvolvimento e produção isolados e portáteis.

▪ Ansible: é uma ferramenta de gerenciamento de configuração, que permite a


automação da criação e configuração de ambientes de infraestrutura.

▪ Nagios: é uma ferramenta de monitoramento de desempenho de sistemas,


que permite a coleta de dados e feedback dos usuários em tempo real.

▪ ELK Stack: é um conjunto de ferramentas de análise de dados de logs, que


permite a identificação de problemas e oportunidades de melhoria no software
em produção.

▪ Kubernetes: é uma plataforma de orquestração de containers, que permite a


gerência de clusters de containers em ambientes de produção.

Essas são apenas algumas das principais ferramentas utilizadas na cultura DevOps. O
importante é escolher as ferramentas que melhor atendam às necessidades do projeto
e da equipe, sempre visando a automação e integração de processos.
13

IMPORTÂNCIA DO DevOps NA CRIACAO DE SOFTWARE

A importância do DevOps na criação de software é enorme, pois ele permite que as


equipes de desenvolvimento e operações trabalhem juntas de forma mais colaborativa e
eficiente.

Com DevOps, é possível eliminar barreiras tradicionais entre essas equipes, permitindo
uma colaboração mais estreita e permitindo que tanto o desenvolvimento quanto a
operação do software sejam pensados e planejados em conjunto. Isso pode levar a uma
maior eficiência na entrega de software, permitindo que as organizações entreguem
software mais rapidamente e com menos erros.

Além disso, o DevOps também pode ajudar a melhorar a qualidade do software, pois as
equipes de desenvolvimento e operações trabalham juntas para testar, validar e
monitorar o software em produção. Isso pode ajudar a identificar problemas mais
rapidamente e resolvê-los antes que eles se tornem grandes problemas.

Em geral, o DevOps é importante porque ajuda as empresas a criar software de alta


qualidade com mais rapidez, eficiência e segurança, além de permitir uma colaboração
mais estreita entre as equipes de desenvolvimento e operações.

VANTAGENS DevOps

As equipas que adotam a cultura, as práticas e as ferramentas de DevOps tornam-se


altamente produtivos, criando produtos melhores mais depressa e aumentando a
satisfação do cliente.
Mais do que uma aproximação entre equipes, a cultura DevOps acaba combinando os
times de desenvolvimento e operações, de modo que se tornam um só grupo.

E essa cooperação adiciona outras vantagens para as empresas de tecnologia, como:

▪ Segurança: O DevOps ajuda a proteger as aplicações e dados contra-ataques


virtuais;
▪ Agilidade nas entregas: As equipes que praticam DevOps trabalham melhor com
mais rapidez;
▪ Aumento da confiabilidade: O DevOps simplifica as respostas a incidentes e
melhora a colaboração e a comunicação entre as equipes;
▪ Colaboração entre equipes: O DevOps melhora a colaboração e a comunicação
entre as equipes;
14

▪ Redução de custos: O DevOps simplifica processos e reduz o tempo para


entregas, o que pode levar a uma redução de custos;
▪ Melhoria do suporte operacional e rápida resolução de erros;
▪ Bons processos entre a TI e as equipes de desenvolvimento, incluindo
automação;
▪ Acréscimo de flexibilidade e agilidade para a equipe;
▪ Equipe mais feliz e engajada;
▪ Um maior trabalho colaborativo;
▪ Troca de conhecimento e autoaperfeiçoamento;
▪ Ambientes de desenvolvimento bem definidos e padronizados por automação.

DESVANTAGENS DO DevOps

▪ Maior complexidade: A adoção do DevOps muitas vezes pode levar a um aumento


da complexidade na infraestrutura de TI de uma organização. Ao integrar
várias ferramentas e tecnologias no processo de desenvolvimento de software, as
empresas podem criar um ambiente de produção mais complexo que é difícil de
gerenciar e solucionar problemas. Além disso, o DevOps pode exigir que as
organizações invistam em recursos adicionais de hardware e software, o que pode
aumentar ainda mais a complexidade e os custos.
▪ Falta de padronização: As empresas que adotam o DevOps podem precisar criar
seus próprios processos e conjuntos de ferramentas personalizados, o que pode ser
demorado e caro. Além disso, a falta de padronização pode levar à confusão entre os
funcionários sobre a melhor forma de usar as técnicas de DevOps.
▪ Escassez de engenheiros e profissionais experientes em DevOps: A adoção
generalizada de DevOps levou a uma escassez de engenheiros e profissionais
experientes em DevOps. À medida que as empresas correm para implementar o DevOps
em suas organizações, muitas vezes são forçadas a recorrer à contratação de
funcionários ou consultores menos experientes. Isso pode levar a problemas com a
qualidade do desenvolvimento e implantação de software.
▪ Aumento de Custos: A adoção do DevOps muitas vezes pode levar ao aumento dos
custos para as empresas. Ao exigir a compra de recursos adicionais de hardware e
software e a contratação de profissionais experientes em DevOps, as empresas podem
ver um aumento significativo em suas despesas de TI. Além disso, a complexidade de
um ambiente de DevOps muitas vezes pode levar a problemas com a confiabilidade e o
desempenho de aplicativos essenciais aos negócios.
15

CONCLUSÃO

Em resumo, o DevOps é um conjunto de práticas e ferramentas que tem revolucionado


o ciclo de vida de desenvolvimento de software. Com a abordagem DevOps, as equipes
de desenvolvimento e operações trabalham juntas de maneira colaborativa e integrada,
visando a entrega de software de alta qualidade, de forma rápida e segura. Essa
abordagem permite a melhoria contínua de processos e aprimoramento da experiência
do usuário. O DevOps é uma tendência crescente no mundo da tecnologia e tem se
mostrado fundamental para o sucesso das empresas que buscam inovação e agilidade
no mercado.
16

REFERÊNCIAS BIBLIOGRAFICAS
História do DevOps | Atlassian
O que é o DevOps? O DevOps explicado | Microsoft Azure
DevOps: tudo o que você precisa saber está aqui! (vibetecnologia.com)

Você também pode gostar