0% acharam este documento útil (0 voto)
98 visualizações64 páginas

Introdução à Cultura DevOps e Benefícios

O documento discute a cultura DevOps. Resume os tópicos principais da aula 01 como: o que é DevOps, uma breve história, os pilares e características do DevOps e os benefícios de adotar essa abordagem. Apresenta também as metodologias ágeis.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
98 visualizações64 páginas

Introdução à Cultura DevOps e Benefícios

O documento discute a cultura DevOps. Resume os tópicos principais da aula 01 como: o que é DevOps, uma breve história, os pilares e características do DevOps e os benefícios de adotar essa abordagem. Apresenta também as metodologias ágeis.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Tiago Bassini Roriz / tiagobassini@gmail.

com
Tiago Bassini Roriz / tiagobassini@[Link]

Sumário
Aula 01 – A Cultura DevOps.................................................................................................2
1.1 O que é DevOps.........................................................................................................3
1.2 Um pouco de história..................................................................................................4
1.3 Pilares do DevOps......................................................................................................5
1.4 O Características do DevOps.....................................................................................6
1.5 Benefícios do DevOps................................................................................................6
1.6 Metodologias Ágeis.....................................................................................................7
Aula 01 – A Cultura DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
1.1 O que é DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

1.2 Um pouco de história

Agile Manifesto

O Agile Manifesto foi criado no período de 11 a 13 de fevereiro de 2001. Dezessete de-


senvolvedores reunidos, resolveram publicar um manifesto expondo a necessidade de
mudanças e melhorias no desenvolvimento de software utilizando a metodologia ágil.
O manifesto e sua história completa, estão disponíveis no site: [Link]

Google SRE

O Google foi uma das primeira empresas a tentar mudar a forma de gerenciar sua in-
fraestrutura interna, após alguns anos, tornou essas informações públicas, na forma de
um livro gratuito e online disponível em: [Link]

Curiosidade GIT

O GIT, sistema de gerenciamento de código fonte, foi inicialmente desenvolvido por Li-
nux Torvalds, criador do Kernel Linux.
Tiago Bassini Roriz / tiagobassini@[Link]

1.3 Pilares do DevOps

1.4 O Características do DevOps


Tiago Bassini Roriz / tiagobassini@[Link]

1.5 Benefícios do DevOps

1.6 Metodologias Ágeis


Dashboard KanbanFlow
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Como surgiu o Devops e por que?

DevOps surgiu a partir de um movimento da comunidade de desenvolvimento. Adota-


ram o desenvolvimento ágil a fim de gerar mudanças e melhorias.
Como consequência dessa iniciativa, a área de operações teve que se adequar as mu-
danças, uniu-se a área de desenvolvimento, principalmente, para contribuir.

As características de uma empresa que adota DevOps

Metodologia Ágil, diminuição da complexidade do software, Integração Contínua, En-


trega Contínua, Gerenciamento de Configurações, Logs centralizados, Coleta de Métri-
cas, Infraestrutura como Código e Ambiente Automatizado, Reuniões unificadas entre De-
senvolvimento e Operação.

Os benefícios de uma empresa que adota DevOps

Maior comunicação e colaboração entre áreas de desenvolvimento e infraestrutura,


maior qualidade, maior frequência de entrega, redução de falhas, maior estabilidade e au-
mento do valor do negócio.
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Sumário
Aula 02 – Pipeline DevOps...................................................................................................3
2.1 Terminologias DevOps................................................................................................4
2.2 Pipeline de Desenvolvimento......................................................................................5
2.3 Pipeline DevOps.........................................................................................................7
Aula 02 – Pipeline DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

2.1 Terminologias DevOps

Pilar Operação

Infraestrutura Ágil — Infraestrutura Automatizada que acompanha o desenvolvi-


mento ágil.

Infraestrutura como Código — Utilizar a abordagem do clico de desenvolvimento de


software para realizar configuração da sua infraestrutura.
Gerência de Configuração — Ferramentas que controlam a configuração das suas
máquinas (Puppet, Ansible, etc).

Provisionamento — Prover os serviços e configurações de forma automatizada.

Pilar Desenvolvimento

Desenvolvimento Ágil — Desenvolvimento de software que comporta vários ciclos


