Buscar

1632863941661

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

20/09/2021
1
Infraestrutura Ágil
Mudanças na Infraestrutura Ágil
Ma. Patrícia Valério Martinez
• Unidade de Ensino: 02.
• Competência da Unidade: Infraestrutura com Código, Conceito 
Pipeline, Hospedagem de Código-Fonte, Ferramenta da 
Infraestrutura Ágil, Gestão de Configuração e Monitoramento de 
Serviço.
• Resumo: O conceito de mudanças para a Infraestrutura Ágil.
• Palavras-chave: Infraestrutura, Pipeline, Código-Fonte, Ágil e 
Serviço.
• Título da Teleaula: Infraestrutura Ágil.
• Teleaula nº: 02.
Contextualizando
• Infraestrutura com Código;
• Conceito Pipeline;
• Hospedagem de Código-Fonte;
• Ferramenta da Infraestrutura Ágil;
• Gestão de Configuração;
• Monitoramento de Serviço.
Infraestrutura com 
Código
• O mundo da tecnologia está em constante evolução e 
justamente por isso, os processos de como entregamos essa 
tecnologia também evolui, se transforma. 
• Devops engloba toda a forma como produzimos software e 
como podemos atender a demanda dos clientes de maneira 
mais assertiva e fazendo entregas mais ligeiras do que como 
o método tradicional fazia.
Cultura DevOps
• A forma tradicional, planejava grandes entregas que tinha 
prazos e escopo definidos no momento da criação do 
projeto. 
• Isso não está mais atendendo a demanda, que passou a 
pressionar o mercado por uma agilidade de desenvolvimento 
e um escopo mais aberto, exigindo entregas cada vez mais 
rápidas. 
Cultura DevOps
1 2
3 4
5 6
20/09/2021
2
• Essa exigência do mercado, acabou por culminar no que 
chamamos de metodologias ágeis, que visavam substituir as 
metodologias tradicionais de desenvolvimento de software. 
O mercado já vinha tentando utilizar métodos mais ágeis de 
desenvolvimento há algum tempo, mas somente em 2001, 
que foi batizado o termo como metodologias ágeis, quando 
um grupo de especialistas se juntaram nos EUA para discutir 
como poderiam agilizar os processos de desenvolvimento, e 
desse encontro nasceu o manifesto para Desenvolvimento 
Ágil de Software.
Cultura DevOps
• Nesse manifesto, basicamente foram determinados que o 
foco do desenvolvimento do software, deveria ser os 
indivíduos e interações, o software estar executável, a 
colaboração do cliente e as respostas rápidas a mudanças e 
alterações. 
Cultura DevOps
• Essa foi a pedra fundamental para a mudança de paradigma 
de toda a indústria de software, porém enquanto o mundo 
do desenvolvimento estava trabalhando dessa forma, a 
forma como se entregava e operava a infraestrutura, ainda 
seguia um processo engessado que exigia uma série de 
controles, para garantir que nada fosse alterado que 
pudesse gerar problemas e indisponibilidades as aplicações 
em produção.
Infraestrutura
• Começou a criar barreiras para a agilidade que se propunha 
com o método ágil, se não temos a infraestrutura disponível 
também de maneira ágil, perdemos um tempo precioso para 
as entregas do software.
• Existiam assim duas abordagens diferentes e conflitantes, o 
desenvolvimento precisando fazer entregas cada vez mais 
ágeis e a operação de TI que tinha por objetivo manter toda 
a infraestrutura ativa e disponível e para isso precisava 
manter o mínimo de alterações no ambiente como um todo.
Infraestrutura
• Com isso, ocorre o surgimento de um movimento chamado 
de Devops, afim de remover as barreiras entre as equipes 
do desenvolvimento e de operações, propondo uma 
abordagem de colaboração e interação entre os times, 
desde a concepção da aplicação até sua entrega em 
produção.
Cultura DevOps
• Para se atingir este objetivo, algumas ferramentas e técnicas 
foram criadas. Em especial a ideia de criar esteiras de 
entrega de software, conhecidas como pipelines de entrega, 
que automatizam uma série de testes e implantações para 
tornar a disponibilização, configuração e os retornos da 
infraestrutura um processo automatizado e prático.
Infraestrutura com Código
7 8
9 10
11 12
20/09/2021
3
• Quando você pensa em automação, o que vem à sua 
cabeça? 
• Se pensar como a indústria, a automação é desde os robôs 
que montam veículos até aqueles que montam pequenas 
peças eletrônicas que seriam impossíveis de serem feitas 
manualmente, a automação veio para ficar. 
Automação
• Por exemplo, um robô construindo um veículo, tem que ter a 
capacidade de perceber diferenças para poder se 
autocorrigir e não agir igual em todos os casos. 
Automação
• A automação na parte de tecnologia, não é simplesmente 
criar scripts para tornar automático um processo que faria 
manualmente. Isso já era feito enchendo os servidores de 
scripts. O problema era que ao fazer isso, apenas quem 
tinha criado o script, sabia de fato o que ele fazia e para 
qual propósito ele tinha sido feito. Tornando as manutenções 
e migrações um verdadeiro caos.
Infraestrutura com Código
• A automação vem ligada a ideia que é de tornar a 
infraestrutura como um código sigla IaC - NFRASTRUCTURE 
AS CODE, ou seja, Infraestrutura com Código.
• Não basta apenas encher seu servidor de scripts para ter 
automação, você deve transformar sua infra em código, a 
ponto de poder simplesmente destruir seu servidor em 
produção e subir um igualzinho em poucos minutos.
Infraestrutura com Código
• Com uma automação ligada a ideia de infra como um 
código, você consegue criar ambientes inteiros 
automaticamente e já configurados para uso. 
Infraestrutura com Código
• Na Infraestrutura com Código, você pode criar ambiente de 
homologação idênticos ao de produção, rodar testes de 
todos os tipos nesse ambiente para simular o 
comportamento em produção, se recuperar rapidamente de 
desastres e incidentes, ao ponto de ter o mínimo de 
indisponibilidade, o compartilhamento e agrupamento das 
configurações em um único repositório de código, 
possibilitando a revisão e avaliação do que é feito no 
ambiente e diversas outras possibilidades.
Infraestrutura com Código
13 14
15 16
17 18
20/09/2021
4
• A principal vantagem dessa utilização estará ligada a 
preparação dos ambientes.
• A infraestrutura como código trará codificações que são mais 
simples e ao mesmo tempo conseguem ser seguras. Sempre 
fazendo o uso das soluções disponíveis no mercado, ou seja, 
facilita a gestão dos times de operações.
Vantagem da Infraestrutura com Código
Conceito de Pipeline
• O pipeline é um conceito que tem ligação com a automação, 
a ideia é criar uma forma de empacotar softwares desde sua 
concepção até a sua entrega no ambiente de produção de 
maneira automática.
Conceito de Pipeline
• O conceito de pipelines vão vir ligados aos termos resumidos 
na abreviação (CI/CD), que significam Continuos Integration
e Continuos Delivery, ou, Integração Contínua e Entrega 
Contínua.
Conceito de Pipeline
• Nasce diretamente do conceito de metodologias ágeis.
• A integração contínua é uma prática de desenvolvimento de 
software em que os membros de uma equipe integram seu 
trabalho com frequência, geralmente cada pessoa se integra 
pelo menos diariamente, levando a várias integrações por 
dia. Cada integração é verificada por um build automatizado 
(incluindo teste) para detectar erros de integração o mais 
rápido possível.
Conceito de Pipeline
• Para que exista integração contínua entre os 
desenvolvedores e não ter conflitos no código, podemos 
utilizar ferramentas de controle de versões como o Git.
• A integração contínua é a etapa onde várias pessoas 
diferentes, geram códigos que depois são mesclados em um 
código único.
Conceito de Pipeline
19 20
21 22
23 24
20/09/2021
5
• Mas o que isso tem a ver com a infraestrutura? 
• A infraestrutura ágil trata como um código e seriam vários 
analistas Devops criando códigos da infra, como redes, 
servidores, discos e integrando tudo em repositórios de 
código, unificando e compartilhando as informações entre si.
Conceito de Pipeline
• A entrega contínua, seria quando o código está integrado o 
suficiente, maduro, testado e é liberado uma versão 
(release) segura, para implantação do software para a 
produção, mas necessita deuma aprovação para que isso 
ocorra. 
• A implantação contínua, seria a automação de todo o 
processo de entrega desse software em produção, sem 
interação ou aprovação. 
Conceito de Pipeline
Conceito de Pipeline
• Quando juntamos os processos, temos:
Desenvolvimento Ágil
• A metodologia ágil é um modelo e uma filosofia que
propõe alternativas a gestão de projetos tradicional e
tem a função de aprimorar o processo de
desenvolvimento de um produto ou serviço. O objetivo
final é fazer entregas com rapidez e com maior
frequência, conforme surgem as necessidades do cliente.
• O desenvolvimento ágil é uma abordagem em que
softwares são desenvolvidos de forma colaborativa, com
equipes multidisciplinares que têm um bom nível de
autonomia na execução de seus trabalhos.
Integração Contínua
• É uma prática de desenvolvimento de software que visa
tornar a integração de código mais eficiente, através de
testes automatizados.
• O objetivo é sempre entregar atualizações e features
para o usuário final, mais rápido.
Integração Contínua
• Os integrantes do time integram o trabalho
continuamente, podendo haver uma ou múltiplas
integrações por dia.
• Na CI, partes de um código são construídas ou
alteradas por diferentes desenvolvedores ao mesmo
tempo.
25 26
27 28
29 30
20/09/2021
6
Integração Contínua
• É fundamental utilizar ferramentas de controle de versões,
como o Git ou Github.
• Soluções como Jenkins também são importantes para
coordenar os builds, testes e integrações de código.
• O Jenkins, ajuda a automatizar as partes do
desenvolvimento de software relacionadas a construção,
implementação e teste.
• O Git foi o criador do Kernel do Linux, o desenvolvedor 
finlandês Linus Torvalds, que não encontrava uma solução 
no mercado para o problema de controle de versão no 
desenvolvimento do Kernel.
• O Git gera um controle de todas as alterações que são feitas 
em um código e consegue mesclar as alterações feitas por 
outras pessoas, permitindo assim que cada um trabalhe 
descentralizado na sua própria alteração.
Integração Contínua
• O objetivo da Entrega Contínua é sempre levar novos
códigos ao ambiente de produção.
• Para isso é preciso que esses códigos sejam gerados,
através da integração do trabalho dos desenvolvedores,
validados e testados.
Entrega Contínua
• Quando você entrega seu código em partes é muito mais 
fácil identificar um possível bug.
• A concepção de que o erro nas fases iniciais representa
custos mais baixos do que na fase de homologação ou
produção.
Entrega Contínua
Implantação Contínua
• A entrega da versão, só ocorre quando a versão passa por
todos os testes necessários.
• As atualizações, por serem menores, passam a ser menos
arriscadas e fáceis de corrigir.
Hospedagem de 
Código-Fonte
31 32
33 34
35 36
20/09/2021
7
• Um serviço de hospedagem de repositório é uma 
ferramenta de gestão organizacional que oferece uma visão 
transparente do processo, tradicionalmente opaco, do fluxo 
de trabalho do desenvolvimento de software.
• Se testar o código com frequência, já estará fazendo a parte 
da integração contínua que ajuda a integrar as equipes de 
Devops, já que testando sempre o código, pode provar para a 
área de operações que seu código é funcional.
Hospedagem de Código-Fonte
• Existem diversos serviços que podem servir de hospedagem 
centralizada de código para o seu CI, entre os mais 
conhecidos, podemos citar o GitHub e o GitLab. 
Hospedagem de Código-Fonte
• Temos algumas diferenças entre os serviços e é importante 
entender para fazer a melhor escolha possível.
• O GitHub é um repositório e ao mesmo tempo uma rede 
social, permitindo que qualquer pessoa possa enviar seu 
código para ele, usando o Git, que ficarão disponíveis para 
toda a comunidade. 
Hospedagem GitHub
• O GitHub foi concebido seguindo os princípios do Open 
Source ou código aberto, que basicamente enfatiza a 
colaboração da comunidade e a liberdade de compartilhar o 
código com todos. 
• Quando você não pode compartilhar o código da sua 
aplicação e precisa de um repositório privado, para isso o 
GitHub tem um serviço pago, que permite que você crie seus 
códigos e controle o acesso a eles.
Hospedagem GitHub
• O GitLab é um gerenciador de repositório de software 
baseado em git, com suporte a Wiki, gerenciamento de 
tarefas e CI/CD. 
• O GitLab é similar ao GitHub, mas o GitLab permite que os 
desenvolvedores armazenem o código em seus próprios 
servidores, ao invés de servidores de terceiros.
• Na figura a seguir é apresentado um projeto no GitLab.
Hospedagem GitLab Hospedagem GitLab
37 38
39 40
41 42
20/09/2021
8
• Depois de criar o projeto, você irá receber instruções de como 
adicionar o repositório local para ser enviado para o GitLab:
Hospedagem GitLab
• Na figura abaixo é realizado um comando push (empurrar), 
para enviar o código local para o GitLab:
Hospedagem GitLab
• Podemos ver o código da aplicação no GitLab:
Hospedagem GitLab
• Devemos definir o que queremos que a integração faça, neste 
momento uma reunião entre as equipes de desenvolvimento 
e operações para definir o que a aplicação tem que possuir 
para ser considerada integrada, qual infra que ela vai usar e a 
qual tecnologia.
Hospedagem de Código-Fonte
Infográfico –
Contexto DevOps
• Imagine que as equipes de desenvolvimento e operações 
estão com dois problemas. O primeiro é que eles ainda 
estão criando intrigas internas atrapalhando o bom 
andamento das entregas e o segundo é que alguns estão 
relutantes em utilizar as novas ferramentas por estarem 
habituados a fazer do modo antigo. 
• Como você faria para solucioná-los?
Descrição da Situação Problema
43 44
45 46
47 48
20/09/2021
9
• Em todo o contexto do DevOps, o mais difícil sem dúvidas 
é a mudança dos paradigmas dos colaboradores, culturas 
não são alteradas facilmente. As ferramentas são mais 
fáceis. 
• Para resolver a relutância de alguns em utilizar novas 
ferramentas é muito mais fácil e você deve começar por 
elas. 
Solução da Situação Problema
• Primeiro trazendo workshops e palestras explicando como 
usá-las e como elas podem auxiliá-los no dia a dia. Isso já 
vai resolver 95% dos problemas, pois quando as pessoas 
percebem que a ferramenta é um auxílio e melhora sua 
produtividade, a maioria aceita. A relutância em trocar, está 
muito mais ligada ao desconhecimento de como usá-la.
Solução da Situação Problema
• No caso da cultura é um pouco mais problemático, grande 
parte do desafio do DevOps é conseguir que as equipes 
não fiquem em lados opostos, apontando o dedo uns para 
os outros. E para atingir esse objetivo, deve-se procurar 
mapear os pontos de desgaste entre eles e trabalhá-los 
muito bem, existem empresa inclusive que trocam um 
membro da equipe durante um tempo com a outra, para 
que cada um sinta como é estar do outro lado e assim 
entendendo os problemas diários que cada um enfrenta. 
Solução da Situação Problema
• Procure incentivá-los a sempre interagir, conversar e 
procurar solução para esses pontos de desgaste, coloque-
os para dar sugestões uns aos outros e faça reuniões de 
brainstorm entre eles, colocando como meta para todos, 
mais entregas em produção da aplicação e conceda 
prêmios aos que melhor interagirem entre eles, 
incentivando assim uma mudança de cultura.
Solução da Situação Problema
• O brainstorming é uma técnica usada para levantar 
ideias de soluções de problemas ou para criar coisas novas. 
Solução da Situação Problema
Ferramenta da 
Infraestrutura Ágil
49 50
51 52
53 54
20/09/2021
10
• A Infraestrutura ágil é poder fazer as alterações demandadas 
de forma rápida e eficiente e com isso responder rápido as 
novas necessidades trazidas pelo mercado.
• A Infraestrutura como Código, move para a etapa de 
codificação a configuração dos ambientes. Tratando a 
infraestrutura como uma etapa no desenvolvimento de 
software, acarreta na incorporação dos famosos scripts de 
automatização dos processos de TI.
Infraestrutura Ágil
• O surgimentodas técnicas de Infraestrutura como Código 
tem bastante relação com o surgimento do DevOps e dos 
conceitos de CI/CD, principalmente por envolver os 
desenvolvedores na configuração dos ambientes onde as suas 
aplicações irão operar. 
• Tratar a Infraestrutura como Código permite que as entregas 
aconteçam com muito mais agilidade e eficiência, sendo uma 
das principais motivações para o seu surgimento.
Infraestrutura Ágil
• As vantagens de se utilizar a Infraestrutura como Código:
o Rapidez nas entregas de valor.
o Automatização dos processos.
o Menor taxa de retrabalho.
o Eficiência operacional. 
o Ganhos financeiros.
Vantagem da Infraestrutura Ágil Pilares da Infraestrutura Ágil
• A Infra Ágil é um movimento que visa tornar a infraestrutura 
automatizada, orquestrada, sendo tudo provisionado como 
código para ser possível falar de DevOps.
• Algumas ferramentas usadas por grande corporações na 
infraestrutura ágil, como: Jenkins, Ansible, Git, GitLab e 
Docker.
Infraestrutura Ágil
• Vamos usar uma tecnologia Docker, para criar um container 
da aplicação e com isso poder padronizar como a aplicação 
vai ser entregue ao usuário final. Na Figura a seguir existe 
um botão chamado Setup CI/CD, que cria um script para 
configurar um pipeline padrão, usando o padrão do Docker. 
• Assim que ativar o CI/CD, vai criar um arquivo chamado 
gitlab-ci.yml e esse arquivo é escrito em formato YAML que é 
um formato de serialização de dados legível por humanos e 
modelos de processamento.
DOCKER
55 56
57 58
59 60
20/09/2021
11
GitLab – CI/CD 
• Com o arquivo gitlab-ci.yml, podemos descrever os passos 
que queremos que o nosso pipeline tem que fazer:
o Primeiro fazemos login na plataforma DockerHub, um 
repositório público de imagens, que permite que envie as 
imagens Docker para lá. 
o Depois pegamos a aplicação e construímos uma imagem 
dockerizada, usando o DockerFile presente no projeto, 
que diz quais passos ele tem que instalar dentro da 
imagem para que a aplicação funcione.
GitLab – DockerHub
• Depois é aplicado uma Tag (etiqueta), item obrigatório do 
Docker, para que ele possa diferenciar as imagens umas das 
outras. 
• Enviamos essa imagem para o dockerhub e a aplicação está 
pronta para ser usada em produção.
DOCKER
• Segue abaixo, o resultado final:
GITLAB
• O importante é alterar um trecho do código, o pipeline vai 
receber essa alteração, vai criar a imagem Docker e deixar 
preparada para a nova versão da aplicação.
• Lembrando que esse pipeline não é um CI/CD completo, pois 
falta ainda alguns passos para isso. Como: testes, replicar 
isso em ambiente de homologação e por fim em produção.
GITLAB
• Na figura abaixo será apresentado o histórico das pipelines 
executadas: 
GITLAB
61 62
63 64
65 66
20/09/2021
12
• Os logs da pipeline para entender o que foi feito:
GITLAB
• Na figura abaixo é apresentado os passos que a pipeline 
executou sozinha.
GITLAB
• O Gitlab proporciona, nativamente, ferramentas de integração 
e entrega contínua, além de métricas para acompanhamento 
de qualidade de código, performance e teste de usabilidade. 
GITLAB
Gestão de 
Configuração e 
Infraestrutura 
Versionada
• Uma infraestrutura versionada possibilita e facilita a 
recuperação de um ambiente com ganhos de consistência e 
disponibilidade. Em caso de erro, recupera a infraestrutura, 
pois mantem um histórico das modificações feitas que podem 
ser auditáveis e reversíveis. 
Infraestrutura Versionada
• Para manter uma Infraestrutura Versionada é preciso que se 
tenha um sistema de controle de versões que são 
mecanismos que armazenam múltiplas versões de arquivos, 
sendo que quando modificado algum deles, ainda pode-se ter 
acesso as versões anteriores. Essa característica é 
fundamental, pois na prática é o que garante que várias 
pessoas possam trabalhar de maneira contínua e colaborativa 
para a entrega de um software.
Infraestrutura Versionada
67 68
69 70
71 72
20/09/2021
13
• O controle de versão não se refere apenas a código, embora 
os desenvolvedores devam usá-los em códigos, qualquer 
componente da criação da aplicação deve estar no controle 
de versão, ou seja, testes, scripts de bancos de dados, 
arquivos de compilação e implantação, documentação, 
bibliotecas e arquivos de configuração para sua aplicação, 
para seu compilador e todas as ferramentas relacionadas, de 
modo que um novo membro da equipe possa começar do 
zero.
Infraestrutura Versionada
• Toda vez que uma versão é modificada ela se torna pública 
para os outros integrantes do time de desenvolvimento e se 
estiver usando integração contínua, essa versão pode ser 
visualizada, testada e até mesmo ser produzida. 
• Antes de fazer o check-in é importante garantir que o código 
esteja pronto para o nível de visibilidade que se propõe, 
muitos desenvolvedores demoram fazer o versionamento, o 
que pode atrapalhar a produção. 
Infraestrutura Versionada
• Para resolver esse problema algumas equipes apostam em 
um branch (apartar código do principal) separado somente 
para novas funcionalidades. Quando vêm que a mudança é 
satisfatória é que se lança para o branch principal.
Infraestrutura Versionada Infraestrutura Versionada
Fonte: Cronapp, ANDRADE (2021, n.p)
• A Gestão de Configuração e a Infraestrutura Versionada
podem ser usados como sinônimos, a Gestão de Configuração 
é bem mais ampla, pois se refere a todos os processos do 
projeto, as relações entre si, como armazenamentos, 
recuperações, modificações e identificações, já o controle de 
versões é uma ferramenta tida como indispensável da gestão 
de configuração. 
Gestão de Configuração e Infraestrutura Versionada
• A Gestão de Configuração permite a reprodução de 
ambientes, versões de sistemas operacionais, configurações 
de rede, aplicações instaladas e suas configurações permite 
verificar as mudanças que acontecem em um dado ambiente 
e descobrir quem a fez, quando e porque contentar os 
requisitos de acordo com as regulamentações impostas, 
disponibilizar as informações para qualquer membro da 
equipe e assim proporcionar uma integra eficiente e melhor 
feedback.
Gestão de Configuração
73 74
75 76
77 78
20/09/2021
14
• A Gestão de Configuração de software engloba todos os 
processos do projeto, como o gerenciamento de repositórios, 
o controle das versões, modelagem dos produtos e a gestão 
de outros objetos mais complexos, mas também ajudando os 
desenvolvedores em suas atividades rotineiras e fornecendo 
suporte e controle ao processo de desenvolvimento. 
Gestão de Configuração
• As práticas de Gestão de Configuração:
1. Identificar itens de configuração: serve para planejar as 
baselines do projeto. As baselines representam o conjunto de 
itens de configuração que foram validados e servirão de base 
para as etapas seguintes do desenvolvimento. Estes itens 
representam um artefato do projeto que deve ter 
características definidas e que serão controlados formalmente 
a partir do momento em que entram na baseline.
Práticas de Gestão de Configuração
2. Estabelecer o sistema de configuração: a gerência 
prepara e ajusta a infraestrutura definindo os repositórios 
(que devem viabilizar a flexibilidade requerida) e os sistemas 
de mudanças (que tem como ponto principal a visibilidade).
Práticas de Gestão de Configuração
3. Criar e liberar baselines: passa pelas etapas de baseline
de planejamento, onde são analisados o projeto, definida a 
gerência de configuração e garantia da qualidade, baseline
de requisitos que contemplam os requisitos funcionais, casos 
de uso e demais documentos e a baseline de código que 
contempla o código-fonte que atenderá os requisitos. 
Práticas de Gestão de Configuração
4. Rastrear solicitações de mudanças ou Change
Request (CR): demanda alterações do projeto e 
compreendem ações especificas como registro de CR, análise 
da solicitação registrada, alteração nos artefatos necessários, 
verificação das alterações e fechamento do registro da 
solicitação. 
Práticas de Gestão deConfiguração
5. Controlar itens de configuração: deve ser capaz de 
rastrear as alterações feitas nos itens de configuração 
durante uma solicitação de mudança, essa atividade envolve 
o registro do histórico de alterações dos itens.
6. Estabelecer registros da gerência de configuração: 
são documentos que precisam ser levantados afim de 
acessar as características dos itens de configuração, 
identificar o controle de acesso aos itens, o conteúdo das 
baselines e o histórico de mudanças de cada item. 
Práticas de Gestão de Configuração
79 80
81 82
83 84
20/09/2021
15
7. Realizar auditorias de configuração: é necessário que 
se faça auditorias de configuração periódicas como forma de 
garantir a execução correta das atividades de gerência de 
configuração. 
Práticas de Gestão de Configuração
• A infraestrutura ágil baseia-se no manifesto ágil para sugerir 
mais objetividade, agilidade, feedback imediato, comunicação 
direta, simplicidade e vários outros conceitos que estão 
implícitos em seus processos de automatização, 
provisionamento e entrega contínua. 
• Entender os recursos que a infraestrutura ágil empresta para 
a indústria de desenvolvimento de software é ter ciência de 
que uma nova cultura surge desses preceitos. 
Infraestrutura Ágil
Monitoramento do 
Serviço
• O monitoramento é um assunto que tem tido cada vez mais 
atenção nas equipes DevOps, pois está sempre sendo 
aprimorada com novas técnicas e ferramentas, para 
acompanhar a mesma evolução que as implantações 
contínuas tem tido.
Monitoramento do Serviço
• O monitoramento é negligenciado, causando falhas em 
ambientes produtivos, que podem levar a perdas financeiras, 
e até a falência, dependendo do tamanho do negócio, seu 
espaço no mercado e o tempo de resolução do incidente. 
• Um dos itens que englobam todo o ciclo do DevOps é um 
monitoramento bem configurado e que consiga trazer o 
feedback necessário, não só para prever falhas, como 
também servir de base para melhorias de todo o processo.
Monitoramento do Serviço
• Existem diversos tipos de monitoramento, para diversos tipos 
de abordagens e ambientes, precisamos verificar quais são 
ideais para cada tipo de infraestrutura e arquitetura de 
sistemas utilizada.
• É importante escolher o que monitorar, já que existem 
diversos itens como métricas, devemos saber quais utilizar, 
tendo em mente como fazer uma separação inteligente, que 
traga assertividade ao monitoramento.
Monitoramento do Serviço
85 86
87 88
89 90
20/09/2021
16
• Aliada ao monitoramento, devemos pensar em criar alertas, 
que irão nos avisar em caso de falhas e definir as políticas, 
para que possamos atingir os objetivos de sermos avisados 
somente se um item crítico ao funcionamento das aplicações 
estiver com problema. E evitar o envio excessivo de alertas, 
com coisas banais misturadas a informações críticas, 
causando um efeito indesejado de recebermos alertas demais 
e não conseguirmos diferenciar o que é crítico do que não é.
Monitoramento do Serviço
• O surgimento do DevOps está ligado ao advento da 
computação em nuvem (Cloud Computing), porém uma 
empresa pode possuir a infraestrutura interna, conhecida 
como on-premises e utilizar a cultura DevOps. 
Monitoramento do Serviço
• Quando monitoramos infra on-premises, ficamos preocupados 
com a parte física de cada equipamento e servidor: 
o Uso de CPU e memória: não devemos deixar que os 
aplicativos esgotem todo o recurso computacional dos 
servidores antes de tomarmos uma ação. 
o Espaço disponível em disco: temos que saber 
preventivamente se um disco está ficando cheio, pois 
disco cheio pode causar a parada de todo o ambiente.
Monitoramento do Serviço
o Disponibilidade de componentes de rede: Switches, 
firewalls podem falhar e se acontecer, temos que ter uma 
forma de contornar o problema rapidamente. 
o Já no caso de infra em cloud, boa parte dos itens são 
responsabilidade do provedor, como a disponibilidade dos 
servidores e os recursos de CPU e Memória, que podem 
ser escaláveis a medida que forem necessários.
Monitoração
• Outro conceito que alterou a maneira como o monitoramento 
é feito é a arquitetura de microsserviço.
• Antigamente, os sistemas eram construídos de maneira única, 
provendo todos um único serviço no final. 
• Hoje o conceito mais utilizado é o de separar a aplicação em 
pequenos serviços, cada um com uma função e esses 
serviços, vão se falar internamente para prover a resposta ao 
usuário.
Monitoramento do Serviço Monólito e Microsserviços
91 92
93 94
95 96
20/09/2021
17
• Por mudar a arquitetura, não é mais possível simplesmente 
monitorar a saída única do serviço principal que o usuário 
acessa, mas sim todo o ecossistema dos microsserviços para 
verifica-los individualmente.
• Por exemplo: imagine que sua aplicação foi construída 
usando uma arquitetura monólito e quando está funcionando 
perfeitamente, abre uma página http e o status dela é 200 
(código do protocolo http para respostas). 
Monitoramento do Serviço
• Bastava adicionar um monitoramento para testar de tempos 
em tempos se a resposta http era 200 e em caso de 
diferença, alertava o time de operações para verificar. 
• Esta era a forma padrão de monitorar uma aplicação 
monólito, mas no caso da arquitetura microsserviços, não 
basta a página inicial retornar 200, você precisa confirmar se 
todos os microsserviços estão funcionando e se eles estão 
retomando os itens necessários.
Monitoramento do Serviço
• Todo e qualquer sistema gera informações sobre seu 
funcionamento que são utilizadas pelos times de operações 
os chamados Logs. 
• Os Logs, fornecem pistas sobre um possível problema com 
algum sistema inoperante. Para isso, geralmente fornecem 
uma saída padrão, em arquivo de texto, com tudo que o 
sistema fez, ao iniciar, seja de sucesso ou erro. Esse arquivo é 
consultado como uma forma de encontrar pistas sobre os 
problemas.
Monitorando Logs
• Um bom sistema de monitoramento inclui gerenciar esses 
logs em um local único para centralizar a análise e fazer 
correlações de problemas com outros sistemas e possibilitar 
encontrar falhas relacionadas.
• Podemos mencionar ferramentas amplamente usadas como o 
Elastic Stack, que faz uma indexação de logs vindos de 
diversas fontes, tanto de infraestrutura como de aplicações.
Monitorando Logs
• A aplicação tem que ter uma atenção especial, pois é para ela 
que a infraestrutura toda é configurada. Portanto, monitorar a 
aplicação corretamente é fundamental.
• As aplicações rodam com arquitetura de microsserviços, que 
fazem com o que a monitoração tradicional seja alterada para 
uma que consiga analisar traços e relacionamentos internos 
que a aplicação faz.
Monitorando Aplicações
• Surgiram ferramentas chamadas de APM (Application
Performance Monitoring) ou Monitoramento de Performance 
de Aplicação. Elas fornecem uma gama de visualizações e 
interações entre as aplicações internas, capazes de monitorar 
quanto tempo uma determinada ação dentro de sistema está 
levando, quais classes e itens são chamados internamente.
• Os APMs são o que há de mais avançado dentro do conceito 
de monitoramento. 
Monitorando Aplicações
97 98
99 100
101 102
20/09/2021
18
• Podemos citar a ferramenta Elastic APM.
• O Elastic APM é uma ferramenta da Elastic que possibilita a 
coleta de dados de performance de aplicações.
Monitorando Aplicações
• Todo o sistema de monitoramento é na verdade um processo 
contínuo, que deve ser calibrado para alertar itens 
importantes e dispensar itens irrelevantes. 
• Um monitoramento bem configurado, ajudará sempre estar a 
frente de um incidente e diminuir as perdas e pode trazer 
ganhos ao negócio, melhorando o tempo de resposta de uma 
aplicação e a experiência do usuário. 
Monitoramento do Serviço
Infográfico –
Metodologia Ágil
• Depois de feita toda a transição de uma metodologia de 
cascata para uma metodologia ágil, a equipe ficou muito 
mais motivada, as equipes passaram a trabalhar juntas e 
apesardos problemas que toda mudança trás, todos 
avaliaram como positivas as inserções feitas e o uso das 
ferramentas escolhidas.
Descrição da Situação Problema
• Embora a satisfação da equipe torne o trabalho mais 
motivador e consequentemente melhore a qualidade do 
produto final, o objetivo maior de todas essas mudanças foi 
trazer para o cliente uma melhor experiência de uso.
• Simule um estudo de caso de uma aplicação de software 
para mostrar como a inserção da metodologia ágil impactou, 
a experiência do cliente final.
Descrição da Situação Problema
• Vamos pensar na satisfação do cliente com as práticas ágeis, 
lembre-se que ele não tem total ciência de como são feitos 
os processos de produção, a única métrica que ele tem são 
as entregas a ele feitas.
• O impacto para o cliente sempre será referente a entrega do 
produto esperado, já que o produto é pensado na 
perspectiva do usuário. 
Solução da Situação Problema
103 104
105 106
107 108
20/09/2021
19
• Podemos pensar em um estudo de caso de um pedido feito 
por um determinado cliente que passou por várias versões 
até sua fase de maturação. 
• Detalhar como cada versão contribuiu positivamente ou 
negativamente para o objeto final. 
• Enfatizar como o feedback do cliente contribuiu. 
Solução da Situação Problema
• Detalhar a história do usuário desde o problema que 
precisava ser solucionado até a gerência dos requisitos e a 
avaliação final do produto. Traga tudo para um contexto de 
experiência do usuário. 
• Se for uma história real traga estatísticas e dados que 
provem o sucesso da implementação.
Solução da Situação Problema
• As metodologias ágeis são conjuntos de práticas que visam à
entrega rápida e de alta qualidade do produto ou serviço e
que promovem um processo de gerenciamento de
projetos que incentiva a inspeção e adaptação frequente.
• Esse método busca integrar a comunicação entre equipes
seguindo um único objetivo, de forma a otimizar os
processos e aumentar a eficiência do seu negócio.
Solução da Situação Problema
• SCRUM é o tipo de metodologia ágil mais utilizado.
• O projeto se divide em ciclos que duram entre uma e quatro
semanas (chamados sprints).
Solução da Situação Problema
Solução da Situação Problema
Recapitulando
109 110
111 112
113 114
20/09/2021
20
Recapitulando
• Infraestrutura com Código;
• Conceito Pipeline;
• Hospedagem de Código-Fonte;
• Ferramenta da Infraestrutura Ágil;
• Gestão de Configuração;
• Monitoramento do Serviço.
 Siga em frente e bons estudos! Obrigada!
115 116

Continue navegando