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
DevOps
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
Antigamente
DEsenvolVimento
X
OPeraçõeS
Antigamente
DEsenvolVimento
X
OPeraçõeS
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)
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 ;-)
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)
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)
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)
O que é?
Modinha?
Buzzword?
É doce ou salgado?
É “O cara”?
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.
O que é?
DEVelopment
+
OPerationS
O que é?
DEsenvolVimento
+
OPeraçõeS
O que é?
O que é?
O que é?
Ferramentas
Code
Text
Jenkins
Git
D
ocker
Puppet
Ansible
Nagios
Splunk
Chef
Vagrant
Snort
Gradle
Bamboo
Kubernetes
Raygun
W
hiteSource
Bolt Ganglia
Sumo
Logic
O
verO
ps
Climate
New
Relic
Enterprise
D
eploy
3
Consul
Stackify
Retrace
CFEngine
Capistrano
M
onit
Supervisor
Icinga
APM
Juju
ProductionM
ap
Scalyr
Rudder
G
raylog
UpGuard
W
orksoft
Kam
atera
Kiuwan
Pagerduty
Gulp
IRA
Eclipse
SonarQube
JFrog
IBM
CARelease
RA
ELK
STACK
CodePen
TypeScript
Vuejs
Angular
Ionic
D
jango
Team
City
Sublim
e
Postm
an
Extensions
CA
Release
XebiaLabs
Pager
Duty
Plutora Loom
Systems
Clarizen
Slack
Basecamp
Asana
N
PM
G
itKraken
Visual
Studio
GitLab
Trello
Mouseflow
SurveyMonkey
Jira
Service
Desk
M
antis
Bug
Tracker
ZenDesk
SELEN
IU
M
Artifactory
Prometheus
O que faz?
●
Resolve a questão de entrega rápida das
soluções desenvolvidas para atender as
necessidades dos clientes.
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
Quem usa?
Como
“usar”
DevOps?
Como diria…
●
Vamos por partes!
… na verdade passos
7 Passos para iniciar o
DevOps
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?
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;
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.
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.
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.
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;
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.
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
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.
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;
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;
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.
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
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.
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:
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.
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.
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.
Etapas para implantação
1.Infraestrutura Ágil
2.Integração Contínua
3.Entrega ou Implantação Contínua
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.
Subetapas
1.1 INFRAESTRUTURA PADRONIZADA
1.2 MUDANÇAS CONFIÁVEIS
1.3 INFRAESTRUTURA EM CONTÊINERES
1.4 MONITORAMENTO COM FOCO EM
NEGÓCIO
Ferramentas
Subetapas
2.1 DESENVOLVIMENTO ÁGIL
2.2 FLUXO DE DESENVOLVIMENTO
OTIMIZADO
2.3 TESTES DE INTEGRAÇÃO
2.4 CONTINUOUS MONITORING EM CI
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
Ferramentas
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.
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
Ferramentas
Obrigado

Apresentacao dev ops

  • 2.
    Carlos Wagner ● Auxiliar Técnicoem 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
  • 3.
  • 4.
    Antigamente Desenvolvimento Operações Quer mudançasQuer 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
  • 5.
  • 6.
  • 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 AgileConference – Toronto/CA ● Independent Consultant ● I mainly do Servers/Network/Security ● Guide development projects to operational status and beyond ● Currently developer ;-)
  • 9.
    O que é? “...conjuntode 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)
  • 12.
    O que é? Modinha? Buzzword? Édoce ou salgado? É “O cara”?
  • 13.
    O que é? “Emessê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.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    O que faz? ● Resolvea questão de entrega rápida das soluções desenvolvidas para atender as necessidades dos clientes.
  • 21.
    Alguns Benefícios ● Melhoria naeficiê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
  • 22.
  • 23.
  • 24.
  • 25.
    … na verdadepassos 7 Passos para iniciar o DevOps
  • 26.
    1º Passo Conheça oConceito 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 pilaresdo 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 umtime 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 paramontar 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õesperió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 daaplicaçã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áriasmetodologias 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 indicadoresde 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 indicadoresde 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 indicadoresde 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 seusprocessos 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 daautomatizaçã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 emconsideraçã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 cadeiade 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 ● É precisoque 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.
  • 44.
    Etapas para implantação 1.InfraestruturaÁgil 2.Integração Contínua 3.Entrega ou Implantação Contínua
  • 45.
    1. Infraestrutura Ágil 1.crieservidores 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.
  • 46.
    Subetapas 1.1 INFRAESTRUTURA PADRONIZADA 1.2MUDANÇAS CONFIÁVEIS 1.3 INFRAESTRUTURA EM CONTÊINERES 1.4 MONITORAMENTO COM FOCO EM NEGÓCIO
  • 47.
  • 48.
    Subetapas 2.1 DESENVOLVIMENTO ÁGIL 2.2FLUXO DE DESENVOLVIMENTO OTIMIZADO 2.3 TESTES DE INTEGRAÇÃO 2.4 CONTINUOUS MONITORING EM CI
  • 49.
    2. Integração Contínua 1.encontree 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
  • 50.
  • 51.
    3. Entrega ouImplantaçã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 DEENTREGA AUTOMATIZADO 3.2 GESTÃO DE DADOS 3.3 IMPLANTAÇÃO CONTÍNUA 3.4 CONTINUOUS MONITORING EM CD
  • 53.
  • 54.