de planejamento seguindo Integração, Entrega e Implantação contínua.
Tiago Bassini Roriz / tiagobassini@[Link]

2.2 Pipeline de Desenvolvimento

Fluxo Pipeline de Desenvolvimento


Tiago Bassini Roriz / tiagobassini@[Link]

Pipeline de Desenvolvimento

Source Code Management (SCM) — Sistema de Controle de Versão (Git, SVN, Clear-
Case(IMB), TFS(Microsoft), etc.)

Repositório de Artefatos — Ferramenta que armazena os pacotes prontos para aplica-


ção. Exemplo: Nexus.
2.3 Pipeline DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Sumário
Aula 03 – Mercado DevOps.................................................................................................2
3.1 DevOps é inevitável....................................................................................................3
3.2 Adoção de DevOps no mundo....................................................................................4
3.3 Mercado aquecido......................................................................................................6
3.4 Certificação DevOps...................................................................................................7
3.5 Trilha DevOps 4Linux..................................................................................................9
Aula 03 – Mercado DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

3.1 DevOps é inevitável

DevOps - Gartner

"Até 2018, a transição para as práticas de TI ágil, DevOps e web-scale, será tão per-
turbadora para TI quanto a adoção do Lean para as fábricas durante a década de 80."

3.2 Adoção de DevOps no mundo


Tiago Bassini Roriz / tiagobassini@[Link]

Estudos da RightScale

A RightScale apresenta estudos gerais sobre Cloud e DevOps. Os estudos evidenciam


a expansão do Cloud e do DevOps nas empresas, mostrando como o mercado está se
adaptando a essas abordagens.

Para saber mais, consulte os estudos de forma gratuita.

Link dos Relatórios, versão resumida e versão para download:

2018 — [Link]
2018-state-cloud-survey

2017 — [Link]
2017-state-cloud-survey

Adoção do DevOps no Mundo

O relatório State of Devops de 2016, publicado pela Puppet, concluiu que as em-
presas que aplicam DevOps, superam as que não o adotam. A ênfase em ter equipes e
indivíduos trabalhando juntos, de forma eficaz, é melhor para os negócios do que setores
cheios de engenheiros que não se entendem bem uns com os outros.
Tiago Bassini Roriz / tiagobassini@[Link]

Organizações DevOps de alto desempenho implementam código com mais fre-


quência, apresentam menos falhas, recuperam-se das falhas mais rapidamente e contam
com funcionários mais felizes. A tendência é concentrar-se nos resultados, ao invés de
pessoas e processos.

Baixe os relatórios

State of DevOps Report 2017 — [Link]


devops-report

State of DevOps Report 2016 — [Link]


devops-report

State of DevOps Report 2015 — [Link]


devops-report

3.3 Mercado aquecido


3.4 Certificação DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Links das Cerficações DevOps

IT Certs – DevOps Essentials: [Link]

EXIM – DevOps PROFESSIONAL e DevOps MASTER:


[Link]
[Link]

LPI – LPIC-OT-701: DevOps Tools Engineer:


[Link]
3.5 Trilha DevOps 4Linux
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Sumário
Aula 04 – Ferramentas DevOps...........................................................................................3
4.1 DevOps não é ferramenta...........................................................................................4
4.2 DevOps e Open Source..............................................................................................4
4.3 Categorias de Ferramentas........................................................................................6
4.4 Planejamento e colaboração......................................................................................7
4.5 escrita do código.........................................................................................................7
4.6 Processo de Build.......................................................................................................8
4.7 Ferramentas de testes................................................................................................9
4.8 O processo de Deploy e Operações.........................................................................10
4.9 Monitoração e métricas.............................................................................................11
Aula 04 – Ferramentas DevOps
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

4.1 DevOps não é ferramenta

4.2 DevOps e Open Source


Tiago Bassini Roriz / tiagobassini@[Link]

Open Source

As ferramentas DevOps, em sua maioria, operam sob a filosofia Open Source. A união
dessas duas culturas está em expansão. Como já conhecemos os pilares do DevOps,
vale apena mencionar a estrutura Open Source que o apoia.
Baseado no texto original da Debian Free Software Guidelines, a Open Source Iniciati-
ve, define que um programa de código aberto deve garantir:
 distribuição Livre.
 código fonte.
 trabalhos derivados.
 integridade do autor do código fonte.
 não discriminação contra pessoas ou grupos.
 não discriminação contra áreas de atuação.
 distribuição de licença.
 licença não específica a um produto.
 licença não restrinja outros programas.
 licença neutra em relação a tecnologia.

