O documento discute a cultura DevOps e a integração entre infraestrutura e desenvolvimento. Apresenta palestrantes que falarão sobre suas experiências implementando práticas DevOps e a importância da colaboração entre equipes de infraestrutura e desenvolvimento. Também fornece detalhes sobre a agenda do evento, incluindo tópicos como conceitos DevOps, surgimento do termo e desafios na aplicação da cultura DevOps.
1. Cultura DevOps e integração entre infra e devel
2013-08-15
Guto Carvalho
contato@gutocarvalho.net
Colin Saliceti
colin@corp.globo.com
Leonardo Melo
l@lmello.eu.org
sexta-feira, 16 de agosto de 13
2. CONSEGI 2013
Cultura DevOps e integração entre Infra e Devel
Guto Carvalho
contato@gutocarvalho.net
Colin Saliceti
colin@corp.globo.com
Leonardo Melo
l@lmello.eu.org
sexta-feira, 16 de agosto de 13
3. Colin Saliceti
“Devops” na Globo.com
Especialista infraestrutura ágil e performance
Trabalhou como Devops em Londres e Paris para empresas totalmente não
Devops: JPMorgan, BNP, IBM, Peugeot
whoami
FOSS => Free and Open Source Software
sexta-feira, 16 de agosto de 13
4. Leonardo (Léo) Mello
Sysadmin/DevOp/Instrutor/Consultor Sr.
Especialista em sistemas operacionais linux e unix
Já atuou em projetos no Ministério do Planejamento, Dataprev, Globo.com,
RedHat e BitLov
Membro da comunidade Xen.BR e palestrante em diversos eventos
especializados como FISL e Latinoware
whoami
sexta-feira, 16 de agosto de 13
5. José Augusto (Guto) Carvalho
Consultor/SysAdmin/DevOp (LPIC-3 e PCP-201);
14 anos de experiência com TI e FOSS;
Blogueiro TI/FOSS há 10 anos no site gutocarvalho.net;
Atuação em vários projetos de Governo no MDA, MINC, EBC/RADIOBRÁS,
MPS/DATAPREV, ITI/PR, CAIXA, MD/SIPAM, DETRAN/DF;
Entusiasta DevOps (sysadmin em recuperação) desde 2010.
whoami
FOSS => Free and Open Source Software
sexta-feira, 16 de agosto de 13
6. Plano de Trabalho
60 minutos de apresentação
60 minutos para debate
84 Slides
Faça perguntas quando quiser
Palestra disponível em slideshare.com/gutocarvalho
sexta-feira, 16 de agosto de 13
7. Agenda
Apresentação do Conceito
Surgimento do termo e DevOpsDays
Conflito Infra vs Devel
Cultura DevOps e o Profissional DevOps
Como Aplicar a cultura
sexta-feira, 16 de agosto de 13
10. Principais dúvidas
O que significa DevOps?
DevOps é um movimento?
DevOps é uma filosofia, é um conceito ou uma cultura?
DevOps é uma metodologia?
DevOps é algum tipo de ambiente ou grupo de ferramentas ?
sexta-feira, 16 de agosto de 13
11. Principais dúvidas (cont.)
O especialista DevOps é um devel que entende de infra?
O especialista DevOps é um sysadmin que entende de devel?
DevOps é um cargo? é um setor ou um departamento?
DevOps só funciona em startups ?
DevOps pode funcionar no meio corporativo?
O DevOps é algo novo?
sexta-feira, 16 de agosto de 13
12. É difícil afirmar onde ou quando
começaram a falar sobre devops
sexta-feira, 16 de agosto de 13
13. Seguindo pistas...
Agile 2008 início do interesse sobre infra ágil em listas
Patrick Debois grande entusiasta e colaborador da lista
agile-sysamin ajudava a fomentar o assunto
Objetivo era trazer boas práticas de metologias ágeis
para operação da infraestrutura
sexta-feira, 16 de agosto de 13
14. Seguindo pistas...
O’Reilly Velocity 2009 palestra 10 deploys per day
at Flickr: Dev and Ops colaboration por John
Allspaw.
Patrick estava presente no evento e na palestra
Ele decide criar o evento DevOpsDays
O primeiro evento ocorreu em 2009 em Ghent
sexta-feira, 16 de agosto de 13
16. DevOpsDays
Abordar formas eficientes de administrar infraestrutura
Abordar formas eficientes de colaboração entre dev e ops
Apresentar cases, tecnologias e metodologias inovadoras
sexta-feira, 16 de agosto de 13
17. DevOpsDays
Patrick Debois, Gildas Le Nadan (endemics), Andrew Clay
Shafer (rackspace), Kris Buytaert, Jezz Humble
(continuousdelivery.com), Lindsay Holmwood (visage),
John Willis (opscode), Chris Read (former
ThoughtWorks employee), Julian Simpson
(buildoctor), R.I.Piennar (mcollective/puppetlabs) e
muitos outros começaram a levar o DevOpsDays para outros
países.
sexta-feira, 16 de agosto de 13
18. DevOpsDays
Rio 2013 (17 Agosto)
New York 2012
Rome 2012
Mountain View 2012
India 2012
Tokyo 2012
Austin 2012
Goteborg 2011
Bangalore 2011
Melbourne 2011
Mountain View 2011
Boston 2011
Göteborg 2011
Sao Paulo 2010
Hamburg 2010
Mountain View 2010 (video intro)
Sydney 2010
Ghent 2009
sexta-feira, 16 de agosto de 13
19. Revolução discreta
É importante falar que ao levar o evento para diversos
países, estas pessoas foram responsáveis por
disseminar a cultura DevOps pelo globo, com isso,
direta ou indiretamente eles se tornaram a força motriz
de uma discreta revolução no mundo da TI.
sexta-feira, 16 de agosto de 13
20. DevOps & Corporation
Inicialmente a cultura DevOps se mostrou muito
presente no ambiente das startups, porém, algum
tempo depois começou a fazer parte do mundo
corporativo, aqui vamos abordar a visão da cultura
DevOps no meio corporativo.
sexta-feira, 16 de agosto de 13
22. First things first
Antes de falarmos mais sobre DevOps precisamos
primeiro entender algumas coisas que serão
importantes para a compreensão plena deste conceito.
sexta-feira, 16 de agosto de 13
23. Cotidiano de trabalho
Talvez a melhor entender o que DevOps significa, seja
analisar de forma prática e direta a vida de sysadmins
(ops), desenvolvedores (dev) e o cotidiano de trabalho
destas áreas.
sexta-feira, 16 de agosto de 13
24. Cenário
Vamos imaginar - hipoteticamente - uma empresa de
comunicação que desenvolve aplicações web em sua maioria
para portais de notícias, e em alguns casos também faz
aplicações web internas (rh, financeiro, administrativo), nesta
empresa, o devel trabalha com PHP, PYTHON, RUBY e JAVA.
sexta-feira, 16 de agosto de 13
25. Considerações
Considere as duas características abaixo como cotidianas nesta empresa fictícia:
O Devel está começando a trabalhar com metodologias ágeis (pró-ativo, evolutivo
e contínuo) e pretente fazer vários deploys por dia.
A Infra continua trabalhando no modelo tradicional de administração (manual,
caótico e reativo) artesenal.
sexta-feira, 16 de agosto de 13
27. Devel em foco (dev)
Composta por analistas, programadores, testadores, arquitetos e engenheiros
Desenvolvem e aprimoram aplicações, trabalham com lógica e criatividade
Sua missão: Entregar o que o cliente solicita (requisitos)
Sua missão 2: Entregar no tempo acordado
Depende da equipe de infra para realizar seu trabalho
Configuração de ambientes, deploys, rollbacks, backups e restore
Sua preocupação: Agregar valor ao negócio
sexta-feira, 16 de agosto de 13
28. Infra em foco (ops)
Composta por sysadmins, sysops, engenheiros e analistas
Administra, monitora e opera os sistemas, serviços e infraestrutura
Sustenta ambientes de teste, homologação e desenvolvimento para o devel
Sua missão: Manter tudo funcionando de forma estável
Apóia o devel nos processos de Deploy e Rollback
Tem que cumprir o Acordo de nível de serviço (SLA/ANS) para diversos sistemas
Sua preocupação é proteger o valor do negócio.
sexta-feira, 16 de agosto de 13
29. Se uma aplicação para de funcionar isso significa prejuízo para
o dono da aplicação (ex. loja online), além disto, a prestadora
do serviço de sustentação pode ser multada devido a um acordo
de nível de serviço (SLA/ANS). É uma situação ruim para todos.
sexta-feira, 16 de agosto de 13
30. Onde está o conflito?
sexta-feira, 16 de agosto de 13
31. Onde está o conflito?
Desenvolvedores quer subir novas versões rapidamente
Sysadmins querem ter certeza que a aplicação está estável antes de subir
Desenvolvedores querem entregar os novos recursos ao cliente
Sysadmins querem evitar incidentes e downtime
sexta-feira, 16 de agosto de 13
32. Onde está o conflito (cont.) ?
Deploys em dias específicos do mês ou semana
Abertura de tickets para cada passo do deploy , rollback
Excesso de regras na tentativa de proteger o negócio
Este conflito tem sido latente nos últimos anos
sexta-feira, 16 de agosto de 13
33. Limitações da infra
Equipe não conhece o ambiente devel e seus processos
Equipe trabalha de forma manual e artesanal
Estavam acostumados a fazer deploy 1 vez por semana ou mês
Seus ambientes não estão preparados para 10 deploys por dia
Seus integrantes não estão preparados para 10 deploys por dia
sexta-feira, 16 de agosto de 13
34. Limitações do devel
Equipe não conhece o ambiente de infra e seus processos
Equipe está experimentando um metodologia que ainda não domina
Equipe não sabe como pedir ou como expressar suas necessidades
Equipe não sabe se sua aplicação vai quebrar em produção
Tudo passa a ser muito incerto
sexta-feira, 16 de agosto de 13
35. Consequências
Equipe de infra não dá vazão as demandas
O que é produzido no devel não roda bem na produção
Pequenos e constantes incidentes pós-deploy
Aumento no índice incidentes e rollbacks
Diminuição do valor do negócio
Infração do acordo de nível de serviço
sexta-feira, 16 de agosto de 13
36. Reações
Cliente insatisfeito, administrando prejuízo. Gerência de
TI inicia um processo de repasse da insatisfação de
forma equivocada (caça as bruxas) pressionando ambas
equipes.
sexta-feira, 16 de agosto de 13
37. Troca de acusações
De um lado o devel dizendo que infra é
engessada, lenta e que não oferece um
ambiente adequado para desenvolverem
suas aplicações. Do outro lado a infra
dizendo que o devel faz código ruim e
instável e que não é culpa deles se a
aplicação não funciona.
sexta-feira, 16 de agosto de 13
38. O combustível do conflito (infra)
sexta-feira, 16 de agosto de 13
39. O combustível do conflito
Eles (infra) falam não
Eles falam não pela segunda vez
Eles falam não pela terceira vez
Eles falam não o tempo todo por diversas razões, para diversos pedidos
Eles demoram, atrasam e perdem prazos de atendimento
sexta-feira, 16 de agosto de 13
40. O combustível do conflito (cont.)
Eles se recusam a quebrar as coisas mesmo que seja para encontrar o problema
Eles se preocupam com UPTIME e não com o negócio
Eles acham que o devel só quer saber de perfumarias e coisas do gênero
Eles não se esforçam para ajudar o devel a encontrar o problema
Eles acham que o problema do devel não é problema deles
Eles não conseguem enxergar o negócio
Eles não enxergam que infra e devel são parte de um todo
sexta-feira, 16 de agosto de 13
41. Nova realidade
Lembra do parte que dissemos que a
infra se preocupa em proteger o negócio
e o devel se preocupa com as formas de
agregar valor ao negócio?
Esqueça isto, esse modelo funcionou nos
anos 80/90/2000 mas agora é preciso
mudar, vivemos uma nova realidade em
TI.
sexta-feira, 16 de agosto de 13
42. A infra deve entender que sua obrigação é
oferecer os meios para fazer o negócio fluir, e
isso também é papel do devel.
sexta-feira, 16 de agosto de 13
43. Ambas equipes precisam mudar a forma de pensar e de agir,
porém é preciso ter consciência de que mudanças estão
associadas a problemas, uma mudança pode quebrar seu
produto e afetar o seu negócio. Mude consciente.
sexta-feira, 16 de agosto de 13
44. Então qual é a receita mágica?
Como mudar sem afetar o negócio?
sexta-feira, 16 de agosto de 13
45. Mudanças necessárias
A infra precisa evoluir, e precisa fazer isto rápido
O devel precisa ter autonomia
O devel precisa ter maior controle sobre o deploy
O devel precisa ter condições de fazer rollback se necessário
sexta-feira, 16 de agosto de 13
47. A infra precisa começar a trabalhar de forma automatizada e dinâmica,
precisa ser mais veloz para subir novos ambientes ou mesmo reconstruir/
duplicar os ambientes existentes para suprir as necessidades do devel,
não dá mais para trabalhar de forma manual e usar as mesmas
metodologias da época dos mainframes.
sexta-feira, 16 de agosto de 13
48. O devel precisa conseguir passar para infra suas necessidades
de forma clara, e tem que se esforçar para fazer a infra
entender isto - e eles não vão entender na primeira vez.
sexta-feira, 16 de agosto de 13
49. Busca por soluções
E foi a busca de soluções para estas
necessidades que motivou importantes
discussões no mundo da TI, foi então que
começaram a falar de ‘Infraesturura ágil’ no
ano de 2008, vamos agora entender o que é
isso.
sexta-feira, 16 de agosto de 13
52. Infraestrutura ágil
Infra precisa evoluir e começar a trabalhar de forma ágil
Infra como código
Deploy automatizado de aplicações
Rollback automatizado
Deploy de ambientes e infra de forma automatizado
É necessário fazer em minutos o que antes fazíamos em dias manualmente
sexta-feira, 16 de agosto de 13
53. Ferramentas de infra ágil
Orquestradores
Ferramentas de gerência de configurações
Ferramentas de provisionamento
sexta-feira, 16 de agosto de 13
54. Equipes de infra ágil
Versionamento do código e arquivos de configuração (git)
Organização de atividades de forma visual (KANBAN BOARD)
Trabalho em pares
Divisão das atividades em sprints
Reuniões ágeis diárias (standup meeting de 10 minutos - em pé)
Reuniões ágeis periódicas (retrospectiva e planejamento de sprints).
sexta-feira, 16 de agosto de 13
55. DevOps e infra ágil são
a mesma coisa? não!
sexta-feira, 16 de agosto de 13
56. DevOps & Infra Ágil
Infraestrutura ágil é parte da
cultura DevOps, ela depende
de infraestutura ágil, mas
ainda existe muito mais, este é
apenas o lado OPS.
sexta-feira, 16 de agosto de 13
57. DevOps
Chegou a hora de entrar neste
assunto, agora nós vamos
aprofundar nossos estudos em
relação a cultura DevOps.
sexta-feira, 16 de agosto de 13
58. Devops aspectos culturais
Cultura
Colaboração, fim das divisões, relações saudáveis, novo comportamento
Automação
Deploy, controle, monitoração, gerência de configuração, orquestração
Avaliação
Métricas, medições, performance, logs e integração
Compartilhamento
Feedback e boa comunicação entre a equipe
sexta-feira, 16 de agosto de 13
61. Devops aspectos técnicos
Infraestrutura como código
Orquestração de servidores
Gerência de configurações
Provisionamento dinâmico de ambientes
Controle de versões compartilhado entre infra e devel
Ambiente de desenvolvimento, teste e produção (no mínimo)
sexta-feira, 16 de agosto de 13
62. Devops aspectos técnicos
O ambiente de devel deve possibilitar TDD
Infra deve participar dos projetos desde o início [1]
Infra deve participar das reuniões de devel [2]
Devel deve participar das reuniões de infra [3]
Ambiente de entrega contínua [4]
Os desenvolvedores devem conseguir fazer o deploy sem interferência da infra [5]
Monitoramento eficaz com processamento adequado dos eventos e métricas
Capacidade de resposta rápida a incidentes e problemas
Backup e restore confiável
sexta-feira, 16 de agosto de 13
63. Para a adoção da cultura funcionar, a
equipe precisa observar e exercitar alguns
valores
sexta-feira, 16 de agosto de 13
64. Devops valores humanos
Confiança no trabalho de sua equipe
Respeito pessoal e profissional por todos da equipe
Sinceridade sobre eventos e incidentes ocorridos
Honestidade sobre as causas dos incidentes (não esconda nada da sua equipe)
Entendimento de que o problema é responsabilidade de todos
Entendimento de a solução é responsabilidade de todos
Entendimento de que os resultados são o reflexo do trabalho de toda a equipe
Comunicação efetiva e dinâmica
Postura construtiva sempre
Espírito de colaboração
sexta-feira, 16 de agosto de 13
66. Devops e métodos de trabalho
Internalize e adapte métodos ágeis como KABAN e SCRUM para seu dia-a-dia
Aprofunde estudos em entrega contínua
Aprofunde estudos em gerência de configurações, orquestração e provisionamento
sexta-feira, 16 de agosto de 13
67. Aplicando a cultura
Ambiente StartUP
Ocorre naturalmente
Ambiente Corporativo
Necessita de um agente de mudanças
sexta-feira, 16 de agosto de 13
68. O especialista Devops
Está na casa dos 30 anos ou mais
É um profissional sênior em infraestrutura
Tem um bom background em desenvolvimento
Tem um bom background em metodologias ágeis
Tem sólidos conhecimentos em soluções opensource e similares
Trabalha intensamente com automação e infraestrutura como código
sexta-feira, 16 de agosto de 13
72. Ganhos para infra
Infraestrutua como código (equipe para de administrar e passa a desenvolver a infra)
Infra mais eficiente e rápida usando métodos ágeis
Equipe de Infra mais organizada
Equipe de Infra se comunicando melhor
Infra fazendo mais em menos tempo com menos gente
Ambientes de gerência de configuração, orquestração e provisionamento implantados
Deploys de infra (novos ambientes) mais rápidos e seguros => entrega rápida
Ambiente padronizado e sob-controle
Feedback rápido em todas as atividades de infra
sexta-feira, 16 de agosto de 13
73. Ganhos para o devel
Devel tem ambiente mais adequado para trabalhar (dev/teste/prod)
Devel passa a contar com ambiente de desenvolvimento contínuo
Devel passa a contar com testes automatizados
Deploys de apps (novas versões) mais rápidos e seguros => entrega rápida
Feedback rápido em todas as fases de desenvolvimento
sexta-feira, 16 de agosto de 13
74. Ganhos mútuos (Infra e Devel)
Acaba a divisão Infra vs Devel (acaba a guerra)
Infra participa dos projetos e acompanha de perto tudo o que acontece
Infra participando resulta em melhor planejamento do ambiente de produção
Infra participando resulta em monitoramento mais eficaz da aplicação
Devel começa a compreender melhor a infra e isso resulta em um produto melhor
Equipes trabalhando em conjunto para aumentar o valor do negócio
sexta-feira, 16 de agosto de 13
75. Ganhos para a empresa
Acaba a divisão Infra vs Devel (acaba a guerra)
Infra participa dos projetos e acompanha de perto tudo o que acontece
Infra participando resulta em melhor planejamento do ambiente de produção
Infra participando resulta em monitoramento mais eficaz da aplicação
Devel começa a compreender melhor a infra e isso resulta em um produto melhor
Equipes trabalhando em conjunto para aumentar o valor do negócio
sexta-feira, 16 de agosto de 13
76. Amarrando as pontas e respondendo
as perguntas do início!
sexta-feira, 16 de agosto de 13
77. Respostas
DevOps está diretamente relacionado a um melhor feedback entre as áreas de TI.
DevOps é um movimento, é um conceito, é uma cultura e uma filosofia, e não existe uma
explicação fácil.
DevOps possibilita diminuição dos riscos de mudanças através do uso de um ferramental
adequado e adoção de uma cultura específica.
DevOps busca entregar sistemas melhores, com menor custo, fazendo isto de forma mais
rápida e com menor risco.
DevOps envolve a área de Infra e Devel primáriamente.
sexta-feira, 16 de agosto de 13
78. Respostas (cont.)
DevOps é pura metodologia ágil tando na Infra quanto no Devel.
DevOps só funciona se as equipes de infra e devel estiverem dispostas a ceder, mudar sua
cultura e método de trabalho.
DevOPs não é um cargo, tão pouco um setor ou departamento, é uma cultura.
DevOps não está restrito ao ambiente das startups, é possível utilizar essa cultura no meio
corporativo.
DevOps não é algo novo, as boas práticas estão ai desde de sempre, logo esse ‘juntado’ de
práticas não é novidade para muita gente, mas para alguns serve como uma boa referência
para aplicar mudanças necessárias.
sexta-feira, 16 de agosto de 13
79. Quero ser um especialista
DevOps, mas não sei por onde
começar, o que devo fazer?
Não há um tutorial para isto, minha
recomendação é que você estude
desenvolvimento ágil e procure entender o
processo de desenvolvimento do local onde você
trabalha, estude ferramentas para
desenvolvimento contínuo e entrega contínua,
estude ferramentas de gerência de
configuração, orquestração e provisionamento,
sexta-feira, 16 de agosto de 13
80. Uso ferramentas ágeis, sou um
profissional devops?
Não existe uma entidade certificadora, uma
prova ou alguém que possa lhe conceder este
título, não existe um manual de conduta para
dizer se você é um DevOps, se você está se
esforçando para utilizar as boas práticas, está
estimulando uma maior integração entre infra
e devel, se você está sendo o agente de
mudanças, então você está no caminho certo,
continue e persista.
sexta-feira, 16 de agosto de 13
81. Não existe caminho rápido ou uma receita
mágica, a adoção desta cultura só ocorre
se as pessoas estiverem dispostas a mudar.
sexta-feira, 16 de agosto de 13