Post on 30-Nov-2014
description
Ceilândia/DF 2013-04-27
O que é DevOps afinal?Guto Carvalho
sábado, 27 de abril de 13
O que é DevOps Afinal?Entenda a cultura
Guto Carvalhogutocarvalho@gmail.com
sábado, 27 de abril de 13
José Augusto (Guto) Carvalho
Consultor/SysAdmin/Instrutor (LPIC-3 e PCP-201);
13 anos de experiência com tecnologias FOSS;
Blogueiro FOSS há 6 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, 27 de abril de 13
Plano de Trabalho
40 minutos de apresentação
10 minutos para debate
80 Slides
Faça perguntas quando quiser
Palestra disponível em slideshare.com/gutocarvalho
sábado, 27 de abril de 13
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, 27 de abril de 13
sábado, 27 de abril de 13
DEVOPS
Developers (Dev)Operations (Ops)
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
É difícil afirmar onde ou quando começaram a falar sobre devops
sábado, 27 de abril de 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
sábado, 27 de abril de 13
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, 27 de abril de 13
sábado, 27 de abril de 13
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, 27 de abril de 13
DevOpsDays
Patrick Debois, Gildas Le Nadan (endemics), Andrew Clay Shafer (rackspace), Kris Buytaert, Jezz Humble (continuousdelivery.com), Lindsay Holmwood (visage), John W i l l i s (opscode ) , Chr i s Read ( fo rmer ThoughtWorks employee) , Ju l ian S impson (buildoctor), R.I.Piennar (mcollective/puppetlabs) e muitos outros começaram a levar o DevOpsDays para outros países.
sábado, 27 de abril de 13
DevOpsDays
Rio 2013 (17 Agosto)New York 2012Rome 2012Mountain View 2012India 2012Tokyo 2012Austin 2012Goteborg 2011Bangalore 2011Melbourne 2011
Mountain View 2011Boston 2011Göteborg 2011Sao Paulo 2010Hamburg 2010Mountain View 2010 (video intro)Sydney 2010Ghent 2009
sábado, 27 de abril de 13
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, 27 de abril de 13
DevOps & CorporationInicialmente 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, 27 de abril de 13
Existe algum DevOps manifest? não!
sábado, 27 de abril de 13
First things firstAntes de falarmos mais sobre DevOps precisamos primeiro entender algumas coisas que serão importantes para a compreensão plena deste conceito.
sábado, 27 de abril de 13
Cotidiano de trabalhoTalvez 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, 27 de abril de 13
CenárioVamos 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, 27 de abril de 13
ConsideraçõesConsidere 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, 27 de abril de 13
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
Onde está o conflito?sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
ConsequênciasEquipe 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, 27 de abril de 13
ReaçõesCliente 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, 27 de abril de 13
Troca de acusaçõesDe 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, 27 de abril de 13
O combustível do conflito (infra)
sábado, 27 de abril de 13
O combustível do conflito
Eles 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, 27 de abril de 13
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, 27 de abril de 13
Nova realidadeLembra 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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
Então qual é a receita mágica?Como mudar sem afetar o negócio?
sábado, 27 de abril de 13
Mudanças necessárias
A infra precisa evoluir, e precisa fazer isto rápido
O devel precisa ter autonomia
O devel precisa ter e controle de todas as fases de deploy
O devel precisa ter condições de fazer rollback se necessário
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
Busca por soluçõesE 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, 27 de abril de 13
Tendência: Virtualização
sábado, 27 de abril de 13
Tendência: Cloud Computing
sábado, 27 de abril de 13
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, 27 de abril de 13
Ferramentas de infra ágil
Orquestradores
Ferramentas de gerência de configurações
Ferramentas de provisionamento
sábado, 27 de abril de 13
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, 27 de abril de 13
DevOps e infra ágil são a mesma coisa? não!
sábado, 27 de abril de 13
DevOps & Infra ÁgilInfraestrutura ágil é parte da cultura DevOps, ela depende de infraestutura ágil, mas ainda existe muito mais, este é apenas o lado OPS.
sábado, 27 de abril de 13
DevOps Chegou a hora de entrar neste assunto, agora nós vamos aprofundar nossos estudos em relação a cultura DevOps.
sábado, 27 de abril de 13
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, 27 de abril de 13
Aprofundando
sábado, 27 de abril de 13
Um ambiente DevOps deve oferecer
sábado, 27 de abril de 13
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, 27 de abril de 13
Devops aspectos técnicosO 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, 27 de abril de 13
Para a adoção da cultura funcionar, a equipe precisa observar e exercitar alguns valores
sábado, 27 de abril de 13
Devops valores humanosConfianç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, 27 de abril de 13
Aplicando a cultura
sábado, 27 de abril de 13
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, 27 de abril de 13
Aplicando a cultura
Ambiente StartUP
Ocorre naturalmente
Ambiente Corporativo
Necessita de um agente de mudanças
sábado, 27 de abril de 13
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, 27 de abril de 13
Onde ele atua?
sábado, 27 de abril de 13
Ganhos na adoção da cultura
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
Amarrando as pontas e respondendo as perguntas do início!
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
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 r e c o m e n d a ç ã o é q u e v o c ê e s t u d e desenvolvimento ágil e procure entender o processo de desenvolvimento do local onde você t r aba lha , e s t ude f e r r amen ta s pa r a desenvolvimento contínuo, estude ferramentas de gerência de configuração, orquestração e provisionamento,
sábado, 27 de abril de 13
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, 27 de abril de 13
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, 27 de abril de 13
Referências
http://www.kartar.net/2010/02/what-devops-means-to-me/http://itrevolution.com/the-convergence-of-devops/http://devopsdays.org/events/http://devopsweekly.com
Twitter@devopsdadys
Google Groupsdevopsdays
DevOps na rede
Palestra baseada no post: http://gutocarvalho.net/octopress/2013/03/16/o-que-e-um-devops-afinal/sábado, 27 de abril de 13
Perguntas?
sábado, 27 de abril de 13
Obrigado!
Linkedin: http://br.linkedin.com/in/gutocarv
E-mail: gutocarvalho@gmail.com
Contato
Slides: slideshare.net/gutocarvalhoBlog: gutocarvalho.net
Twitter: @gutocarvalho
sábado, 27 de abril de 13