Ebook Devops
Ebook Devops
Gu ia c om pl e t o
Ferram e nt as
Etapas
Ações e Fl ux os
Concei t o
M itos
SUMÁRIO
Introdução 3
Sugestões de Ferramentas 11
Test Tools 27
Cloud e DevOps 29
Conclusão 37
Sobre a Objective 38
Apesar de sua importância, algumas empresas ainda não implantaram DevOps em suas
equipes de TI.
Diante deste cenário bem comum, podemos detectar alguns problemas semelhantes em
ambientes que não possuem as práticas DevOps, como dificuldade na tomada de decisões,
baixa produtividade do time, estimativas erradas de entrega dos projetos que refletem em
atrasos, demoras e desmotivação do time, probabilidade elevada de erros e bugs, falta de
integração e desempenho, além do esforço elevado das pessoas sem um resultado eficaz e
eficiente.
Este e-book é para pessoas que trabalham e gerenciam equipes de Tecnologia da Informação
e querem aprimorar os seus processos para as entregas contínuas de software e melhorar a
governança de TI com o envolvimento dos times de desenvolvimento, operações, qualidade,
testes, entre outros.
Aqui você vai encontrar ferramentas, processos e responsabilidades para sua equipe adotar e
exercer as práticas DevOps, contribuindo cada vez mais para que as entregas sejam feitas mais
rapidamente e com qualidade.
CA PÍ T U LO 1
forma que estabelecesse uma relação de parceria entre os departamentos, que são capazes de garantir a gestão eficaz com
Toda a estimativa errada da entrega do projeto, bugs e gaps, falta de procedimentos básicos e a baixa produtividade do time
Em março de 2011, o Gartner publicou um relatório afirmando que, até o final de 2015, o DevOps se tornaria a principal estratégia
De lá para cá o DevOps teve seu “boom” e foi adotado por diversas grandes empresas.
A média de falhas geradas pelas empresas que adotaram DevOps é cerca de 50 vezes menor, se comparada
05
MAS PORQUÊ DEVOPS VAI TE AJUDAR
TANTO ASSIM?
Se ainda não está convencido com os pontos levantados acima, podemos te garantir que é possível medir em
ganhos reais os benefícios, uma vez que um deles é trocar horas de esforço humano por custo de máquina.
BENEFÍCIOS VALORES
• Gerencie o desenvolvimento de forma mais • Automação
assertiva • Confiança
• Diminua gaps e bugs • Cultura
• Automatize os processos e melhore o • Colaboração
relacionamento das áreas
• Habilite a integração e entrega contínua
• Diminua consideravelmente o Lead Time
• Maior qualidade na entrega
• Menor complexidade de gerência
• Times mais produtivos
Vale destacar que a contratação de um profissional ou uma empresa especializada para implementar as práticas
DevOps é fundamental, considerando o nível de complexidade do trabalho. Eles serão os responsáveis por adequar
a estratégia de negócio através de fluxos de trabalho eficazes, além de garantir a melhor utilização dos softwares
adotados.
06
CA PÍ T U LO 2
ADOTANDO DEVOPS
NA SUA EMPRESA
Agora que você já teve uma visão geral do que é DevOps, o surgimento
prática.
CODE DEPLOY
PL
A
N
É importante ressaltar que cada empresa atua com um ciclo de
SE
DEV OPS
E A
DevOps levando em consideração a estrutura e seus aspectos EL
OPE
R
D
BUIL
RAT
culturais. Vamos compartilhar aqui o modelo aplicado na Objective
E
Solutions, que está em evolução desde 1999.
TEST MONITOR
São elas: Plan, Code, Build, Test, Release, Deploy, Operate, Monitor.
Vem entender um pouco mais sobre cada etapa.
CODE DEPLOY
PL
A
N
SE
DEV OPS
A
LE
RE
OPE
D
BUIL
RAT
E
TEST MONITOR
que define o escopo da onde será realizado o onde os artefatos serão são testados.
executada. código.
Para cada etapa temos uma grande variedade de ferramentas que auxiliam na prática, como mostramos na figura
abaixo e abordaremos algumas nos próximos capítulos.
08
09
A ESCOLHA DO MÉTODO DE GESTÃO
Ressaltamos que DevOps não é apenas para atividades com começo, meio e fim. DevOps é uma estratégia com ciclo contínuo
Por ser uma mudança cultural e impactar no trabalho dos profissionais é sempre algo complexo de ser feito, uma vez que somos
acostumados a adotar uma prática porque sempre todos trabalharam assim e somos naturalmente resistentes às mudanças.
Por isso, algumas companhias optam por adotar parceria com empresas que são focadas e especialistas em implantação de
Metodologias Ágeis e DevOps, que tem como premissa formar equipes multidisciplinares com a correta adoção de ferramentas,
acelerar a implantação de melhorias de software, automatizar os processos de build e reduzir os erros de forma integrada,
10
CA PÍ T U LO 3
SUGESTÕES DE FERRAMENTAS
Como falamos anteriormente, para cada etapa do DevOps temos uma
automatizados.
gerenciamento de projetos. Nele são criados cartões com as tarefas para o uso da
equipe.
JIRA
ASANA
gestão de projetos.
12
SCM SOURCE CODE MANAGEMENT
CONTROLE DE VERSÃO DE CÓDIGO (CODE)
SUBVERSION
GIT
facilita a colaboração entre várias pessoas para criação e manutenção no código fonte
13
CONSTRUÇÃO (BUILD)
MAVEN
DBMAESTRO
de bancos de dados com maior confiança, uma vez que todas as atualizações serão
14
TESTES (TEST)
JUNIT
NUNIT
SELENIUM
telas do site.
15
ENTREGA (RELEASE)
DOCKERHUB
NEXUS
16
IMPLANTAÇÃO (DEPLOY)
PUPPET
CHEF
17
OPERAÇÃO (OPERATE)
AMAZON AWS
A Amazon possui um serviço chamado Amazon Web Service (AWS), que disponibiliza
AZURE
Microsoft.
18
MONITORIA (MONITOR)
SPLUNK
O Splunk é uma ferramenta analítica de logs. Nele podem ser criados alertas com
ZABBIX
forma rápida e prática. Ele possui monitores já configurados, mas podem ser criados
monitores customizados.
APPDYNAMICS
o AppDynamics.
19
CA PÍ T U LO 4
FERRAMENTAS ADOTADAS
E APROVADAS PELA OBJECTIVE
GIT MAVEN
como o Git, são fundamentais para a aplicação do construção de artefatos escritos em linguagens como
DevOps, uma vez que todo o processo de C#, RUBY, Scala e Java. Ele possui uma arquitetura
automatização, na maioria das vezes, é iniciado a partir baseada em plugins, o que permite a implementação
do código contido nessas ferramentas. deles fazer interface com as ferramentas de construção
paralelo sem alteração direta na trilha principal, Essa ferramenta traz benefícios como automatização da
código com organização e controle das alterações do código de diferentes linguagens, padronização na
O Git é uma ferramenta gratuita de código aberto. Isso E o bom é que o Maven é uma ferramenta gratuita!
20
JUNIT NEXUS
O JUnit, como ferramenta de teste de código Java, Após a construção dos artefatos é interessante o
facilita o processo de criação de código para armazenamento centralizado dos mesmos. Partindo
automatização dos testes. Com ele podem ser desse princípio, o Nexus realiza essa centralização
realizados testes unitários, em pequenos pontos do facilitando o acesso às versões do sistema e o fluxo de
esperado, o que facilita a correção de métodos e Essa ferramenta traz benefícios como centralização das
Essa ferramenta traz benefícios como testes Nexus possui duas modalidades de licenciamento, uma
simultâneos ao desenvolvimento, menos tempo na delas é gratuita, porém com menos recursos e a outra é
demanda.
21
JENKINS ZABBIX
O Jenkins é uma ferramenta muito versátil, pois muitas Para realizar a monitoria do ambiente pode ser utilizado
das tarefas são configuradas através de plugins que o Zabbix. Ele realiza a coleta e armazenamento de
podem ser diversos. Ele pode ser utilizado em alguns algumas métricas do uso dos equipamentos para
ciclos do processo. Um deles é o Release, onde nele melhor dimensionamento, escalabilidade e monitoria do
configuradas para realizar a atualização do sistema. Essa ferramenta traz benefícios como monitoria ativa e
Essa ferramenta traz benefícios como automatização Como os outros, o Zabbix é gratuito e de código aberto.
22
DOCKER JIRA
O Docker é uma ferramenta que realiza a criação de Para gerenciar as tarefas pode ser utilizado o Jira, que
pacotes de software padronizados, facilitando a criação, contém recursos personalizáveis para o controle das
Essa ferramenta traz benefícios como escalabilidade, Essa ferramenta traz benefícios como controle de
praticidade, agilidade e padronização de ambientes. atividades, controle de log de horas, controle de horas
gastas em um projeto.
uma delas é gratuita, porém com menos recursos, e a O Jira é uma ferramenta paga, e sua cobrança está
outra varia dependendo dos recursos e suporte relacionada diretamente com o número de usuários que
23
PANDOISE
replicação.
Essa ferramenta traz benefícios como padronização das principais ações de criação do
24
TASKBOARD OBJECTIVE
o time e do time para outros envolvidos como, gerentes, áreas afins e stakeholders. Favorecendo a colaboração e
fluxo, com o mantra “Stop starting and start finishing”. A Taskboard da Objective possui três níveis de atividades:
Demandas ou Épicos são mapeados para a especificação do cliente, ou seja, correspondem a incrementos de
negócio. Estórias ou Funcionalidades possuem uma descrição mais detalhada e podem ser testados pelo cliente,
Tarefas são atividades rápidas, executadas pelo time e que usualmente são categorizadas como planejamento,
25
O objetivo de qualquer time é sempre buscar fluidez das atividades em
todos os níveis no melhor ritmo sustentável possível. Para isso devemos ler +
a Taskboard do nível mais alto para o mais baixo e da direita para a
I TY
esquerda. I OR
PR
26
CA PÍ T U LO 5
TEST TOOLS
São ferramentas utilizadas efetivamente para garantia de qualidade e
descritos abaixo:
prazo
• Treinamento do sistema
1
TEST DRIVEN DEVELOPMENT Adicione
um teste
28
CA PÍ T U LO 6
na nuvem.
de negócios da empresa.
investimentos.
Entrega contínua
Maior qualidade na entrega
Menor complexidade de gerência
Times mais produtivos
Essas vantagens são conquistadas porque a computação em nuvem permite que os processos
30
Cloud Computing é uma evolução tecnológica que traz diversos benefícios,
porém, com isso, surge também novos desafios. Ou seja, nem tudo são flores.
Se esse é o seu caso e você não consegue mais demandar tempo das
têm como objetivo garantir que esses desafios sejam solucionados com
facilidade.
31
AMAZON AWS
configuradas.
A Amazon AWS é uma ferramenta com uma abordagem de pagamento conforme o uso
MICROSOFT AZURE
Microsoft.
32
CA PÍ T U LO 7
Exatamente os sistemas de grande complexidade que precisam ainda mais da disciplina e colaboração do DevOps, que vai
Até porque qualquer que seja o sistema desenvolvido, sempre há diversos componentes de software e hardware.
Talvez o nome DevOps possa remeter isso, uma vez que surgiu a partir da integração de desenvolvimento (dev) com
Entretanto, o DevOps pode ser aplicado em todo o time, uma vez que parceiros, comerciais, fornecedores, entre outros,
As execuções das práticas de DevOps são mais fáceis quando os times estão próximos, mas mesmo em times remotos ou
Por conta da integração de equipes, existe sim uma evolução da infraestrutura usando programação.
As equipes de operações precisam gerenciar grandes quantidades de código com práticas de engenharia de software,
Então um membro da equipe de operações cria uma nova versão do código que a define. Mas isso não significa, no entanto,
A maioria das equipes de infraestrutura usam idiomas como o Ruby, que são fáceis de utilizar, especialmente para pessoas
É normal que quando pensamos em DevOps as pessoas relacionarem automaticamente com a nuvem.
Uma vez que a Cloud Computing proporciona recursos de infraestrutura que permitem aos desenvolvedores obterem um
ambiente de testes automatizados rapidamente, sem esperar dias ou semanas para que uma solicitação manual seja
cumprida.
Entretanto, a nuvem não é necessária para a aplicação das práticas de DevOps. Mas vale a ressalva de que a aplicação de
DevOps sem a nuvem só será satisfatória caso a organização tenha processos eficientes para obter recursos para
Hoje grandes empresas estão investindo em DevOps porque as práticas aplicadas, já descritas neste e-book, tem um nível
de maturidade que os torna aplicáveis em grandes empresas que, inclusive, utilizam de múltiplas plataformas, tecnologias
e diversos times.
Agora que você já leu todos os pontos que abordados neste e-book pode perceber que aplicar DevOps na equipe
Exige muito estudo, dedicação, aceitação e colaboração das equipes como um todo. Implementar DevOps
requer um plano estratégico passo a passo, que depende de como você gerencia e integra os times envolvidos.
Como vimos, embora o DevOps seja principalmente sobre pessoas, as ferramentas também desempenham um
papel importante.
Mas como um start nessa mudança cultural, você já pode apresentar os benefícios mensuráveis que o DevOps
poderá agregar a sua empresa e começar com implementações simples das práticas no dia a dia.
Claro que as informações que compartilhamos irão variar dependendo da estratégia de negócio e do segmento
de cada empresa, mas independente de por onde começar ou com quem irão aplicar, é importante seguir as
empresa na remoção das barreiras departamentais, melhorar o conceito DevOps, que reúne profissionais com conhecimentos
fluxo dos processos e estruturar as ferramentas corretas nesta em Desenvolvimento, Operações e Infraestrutura, para facilitar a
sua empresa com mais agilidade e qualidade. Desenvolvimento e aumentar a entrega de valor do projeto.
Elaboramos um plano de transformação cultural para reduzir Entendemos que cada projeto é único e as ferramentas que se
drasticamente o tempo que a empresa leva para lançar novas aplicaram ao último podem não se aplicar ao próximo. Para
Nossa análise é realizada por meio de nossa expertise e escopo, tempo e custo, utilizamos práticas ágeis de
ações sugeridas para acelerar o tempo do ciclo com base em Com a observação de comportamentos, análise de indicadores
maiores áreas de oportunidade, impacto nos negócios e de performance e qualidade, identificamos problemas e pontos
desenvolvimento.
41
Para você entender e conhecer mais sobre a expertise da Objective em DevOps, apresentamos uma
linha do tempo com nossa trajetória e evolução. Foram anos de experiência e madurecimento para
1º cenário
automático Harness
Framework
Testes manuais
1ª classe
42
Equipe Técnica 20K Testes • + 40K Testes
dobra • Escalável
48h Cluster • 30 min ($)
culpados • A cada Commit
Testes base
populada
43
SÃO PAULO | SP CURITIBA | PR MARINGÁ | PR CHICAGO | USA
Rua Peixoto Gomide, 996 - 6° andar Av. João Gualberto, 1740 - 9º andar Av. Horácio Raccanelo Filho, 5355 222 Merchandise Mart Plaza - Suite 1225
Cerqueira César - CEP 01409-000 Juvevê - CEP 80030-001 Sl 1 - Zona 7 - CEP 87020-035 Chicago - Illinois - 60654
Tel.: (55 11) 3139-1900 Tel.: (55 41) 3122-9100 Tel.: (55 44) 3032-9150 Tel.: (1 312) 646-5077
[email protected] [email protected]
29