Para maiores detalhes visite: [Link]


Tiago Bassini Roriz / tiagobassini@[Link]

4.3 Categorias de Ferramentas

Ferramentas DevOps

Um dos alicerces do DevOps é a automação dos processos de mudança, configu-


ração e deploy.
Isso só é possível graças ao uso de ferramentas que oferecem funcionalidades úteis em
cada fase do fluxo.
Tiago Bassini Roriz / tiagobassini@[Link]

A ideia é que as ferramentas orquestrem todo o ciclo de processos, também contro-


lem instâncias em tempo real, facilitando a administração do ambiente, seja físico ou virtu-
al, desde a automação do desenvolvimento até a infraestrutura.

4.4 Planejamento e colaboração

4.5 escrita do código


Tiago Bassini Roriz / tiagobassini@[Link]

Ambiente de Desenvolvimento

Um IDE reúne diversas características e ferramentas de apoio ao desenvolvimento do


software, como por exemplo, compiladores, depuradores, ferramentas para auto-comple-
tar o código, entre outras funções.

Por isso não é possível definir o melhor IDE, já que o próprio desenvolvedor deve
adapta-se ao IDE para aumentar o seu conforto na criação e, obviamente, agilizar o seu
processo de desenvolvimento.

4.6 Processo de Build


Tiago Bassini Roriz / tiagobassini@[Link]

4.7 Ferramentas de testes

Tipos de Testes de Software

Os testes de software são extremamente necessários e trabalhosos. Por esse motivo,


é essencial identificar quais testes são indispensáveis para o seu software. Deste modo,
recomenda-se fazer a escolha da ferramenta certa, para automatizar o processo que ge-
ralmente é cansativo e repetitivo.

Testes mais comumente utilizados

Teste Unitário: avalia pequenas unidades do software, códigos, sub-rotinas, etc.

Teste de Integração: garante que um ou mais componentes funcionam. Pode ser en-
tendido como um conjunto de testes unitários.

Teste de Funcionalidade: validar as funcionalidades, requerimentos e regras de negó-


cio que o software deve possuir.

Teste de Desempenho: verifica o tempo de resposta e utilização de recursos do


software.

Teste de Segurança: verifica se o software em questão não apresenta vulnerabilida-


des.
4.8 O processo de Deploy e Operações
Tiago Bassini Roriz / tiagobassini@[Link]
4.9 Monitoração e métricas
Tiago Bassini Roriz / tiagobassini@[Link]
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
1
Tiago Bassini Roriz / tiagobassini@[Link]

DevOps Essentials
Construindo uma Pipeline DevOps

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
2
3
Objetivos da aula
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
3
4
Fluxo de Deploy
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
4
5
Criação das Contas
Tiago Bassini Roriz / tiagobassini@[Link]

Acesse o site [Link] e cadastre uma conta.

Acesse o site [Link] cadastre uma conta usando seu


dados de acesso ao GitHub, com o qual possui integração nativa.

Acesse o site [Link] cadastre uma conta usando seu dados de


acesso ao GitHub, com o qual possui integração nativa.

Acesse o site [Link] e cadastre uma conta.

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
5
6
Planejamento e Colaboração
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
6
7
Escrita do Código
Tiago Bassini Roriz / tiagobassini@[Link]

Git e GitHub

O Git é um sistema de controle de versão criado após vários desenvolvedores, do


Kernel Linux, desistirem de acessar o sistema do BitKeeper, um software proprietário,
cujo acesso gratuito foi retirado.
A ideia foi gerar um sistema distribuído que pudesse ser utilizado de forma similar ao
BitKeeper, já que nenhum software gratuito atendia as suas necessidades.
Um dos idealizadores e desenvolvedor do projeto Git, foi Linus Torvalds. Atualmente
o Git é supervisionado por Junio Hamano, além de ser um software livre, sob a
licença GNU GPL v.2, o GitHub é uma extensão do git, que funciona sob uma
plataforma web para hospedagem de projetos sob gerencia do git.

