O documento apresenta uma palestra sobre cultura DevOps. Aborda o surgimento do termo DevOps, o conflito entre equipes de infraestrutura e desenvolvimento, e como aplicar a cultura DevOps. Discutem-se também ferramentas e práticas ágeis para infraestrutura, como parte da abordagem DevOps.
3. 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
sábado, 21 de setembro de 13
4. Plano de Trabalho
50 minutos de apresentação
10 minutos para debate
84 Slides
Faça perguntas quando quiser
Palestra disponível em slideshare.com/gutocarvalho
sábado, 21 de setembro de 13
5. Agenda
Apresentação do Conceito
Surgimento do termo e DevOpsDays
Conflito Infra vs Devel
Cultura DevOps e o Profissional DevOps
Como Aplicar a cultura
sábado, 21 de setembro de 13
8. 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 ?
sábado, 21 de setembro de 13
9. 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?
sábado, 21 de setembro de 13
10. É difícil afirmar onde ou quando
começaram a falar sobre devops
sábado, 21 de setembro de 13
11. 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
sábado, 21 de setembro de 13
12. 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
sábado, 21 de setembro de 13
14. DevOpsDays
Abordar formas eficientes de administrar infraestrutura
Abordar formas eficientes de colaboração entre dev e ops
Apresentar cases, tecnologias e metodologias inovadoras
sábado, 21 de setembro de 13
15. 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.
sábado, 21 de setembro de 13
16. 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
sábado, 21 de setembro de 13
17. 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.
sábado, 21 de setembro de 13
18. 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.
sábado, 21 de setembro de 13
20. 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.
sábado, 21 de setembro de 13
21. 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.
sábado, 21 de setembro de 13
22. 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.
sábado, 21 de setembro de 13
23. 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.
sábado, 21 de setembro de 13
25. 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
sábado, 21 de setembro de 13
26. 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.
sábado, 21 de setembro de 13
27. 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.
sábado, 21 de setembro de 13
28. Onde está o conflito?
sábado, 21 de setembro de 13
29. 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
sábado, 21 de setembro de 13
30. 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
sábado, 21 de setembro de 13
31. 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
sábado, 21 de setembro de 13
32. 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
sábado, 21 de setembro de 13
33. 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
sábado, 21 de setembro de 13
34. 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.
sábado, 21 de setembro de 13
35. 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.
sábado, 21 de setembro de 13
37. 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
sábado, 21 de setembro de 13
38. 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
sábado, 21 de setembro de 13
39. 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.
sábado, 21 de setembro de 13
40. A infra deve entender que sua obrigação é
oferecer os meios para fazer o negócio fluir, e
isso também é papel do devel.
sábado, 21 de setembro de 13
41. 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.
sábado, 21 de setembro de 13
42. Então qual é a receita mágica?
Como mudar sem afetar o negócio?
sábado, 21 de setembro de 13
43. 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
sábado, 21 de setembro de 13
45. 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.
sábado, 21 de setembro de 13
46. 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.
sábado, 21 de setembro de 13
47. 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.
sábado, 21 de setembro de 13
50. 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
sábado, 21 de setembro de 13
51. Ferramentas de infra ágil
Orquestradores
Ferramentas de gerência de configurações
Ferramentas de provisionamento
sábado, 21 de setembro de 13
52. 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).
sábado, 21 de setembro de 13
53. DevOps e infra ágil são
a mesma coisa? não!
sábado, 21 de setembro de 13
54. DevOps & Infra Ágil
Infraestrutura ágil é parte da
cultura DevOps, ela depende
de infraestutura ágil, mas
ainda existe muito mais, este é
apenas o lado OPS.
sábado, 21 de setembro de 13
55. DevOps
Chegou a hora de entrar neste
assunto, agora nós vamos
aprofundar nossos estudos em
relação a cultura DevOps.
sábado, 21 de setembro de 13
56. 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
sábado, 21 de setembro de 13
59. 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)
sábado, 21 de setembro de 13
60. 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
sábado, 21 de setembro de 13
61. Para a adoção da cultura funcionar, a
equipe precisa observar e exercitar alguns
valores
sábado, 21 de setembro de 13
62. 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
sábado, 21 de setembro de 13
64. 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
sábado, 21 de setembro de 13
65. Aplicando a cultura
Ambiente StartUP
Ocorre naturalmente
Ambiente Corporativo
Necessita de um agente de mudanças
sábado, 21 de setembro de 13
66. 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
sábado, 21 de setembro de 13
70. 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
sábado, 21 de setembro de 13
71. 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
sábado, 21 de setembro de 13
72. 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
sábado, 21 de setembro de 13
73. 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
sábado, 21 de setembro de 13
74. Amarrando as pontas e respondendo
as perguntas do início!
sábado, 21 de setembro de 13
75. 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.
sábado, 21 de setembro de 13
76. 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.
sábado, 21 de setembro de 13
77. 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,
sábado, 21 de setembro de 13
78. 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.
sábado, 21 de setembro de 13
79. 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.
sábado, 21 de setembro de 13