O documento apresenta os conceitos e práticas do DevOps, descrevendo: (1) O que é DevOps, como uma filosofia que promove a integração entre equipes de desenvolvimento e operações; (2) A história do DevOps e sua evolução ao longo dos anos; (3) Ferramentas comumente usadas no DevOps.
2. Carlos Wagner
●
Auxiliar Técnico em Eletrônica - CEFET-MA
●
Bacharel em Ciência da Computação -
UFMA
●
Especializando em Perícia Digital e
Computação Forense – IPOG
●
Ex-colaborador Laboro
●
Analista de suporte e infra na LAMPP-IT
●
Trabalha com Infra de Rede e Sistemas, e
Segurança em TI desde 2000l
4. Antigamente
Desenvolvimento Operações
Quer mudanças Quer estabilidade
Adicionar / Mudar Características Criar / Melhorar serviços
Não publica (“deplóia”) software
consistente
Motivação para rersistir às mudanças
Processo de desenvolvimento é ágil Processos de operação ão estáticos
7. Histórico
●
2008. Agile Conference – Toronto/CA:
(http://www.jedi.be/presentations/agile-infrastructure-agile-2008.pdf?utm_source=blog&utm_campaign=rc_blogpost)
●
2009. O’Reilly Velocity Conference – Flickr:
(https://www.youtube.com/watch?v=LdOe18KhtT4&utm_source=blog&utm_campaign=rc_blogpost)
●
2011. A chancela do Gartner e a incorporação do DevOps
pelas grandes empresas:
●
2016. Pesquisa da RightScale - New DevOps Trends: 2016
State of the Cloud Survey.
(https://blogs.flexera.com/cloud/cloud-industry-insights/new-devops-trends-2016-state-of-the-cloud-survey/)
●
2018 State of DevOps Report: Puppet e Splunk.
(https://puppet.com/resources/whitepaper/state-of-devops-report)
8. Patrick Debois
2008 Agile Conference –
Toronto/CA
●
Independent Consultant
●
I mainly do
Servers/Network/Security
●
Guide development projects to
operational status and beyond
●
Currently developer ;-)
9. O que é?
“...conjunto de práticas que automatizam os
processos entre equipes de desenvolvimento
de software e de TI para que possam criar,
testar e liberar softwares de maneira mais
rápida e confiável”
(https://br.atlassian.com/devops)
10. O que é?
“… um conjunto de práticas para integração
entre as equipes de desenvolvimento de
softwares, operações (infraestrutura ou
sysadmin) e de apoio envolvidas (como
controle de qualidade) e a adoção de
processos automatizados para produção
rápida e segura de aplicações e serviços.”
(https://www.4linux.com.br/o-que-e-devops)
11. O que é?
“… é uma abordagem para a entrega leve e
ágil de software, que promove uma
colaboração mais próxima entre as linhas de
negócios, o desenvolvimento e as operações
de TI.”
(https://www.ibm.com/br-pt/cloud/devops)
13. O que é?
“Em essência, DevOps é uma cultura, um
movimento, uma filosofia.”
A palavra DevOps originou-se da necessidade
de agilizar entregas na área de tecnologia da
informação, aperfeiçoando a comunicação,
colaboração e integrando desenvolvedores e
administradores de infraestrutura.
20. O que faz?
●
Resolve a questão de entrega rápida das
soluções desenvolvidas para atender as
necessidades dos clientes.
21. Alguns Benefícios
●
Melhoria na eficiência de negócio;
●
Ampliação da satisfação de clientes;
●
Prolongamento do tempo de permanência da
aplicação no ar;
●
Incremento de agilidade do negócio;
●
Alta na conversão de clientes;
●
Aumento do valor para o negócio;
●
Redução de custos de T.I;
●
Elevação da produtividade e na satisfação dos
funcionários
25. … na verdade passos
7 Passos para iniciar o
DevOps
26. 1º Passo
Conheça o Conceito de
DevOps
●
Como isso funciona?
●
De que forma é possível fazer com que as
equipes se aproximem?
●
De que forma essa proximidade pode
impactar efetivamente na qualidade da
produção?
27. 1º Passo
Os pilares do DevOps
• metodologias e processos rigorosos;
• princípios profissionais que priorizam a colaboração e a
quebra dos chamados “silos” tradicionais;
• mudanças culturais para melhorar mediação,
automação e compartilhamento de forças de trabalho;
28. 1º Passo
Em suma: para que o DevOps funcione, os
profissionais de desenvolvimento e de
operações de TI devem estar dispostos a
mudar sua cultura, se aproximar e trabalhar
como um único time.
29. 2º Passo
Crie um time campeão
●
os profissionais são o ingrediente-chave para que
essa abordagem funcione.
●
é preciso montar uma equipe disposta a trabalhar
de forma conjunta.
●
Alguns profissionais tendem a ter uma liderança
natural entre os grupos que devem ser
sensibilizados para a causa, disseminando a ideia
entre os demais.
30. 2º Passo
Na prática, é interessante, por exemplo,
convidar profissionais de operações a
começar a participar de reuniões com os
desenvolvedores e vice-versa.
31. 2º Passo
Como para montar uma equipe de alta
performance
●
alinhe esforços e objetivos;
●
estimule atitudes de valor, ou seja, dê liberdade
para que as pessoas proponham ideias e
melhorias;
●
trabalhe seu estilo de liderança baseado mais na
confiança do que na imposição de tarefas;
●
estimule o espírito de equipe e de colaboração;
32. 2º Passo
●
faça reuniões periódicas de análise e lições
Aprendidas;
●
desafie a quebra de paradigmas, estimule os
profissionais a pensarem e agirem diferentemente
do modo tradicional;
●
medie conflitos e trabalhe para gerenciar problemas
como desafios e não como situações que geram
estresse.
33. 3º Passo
Escolha da aplicação piloto
Após montar, manter ou criar a motivação necessária
na equipe é preciso escolher uma aplicação que gere
valor para a instituição
34. 4º Passo
Use várias metodologias
Garantir espaço e ferramentas suficientes para a
aplicação de metodologias ágeis como SCRUM e XP.
Em outras palavras, se todos os processos forem
visíveis e bem conhecidos pelos dois times, todos
poderão opinar para lidar com um incidente, por
exemplo.
35. 5º Passo
Defina indicadores de desempenho
●
frequência de deployment (lançamentos de
novas versões ou produtos);
●
duração do ciclo de desenvolvimento;
●
quantidade de falhas e incidentes;
●
tempo utilizado para corrigir erros, falhas e
problemas;
36. 5º Passo
Defina indicadores de desempenho
●
capacidade de produção em um cronograma
●
preestabelecido;
●
• produtividade individual e do time;
●
• parâmetros de qualidades das entregas
individuais e dos
●
pacotes ou do produto final;
37. 5º Passo
Defina indicadores de desempenho
●
lucratividade das aplicações finalizadas;
●
competitividade (relação entre o que a equipe
entrega e o que o mercado está oferecendo);
●
valor percebido pelo cliente e pelos usuários.
38. 6º Passo
Automatize seus processos
O DevOps, como abordagem deve ser focado na
redução de riscos operacionais, na velocidade das
entregas e na redução de obstáculos que
tradicionalmente atrapalham a integração entre os
times.
Utilizar sistemas de gerenciamento de projetos com
workflows parametrizados que facilitem para os
profissionais entender quais atividades devem ser
finalizadas para que outras sejam iniciadas
39. 6º Passo
Benefícios da automatização
●
melhor organização e colaboração entre os
profissionais;
●
definição de níveis de acesso;
●
maior controle de horas de atividade;
●
redução de custos;
●
gerenciamento mais inteligente.
40. 7º Passo
Leve em consideração uma cadeia
de ferramentas
Por fim, é muito importante a utilização de
um leque de ferramentas necessárias para
que o cenário DevOps esteja completo e os
times consigam trabalhar da forma mais
profissional e efetiva possível:
41. 7º Passo
●
Esta cadeia de ferramentas possa automatizar todo o
pipeline de deploy;
●
Cada elemento desta cadeia serve a um propósito
específico;
●
As ferramentas desta cadeia devem estar conectadas
através de API’s ou Webservices;
●
Ela não deve ser homogênea ou somente de um único
fornecedor.
●
Esta cadeia normalmente é composta de ferramentas
construídas em open source e fornecedores privados;
●
Requer um desenho de arquitetura que garanta a
interoperabilidade e consistência entre os processos.
42. O começo
●
DevOps é muito mais uma nova
visão dos trabalhos de
desenvolvimento e operações de TI
do que propriamente à implantação
de um método.
43. O começo
●
É preciso que eles visualizem o
quanto seu dia a dia de trabalho
pode ser facilitado e, ao mesmo
tempo, como ficará mais fácil medir
seus desempenhos.
45. 1. Infraestrutura Ágil
1.crie servidores automaticamente em poucos minutos
assegurando que funcionem como esperado.
2.garanta a padronização, evitando incidentes
causados por erros humanos.
3.versione sua infraestrutura como se faz com um
software.
4.aplique validações automatizadas.
5.audite mudanças, recupere versões anteriores de
seus servidores sempre que preciso.
49. 2. Integração Contínua
1.encontre e investigue bugs mais rapidamente.
2.melhore a qualidade de códigos, reduza o tempo
necessário para validar novas versões de
software.
3.garanta que os códigos dos desenvolvedores
sejam integrados sem bugs a cada iteração para
um trabalho contínuo e conjunto.
4.crie ciclos curtos e recorrentes de feedbacks
51. 3. Entrega ou Implantação Contínua
1.adote uma pipeline CD para garantir que
novas versões dos softwares já validadas
pelo processo de CI, possam ser liberadas
com segurança em Produção.
2.crie um ciclo de lançamento recorrente, para
entrega de valor constante a área de
negócios e aos usuários.
52. Subetapas
3.1 FLUXO DE ENTREGA AUTOMATIZADO
3.2 GESTÃO DE DADOS
3.3 IMPLANTAÇÃO CONTÍNUA
3.4 CONTINUOUS MONITORING EM CD