Documento produzido pela 4Linux


7
8
Escrita do Código
Tiago Bassini Roriz / tiagobassini@[Link]

Acesse o GitHub da 4Linux: [Link]

Faça um Fork do Projeto DevOpsLab-HelloWorld para a sua conta do GitHub.

No terminal do CodeAnywhere, clone o seu projeto através do seguinte comando:


git clone [Link]

4 Retorne a sua conta do GitHub e crie um Personal access tokens.

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
8
9
Escrita do Código
Tiago Bassini Roriz / tiagobassini@[Link]

Aprendendo sobre Git


Para conhecer mais como utilizar o GitHub, você pode acessar o site: [Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
9
10
Criando um Personal access tokens no GitHub
Tiago Bassini Roriz / tiagobassini@[Link]

Siga as etapas

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
10
11
Criando um Personal access tokens no GitHub
Tiago Bassini Roriz / tiagobassini@[Link]

Siga as etapas

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
11
12
Criando um Personal access tokens no GitHub
Tiago Bassini Roriz / tiagobassini@[Link]

Siga as etapas

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
12
13
Processo de Build
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
13
14
Criando Testes
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
14
15
O processo de Deploy e Operações
Tiago Bassini Roriz / tiagobassini@[Link]

Acesse sua conta no Heroku e crie uma nova aplicação.

Em seguida gere um API Key.

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
15
16
O processo de Deploy e Operações
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
16
17
Criando uma API Key no Heroku
Tiago Bassini Roriz / tiagobassini@[Link]

Siga as etapas

2
1

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
17
18
Criando uma API Key no Heroku
Tiago Bassini Roriz / tiagobassini@[Link]

Siga as etapas

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
18
19
O processo de Deploy e Operações
Tiago Bassini Roriz / tiagobassini@[Link]

No terminal do CodeAnywhere, instale o CLI do Travis através dos seguintes comandos:


sudo apt update
1 sudo apt install ruby
sudo gem install faraday -v 1.0.1
sudo gem install travis

Em seguida acesse o diretório da aplicação DevOpsLab-HelloWorld no CodeAnywhere:


2
cd DevOpsLab-HelloWorld

Execute o comando para logar no GitHub através do Travis CLI:


3
travis login --github-token <SEU_ACCESS_TOKEN_GITHUB> --pro

Inclua a API Key criptografada do Heroku no arquivo .[Link]:


4 travis encrypt <SUA_API_KEY_HEROKU> --add deploy.api_key --pro

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
19
20
O processo de Deploy e Operações
Tiago Bassini Roriz / tiagobassini@[Link]

Retorne ao Codeanywhere para editar o arquivo .[Link]

Altere o nome da aplicação que você criou no Heroku.

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
20
21
Alterando o nome da aplicação
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
21
22
Finalizando o Pipeline
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
22
23
Resultado Final
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
23
24
Monitoração e Métricas
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
24
25
Tiago Bassini Roriz / tiagobassini@[Link]

Anotações

__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
Documento produzido pela 4Linux
25

Tiago Bassini Roriz / tiagobassini@gmail.com
Tiago Bassini Roriz / tiagobassini@gmail.com
Sumário
Aula 01 – A Cultura DevOps..............................................
Tiago Bassini Roriz / tiagobassini@gmail.com
Aula 01 – A Cultura DevOps
Tiago Bassini Roriz / tiagobassini@gmail.com
1.1 O que é DevOps
Tiago Bassini Roriz / tiagobassini@gmail.com
1.2 Um pouco de história
Agile Manifesto
O Agile Manifesto foi criado no período
Tiago Bassini Roriz / tiagobassini@gmail.com
1.3 Pilares do DevOps
1.4 O Características do DevOps
Tiago Bassini Roriz / tiagobassini@gmail.com
1.5 Benefícios do DevOps
1.6 Metodologias Ágeis
Tiago Bassini Roriz / tiagobassini@gmail.com
Dashboard KanbanFlow
Tiago Bassini Roriz / tiagobassini@gmail.com
Como surgiu o Devops e por que?
DevOps surgiu a partir de um movimento da comuni
Tiago Bassini Roriz / tiagobassini@gmail.com

Você também pode gostar