explorando a devops
TRANSCRIPT
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
eBook
Explorando a DevOpsO que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
SumárioINTRODUÇÃO 03
CAPÍTULO 1 O que é DevOps? 04
CAPÍTULO 2 De onde surgiu a DevOps? 06
CAPÍTULO 3 Quais problemas levaram à criação da DevOps? 08
CAPÍTULO 4 Como a DevOps “funciona”? 10
CAPÍTULO 5 Quem está adotando a DevOps? 14
CAPÍTULO 6 Por que seus parceiros estão aderindo à DevOps? 16
CAPÍTULO 7 Como eu vou me beneficiar com a DevOps? 20
CONCLUSÃO 22
eBook
03
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Introdução Existem muitas opiniões diferentes sobre a DevOps, mas uma coisa é
certa: ela é real. Em poucos anos, as manchetes sobre DevOps foram de
“Mas o que é DevOps?”1 e “DevOps é uma fraude mal elaborada”2 para
“DevOps chegou para ficar”3 e “Três razões por que sua startup vai sofrer
sem DevOps.”4 Desde pequenas startups até as maiores empresas do
mundo, o setor de TI está adotando a DevOps em ritmo acelerado.
E mesmo assim, a maioria dos profissionais de TI não sabem nada sobre
DevOps ou tem apenas um conhecimento superficial sobre o panorama
geral. Se você está em alguma dessas categorias, este eBook foi feito
para você. Nas próximas páginas, vamos responder algumas perguntas
básicas, que lhe ajudarão a entender melhor a DevOps:5
• O que é DevOps?
• De onde surgiu?
• Quais problemas levaram à DevOps?
• Como a DevOps “funciona”?
• Qual a extensão da DevOps hoje em dia?
• Por que as pessoas estão adotando a DevOps?
• Quais são as vantagens?
1 James Turnbull, “What the F*** is DevOps?”, publicação em blog, https://coderwall.com/p/zhf8gq, maio de 2010.
2 Ted Dziuba, “Devops is a Poorly Executed Scam”, publicação em blog, http://widgetsandshit.com/teddziuba/2011/03/devops-scam.html, março de 2011.
3 “The New Normal of DevOps”, white paper da CA Technologies, http://www.ca.com/us/~/media/Files/whitepapers/the-new-normal-of-devops.pdf, dezembro de 2013.
4 “Three Reasons Your Startup Will Suffer Without DevOps”, Readwrite, http://readwrite.com/2014/01/01/three-reasons-your-startup-needs-devops-or-else.
5 Damon Edwards, “The History of DevOps”, IT Revolution Press, http://itrevolution.com/the-history-of-devops.
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 1
O que é DevOps?
eBook
05
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
O termo DevOps nasceu em 2009 por Patrick Debois, que se
tornou um de seus gurus. O termo foi formado pela combinação de
“desenvolvimento” e “operações”, o que oferece um ponto de partida
para entender exatamente o que as pessoas querem dizer quando
falam “DevOps”. É importante notar que DevOps não é um processo,
tecnologia nem um padrão. Muitos devotos se referem à DevOps
como uma “cultura”, um termo que a New Relic se favorece. Nós
também utilizamos o termo “movimento DevOps”, quando falamos
sobre tópicos como taxas de adesão e tendências para o futuro, e
“ambiente DevOps”, para nos referirmos a uma organização de TI que
tenha adotado a cultura DevOps.
Este eBook ainda terá muito a dizer sobre DevOps, mas, para
começar, precisamos de uma definição prática:
DevOps (um amálgama de desenvolvimento e operações) é um
método de desenvolvimento de software que enfatiza a comunicação,
a colaboração e a integração entre os desenvolvedores de software e
os profissionais de operações de tecnologia da informação (TI).6
6 “Big Data Drives Rapid Changes in Infrastructure and $232 Billion in IT Spending Through 2016”, Gartner Research, outubro de 2012.
7 Entrevista, 13 de março de 2014
O que é DevOps?
“A DevOps bem-sucedida é o respeito mútuo entre o desenvolvimento e as operações. Você fornece um código de qualidade e eu vou fornecer uma plataforma de qualidade para executar esse código. Nós podemos ter opiniões diferentes sobre como fazer isso, mas, no fim do dia, nós estaremos juntos fornecendo um software que funciona como o prometido e atende às necessidades dos clientes”.7
—Mike Surma, Engenheiro de DevOps, Rackspace
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 2
De onde surgiu a DevOps?
eBook
07
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Apesar do tom mítico de algumas histórias sobre sua origem, a DevOps não
foi criada do nada. Na verdade, as sementes da DevOps foram plantadas há
muito tempo e cultivadas por especialistas de TI que pensavam a frente de
seu tempo em inúmeras disciplinas. Um comentarista disse que a DevOps
é uma “plataforma perfeita”8 e existem muitas evidências para corroborar
isso. Os dois antecedentes principais da DevOps são:
• Gestão de sistemas corporativos. Muitos dos envolvidos na definição
inicial de DevOps eram administradores de sistemas. Esses especialistas
em operações trouxeram as práticas recomendadas da gestão
de sistemas corporativos fundamentais para a DevOps, incluindo
gerenciamento de configuração, monitoramento de sistemas, provisão
automatizada e a abordagem com cadeias de ferramentas.
• Desenvolvimento de Agile. Um observador chamou a DevOps de
“Agile bombado”.9 A DevOps incorpora diversos princípios, métodos
e práticas de Agile, como fornecimento contínuo, integração contínua,
e colaboração.10 A DevOps leva os princípios do Agile à administração
de sistemas e, finalmente, ao espectro completo das operações de TI.
Nas palavras de um pioneiro da DevOps com 15 anos de experiência em
administração de sistemas, o setor de operações estava precisando ser
atualizado há muito tempo:
Os administradores de sistemas se permitiram ficar para trás com
relação ao que há de mais moderno. Essas novas tecnologias estão
finalmente nos obrigando a modernizar nosso modo de trabalho. E eu
acho que esse é um desafio bem-vindo e saudável.11
Por que isso é importante? Tem a ver com a credibilidade básica do
movimento. Longe de ser um manifesto estranho de alguns geeks da TI,
a origem da DevOps é, na verdade, bastante convencional. A DevOps une
uma disciplina bem-estabelecida de operações com uma metodologia de
desenvolvimento comprovada, onde cada metade do acrônimo representa
as práticas recomendadas de cada ofício. E essa união reflete o fato da
DevOps integrar desenvolvimento e operações em uma entidade resoluta
com objetivos comuns: software de alta qualidade, lançamentos mais
rápidos e maior satisfação dos clientes. Mais uma vez, são preocupações
corporativas totalmente convencionais.
De onde surgiu a DevOps?
8 Ernest Mueller, “What is DevOps?” the agile admin, http://theagileadmin.com/what-is-devops (dezembro de 2011).
9 Aniket Deshpande, “DevOps” an Extension of Agile Methodology – How It will Impact QA?”, Software Testing Help, http://www.softwaretestinghelp.com/devops-and-software-testing.
10 Jack Crews, “Agile Values, Principles and Practices”, apresentação online, http://www.slideshare.net/jackcrews/agile-values-principles-and-practices.
11 Ernest Mueller, “Q&A: Ernest Mueller on Bringing Agile to Operations”, http://dev2ops.org/2010/04/qa-ernest-mueller-on-bringing-agile-to-operations, 2010.
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 3
Quais problemas levaram à criação da DevOps?
eBook
09
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Desenvolvedores e administradores de sistemas discordam em muitos aspectos,
mas concordam que os clientes no setor corporativo frequentemente os puxam
em duas direções diferentes. Por um lado, os usuários corporativos exigem
mudanças: novos recursos, novos serviços, novos fluxos de receita, tudo o mais
rapidamente possível. Ao mesmo tempo, eles também querem um sistema
estável e sem interrupções. Isso gera um problema:
O problema com o processo tradicional de fornecimento de software (ou
sua ausência) é que ele não está bem adaptado para oferecer suporte a
essas duas exigências simultaneamente. Portanto, as empresas precisam
escolher entre fornecer mudanças rápidas e ficar com um ambiente de
produção bagunçado ou manter um ambiente estável, porém ultrapassado.12
Não é de surpreender que nenhuma das opções sejam aceitáveis para os
executivos corporativos. E, mais importante do que isso, nenhuma delas permite
que as empresas ofereçam as melhores soluções possíveis para os clientes.
Todos os desenvolvedores também estão querendo lançar os softwares cada vez
mais rápido, afinal, é para isso que eles costumam ser contratados. A parte de
operações, por outro lado, sabe que as mudanças aceleradas sem as medidas de
segurança adequadas ameaçam desestabilizar o sistema, o que vai diretamente
contra seu estatuto.
A DevOps foi criada para solucionar esse dilema, integrando todos aqueles
que estão associados ao desenvolvimento e à implantação de software, como
usuários empresariais, engenheiros de testes e administradores de sistemas, em
um fluxo de trabalho único e altamente automatizado com a atenção voltada
para apenas isto: fornecimento rápido de softwares de alta qualidade que
atendam a todas as exigências dos usuários, ao mesmo tempo em que mantêm a
integridade e a estabilidade de todo o sistema.
Como esses grupos díspares unem forças? Subscrevendo a uma série comum de
princípios que transcendem os limites e os papeis tradicionais da disciplina como,
por exemplo:
• Garantia de que todas as equipes estejam trabalhando tendo em vista o
mesmo objetivo e sendo avaliadas pelas mesmas métricas empresariais.
• Manutenção de ciclos de desenvolvimento curtos que permitam que a
empresa responda rapidamente aos requisitos de mudanças.
• Utilização de estratégias de implantação progressiva e sinalização de
recursos que facilitem a ativação ou desativação de novos recursos na
produção sem reimplantações.
• Criação de um ciclo de retorno extremamente rápido que permita a
identificação e a correção de problemas quase imediatamente pelas
equipes adequadas.
• Reflexão sobre como se tornar mais eficiente como uma equipe e, então,
ajustar e adaptar seu comportamento de acordo.13
Quais problemas levaram à criação da DevOps?
12 Niek Bartholomeus, “My experience with introducing DevOps in a traditional enterprise”, http://niek.bartholomeus.be/2013/01/28/introducing-a-devops-culture-in-a-traditional-enterprise, 28 de janeiro de 2013.
13 Ernest Mueller, “A DevOps Manifesto”, the agile admin, http://theagileadmin.com/2010/10/15/a-devops-manifesto, 15 de outubro de 2010.
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 4
Como a DevOps “funciona”?
eBook
11
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Como todas as culturas, a DevOps tem muitas variações nesse tema.
Contudo, a maioria dos espectadores concordam que as seguintes
qualidades são comuns a, virtualmente, todas as culturas DevOps:
colaboração, automatização, integração, fornecimento contínuo, testes
contínuos, monitoração contínua e correção imediata.
ColaboraçãoEm vez de ficarem se acusando, o desenvolvimento e as operações de TI
trabalham juntos (de verdade). Embora a falta de conexão entre esses dois
grupos tenha gerado o ímpeto para sua criação, a DevOps se estende para
muito além da organização de TI, pois a necessidade de colaboração abrange
todos que participam do fornecimento de software (não apenas entre Dev e
Ops, mas todas as equipes, inclusive testes, gestão de produtos e executivos):
A DevOps bem-sucedida requer corporatividade, desenvolvimento,
controle de qualidade e organizações de operações para coordenar e
desempenhar papeis significativos em diferentes fases do ciclo de vida
do aplicativo. Pode ser difícil, até impossível, eliminar os silos, mas a
colaboração é essencial.14
AutomaçãoA DevOps depende muito da automação, e isso significa que você precisa
de ferramentas. Ferramentas que você constrói. Ferramentas que você
compra. Ferramentas de código aberto. Ferramentas proprietárias. E
essas ferramentas não ficam espalhadas pelo laboratório à toa: a DevOps
depende de cadeias de ferramentas para automatizar grande parte do
desenvolvimento total de software e do processo de implantação.
Aviso: como as ferramentas DevOps são incríveis, tendemos a ver a DevOps
como uma simples coleção de ferramentas. Embora seja verdade que a
DevOps dependa de ferramentas, ela é muito mais do que isso.
Integração contínua Você geralmente encontra integração contínua nas culturas DevOps porque
ela surgiu de uma cultura de Agile, sendo que a integração contínua é um
princípio fundamental da abordagem de Agile:
A integração contínua (IC) é uma prática de engenharia de software
na qual mudanças isoladas são imediatamente testadas e relatadas
quando são adicionadas a uma base de códigos maior. O objetivo da IC
é oferecer retorno rápido, de modo que, se um defeito for introduzido
na base de código, ele poderá ser identificado e corrigido o mais rápido
possível. A regra mais comum é que cada membro da equipe envie o
trabalho diariamente (ou com mais frequência) e que uma compilação
seja realizada com cada alteração significativa.15
O princípio de integração contínua do desenvolvimento de Agile tem implicação
cultural para o grupo de desenvolvimento. Forçar os desenvolvedores a integrar
seu trabalho com o de outros desenvolvedores frequentemente, pelo menos
diariamente, expõe problemas de integração e conflitos muito antes do que
como acontece com o desenvolvimento em cascata.
Como a DevOps “funciona”?
14 Laurie Wurster et al, “Emerging Technology Analysis: DevOps a Culture Shift, Not a Technology”, relatório da Gartner, agosto de 2013.
15 Margaret Rouse, “Continuous Integration (CI)”, SearchSoftwareQuality, http://searchsoftwarequality.techtarget.com/definition/continuous-integration, julho de 2008.
eBook
12
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Contudo, para alcançar esse benefício, os desenvolvedores precisam se
comunicar entre si com muito mais frequência, o que vai contra a imagem
daquele programador gênio e solitário que trabalha durante semanas
ou meses em um módulo até estar “pronto” para mostra-lo ao mundo. A
semente da comunicação aberta e frequente floresce na DevOps.
Testes contínuos É fácil negligenciar a parte de testes da DevOps... até você se dar mal. Como
explica um especialista no setor, “o custo da qualidade é o custo da falha”.16
Embora a integração e o fornecimento contínuos dominem as manchetes, os
testes contínuos estão, aos poucos, encontrando seu lugar como uma parte
igualmente crucial da DevOps.
Os testes contínuos não são apenas uma função de controle de qualidade,
na verdade, eles começam no ambiente de desenvolvimento. Os dias
em que os desenvolvedores podiam simplesmente jogar o código nas
mãos do controle de qualidade e dizer “Toma aí” acabaram. Em um
ambiente DevOps, todo mundo se envolve nos testes. Os desenvolvedores
certificam-se de, além de entregar códigos sem erros, fornecer conjuntos de
dados de teste. Eles também ajudam os engenheiros de teste a configurar o
ambiente de teste de modo a ficar o mais parecido possível com o ambiente
de produção.17
Já para o controle de qualidade, a maior necessidade é velocidade.
Afinal, se o ciclo de controle de qualidade levar dias ou semanas, você
voltará àquele longuíssimo cronograma típico do modelo em cascata. Os
engenheiros de teste enfrentam o desafio das respostas rápidas, não só por
terem que automatizar grande parte do processo de teste, mas por redefinir
as metodologias de teste:
Em vez de fazer do teste uma sequência separada e longa no processo
ainda maior de implantação, os praticantes do fornecimento contínuo
lançam pequenas atualizações quase constantemente, avaliam seu
desempenho e rapidamente as revertem, se for necessário.18
Embora possa ser uma surpresa, as funções de operações têm um papel
importante a desempenhar no teste e no controle de qualidade:
As operações têm acesso aos padrões de carga e uso de produção.
Esses padrões são essenciais para a equipe de controle de qualidade
criar um teste de carga que exercite adequadamente o aplicativo.19
As operações também podem garantir que as ferramentas de gerenciamento
estejam implantadas e os ambientes de teste configurados adequadamente.
Elas podem participar de testes funcionais, de carga, estresse e vazamento,
além de oferecer análises com base na experiência com aplicativos parecidos
em fase de produção.
A recompensa dos testes contínuos vale o esforço. A função de testes em
um ambiente DevOps ajuda os desenvolvedores a equilibrar qualidade e
velocidade. Usar ferramentas automatizadas reduz o custo dos testes e permite
que os engenheiros de teste aproveitem seu tempo com mais eficiência. Acima
de tudo, os testes contínuos encurtam os ciclos de teste permitindo que testes
de integração antecipados no processo.
16 Wayne Ariola, SYS-CON.tv, entrevista na 13º International Cloud Expo®, http://devopssummit.sys-con.com/node/2912573, 4 a 7 de novembro de 2013.
17 Sanjeev Sharma, “Understanding DevOps – Part 4: Continuous Testing and Continuous Monitoring”, publicação em blog, http://sdarchitect.wordpress.com/2012/10/30/understanding-devops-part-4-continuous-testing-and-continuous-monitoring, outubro de 2012.
18 http://www.pwc.com/us/en/technology-forecast/2013/issue2/features/devops-continuous-delivery.jhtml.
19 Jim Hirschauer, “DevOps Scares Me – Part 4: Dev and Ops Collaborate Across the Lifecycle”, DZone, http://java.dzone.com/articles/devops-scares-me-part-4-dev, agosto de 2013.
eBook
13
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Os testes contínuos também eliminam os gargalos nos testes por meio de
serviços dependentes virtualizados e simplificam a criação de ambientes de
teste virtualizados que podem ser facilmente implantados, compartilhados
e atualizados conforme o sistema muda. Esses recursos encurtam o custo
de provisionamento e manutenção dos ambientes de teste, além de
encurtarem o tempo do ciclo de teste permitindo os testes de integração
antecipados no ciclo de vida.20
Fornecimento contínuo Nas palavras de um comentarista, “o fornecimento contínuo não é nada além
de levar o conceito de integração contínua para a próxima etapa”.21 Em vez de
terminar na porta do laboratório de desenvolvimento, a integração contínua
na DevOps se estende para toda a cadeia de lançamento, incluindo controle
de qualidade e operações. O resultado disso é que lançamentos individuais
são muito menos complexos e são realizados com muito mais frequência.
A frequência de lançamento real varia bastante, dependendo do legado e
dos objetivos da empresa. Por exemplo, uma empresa da lista Fortune 100
aprimorou seu ciclo de lançamento de uma vez por ano para uma vez por
trimestre, uma taxa de lançamento que parece ínfima comparada às centenas
de lançamentos por hora alcançados pela Amazon.
O que exatamente é lançado também varia. Em algumas organizações,
controle de qualidade e operações fazem a triagem dos potenciais
lançamentos: muitos vão diretamente para os usuários, alguns voltam para
o desenvolvimento e poucos simplesmente não são implantados. Outras
empresas, onde a Flickr é um exemplo notável, lançam tudo o que sai dos
desenvolvedores para os usuários e contam com o monitoramento em tempo
real e a correção imediata para minimizar o impacto de uma falha rara.
Monitoramento contínuo Devido à grande quantidade de lançamentos, não é possível implementar o
tipo de teste rigoroso pré-lançamento que caracteriza o desenvolvimento
em cascata. Portanto, em um ambiente DevOps, as falhas devem ser
encontradas e corrigidas em tempo real. Como isso é feito? Uma grande
parte é pelo monitoramento contínuo.
De acordo com um conhecedor, os objetivos do monitoramento contínuo
são determinar rapidamente quando um serviço está indisponível,
entender as causas subjacentes e, sobretudo, aplicar esses aprendizados
para antecipar os problemas antes que ocorram.22 Na verdade, alguns
especialistas em monitoramento defendem que a definição de um serviço
deve incluir o monitoramento, pois o veem como parte integrante do
fornecimento de serviço.
Como os testes, o monitoramento começa no desenvolvimento. As
mesmas ferramentas que monitoram o ambiente de produção podem ser
empregadas no desenvolvimento para localizar problemas de desempenho
antes que cheguem à produção.
Dois tipos de monitoramento são exigidos na DevOps: monitoramento do
servidor e monitoramento do desempenho do aplicativo. As discussões
sobre monitoramento levam rapidamente a discussões sobre ferramentas,
pois não existe monitoramento eficiente sem as ferramentas adequadas.
Para ver uma lista de ferramentas de DevOps (e mais conteúdo relacionado
a DevOps), visite o DevOps Hub da New Relic.
20 “Enterprise testing capability for continuous software delivery”, http://www.ibm.com/ibm/devops/us/en/build/test/.
21 Sanjeev Sharma, “Understanding DevOps – Part 2: Continuous Integration and Continuous Delivery”, publicação em blog, http://sdarchitect.wordpress.com/2012/09/25/understanding-devops-part-2-continuous-integration-and-continuous-delivery, setembro de 2012.
22 Julien Pivotto, “The devops approach to monitoring”, apresentação no Open World Forum, http://www.slideshare.net/roidelapluie/devops-andmonitoringowf13, outubro de 2013.
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 5
Quem está adotando a DevOps?
eBook
15
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
A adesão à DevOps está acelerando. Um estudo feito em dezembro de 2012
com mais de 4.000 profissionais de TI descobriu que 63% dos participantes
haviam implementado práticas de DevOps, um surpreendente aumento de
26% em relação ao ano anterior.23 Embora ainda não seja uma tendência
dominante, a DevOps está claramente ganhando força.24
Quais tipos de empresas estão, ou deveriam estar aderindo à DevOps?
Depende de para quem você pergunta. Uma escola de pensamento vê a
DevOps como a resposta certa para todo mundo, desde pequenas startups
até gigantes da tecnologia: “A DevOps, agora, é um modo de vida e ignorá-la
pode levar ao êxito ou ao fracasso uma empresa de qualquer porte”.25
Outros afirmam que o tamanho importa... e muito. De acordo com essa
visão, a DevOps é facílima para as empresas menores, mas a cultura das
corporações maiores pode ser um problema significativo: “Se não há boa
colaboração no DNA da empresa, será preciso mais tempo e esforço para
introduzir a DevOps com sucesso.”26
O fato é que a DevOps está evoluindo tão rapidamente que é difícil até
mesmo caracterizar o nível de adesão de maneira significativa. Contudo,
existem muitas evidências mostrando que o tamanho em si não prediz o
sucesso da DevOps.
Considere primeiro os figurões. Peça a uma dúzia de convertidos à DevOps
para nomear as maiores histórias de sucesso e a maioria dirá os mesmos
quatro ou cinco nomes: Google, Twitter, Amazon, Netflix e Facebook. Sua
capitalização de mercado combinada de mais de USD $717 bilhões em 2014
ultrapassa o PIB de quase todos os países do mundo, exceto de dezenove.
Muitos observadores da indústria acreditam que a DevOps, ou algo que se
parece muito com ela, foi um componente essencial em seu crescimento
meteórico. “Esses são os sucessos de arranque que só puderam acontecer
devido a uma nova filosofia de operação... O sucesso deles, em muitas
maneiras, é um mapa que mostra como a DevOps pode ser bem-sucedida
em organizações de todos os tamanhos”.27
Na outra ponta do espectro estão as startups “modernas, originais e
interessantes”, como Tumblr, Evernote, Etsy, e Github, para nomear
algumas, que brincam com os figurões em grande parte porque a DevOps
as ajuda a impulsionar equipes pequenas para rendimentos gigantescos:
“Os processos de TI e as metodologias de desenvolvimento de produtos
tradicionais não ajudariam essas pequenas empresas a competir com
corporações muito maiores.”28
Quem está adotando a DevOps?
23 “2013 State of DevOps Report”, Puppet Labs e IT Revolution Press, https://puppetlabs.com/wp-content/uploads/2013/03/2013-state-of-devops-report.pdf.
24 Kyt Dotson, “DevOps Interview: Raja Bhargava, CEO da JumpCloud http://devopsangle.com/2014/01/07/devops-interview-rajat-bhargava-ceo-of-jumpcloud/.
25 Adam Duro, “Three Reasons Your Startup Will Suffer Without DevOps”, readwrite, http://readwrite.com/2014/01/01/three-reasons-your-startup-needs-devops-or-else, 1º de janeiro de 2014.
26 “The New Normal of DevOps”, white paper da CA Technologies, http://www.ca.com/us/~/media/Files/whitepapers/the-new-normal-of-devops.pdf, dezembro de 2013.
27 James B. Brown, “5 Reasons Why DevOps is Hitting Its Stride”, Innovation Insights, http://insights.wired.com/profiles/blogs/5-reasons-why-devops-is-hitting-its-stride#ixzz2x6O8QnIA, março.
28 Ibid.
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 6
Por que seus parceiros estão aderindo à DevOps?
eBook
17
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
A DevOps tem algo a oferecer para todo mundo na corrente de software:
desenvolvedores, operações e testes. Além disso, a DevOps alcança até o
setor empresarial: gerentes que monetizam o software e executivos que
se preocupam com o resultado final. Aqui estão algumas das vantagens
citadas por cada grupo.
DesenvolvedoresO provisionamento automatizado é excelente para os programadores,
porque eles podem levantar um ambiente de desenvolvimento por conta
própria sem burocracia, sem ciclos de aprovação longos, sem precisar
esperar que a TI providencie um servidor, ou seja, não há perda de tempo.
Quando os desenvolvedores conseguem provisionar um ambiente de
trabalho em 15 minutos, com todos os recursos certos, como energia de
computação, armazenamento, rede e aplicativos, a maneira como eles
trabalham muda. Eles podem ser muito mais criativos e inovadores. É muito
mais fácil experimentar várias opções, executar diferentes cenários e testar
o código mais minuciosamente.
Quando os desenvolvedores começam a trabalhar em um mundo de DevOps
pela primeira vez, para muitos, uma experiência verdadeiramente reveladora
é entender o que realmente acontece dentro daquela caixa-preta nomeada
“Operações”. Esse conhecimento ajuda os desenvolvedores a trabalharem
de modo eficaz com as operações em um modo de resolução de problemas
conjunto. Os problemas são resolvidos mais rapidamente e causam menos
distrações. O melhor de tudo é que os telefonemas frenéticos tarde da noite
se tornam coisa do passado, o que leva diretamente a maior satisfação no
trabalho e melhor qualidade de vida para os desenvolvedores.
OperaçõesHá uma crença muito difundida de que os administradores de sistemas
ficam constantemente obcecados pela estabilidade do sistema e, de fato,
isso é verdade. Os piores pesadelos deles são um lançamento de software
que tire o sistema do ar segundos após a implantação de produção,
desenvolvedores que se eximem das responsabilidades (“O código é seu
agora!”), usuários em vários níveis de indignação e nenhum caminho claro
para uma solução rápida e eficaz.
Os pioneiros da adoção dos métodos de DevOps descobriram que o maior
envolvimento dos desenvolvedores realmente melhora a estabilidade do
sistema. A automatização também ajuda a eliminar as falhas humanas
comuns em operações manuais e tem a vantagem adicional de reduzir
o tempo gasto em tarefas de rotina. Também há a questão da qualidade
de vida para os administradores de sistemas, na forma de construção
de habilidades, oportunidades de carreira, além de muito mais horas de
sono ininterruptas e mais tempo para si. Em um ambiente de DevOps, o
setor de operações depende muito mais de ferramentas do que em um
ambiente tradicional, muitas vezes construindo suas próprias ferramentas e
escrevendo scripts que automatizem porções do processo de implantação.
Por que seus parceiros estão aderindo à DevOps?
eBook
18
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Engenheiros de teste O impacto que a DevOps teve no setor de testes pode ser resumido em duas
palavras: Chaos Monkey. A Netflix desenvolveu essa ferramenta notável e
inovadora para quebrar o seu próprio software!29
O Chaos Monkey funciona sob o princípio de que a melhor maneira de
evitar falhas grandes é falhando constantemente. O software simula
falhas em instâncias de serviços, derrubando uma ou mais máquinas
virtuais. Assim, é possível se preparar para falhas maiores inesperadas,
em vez de só ficar esperando a catástrofe acontecer para então ver se é
possível administrá-la.30
A DevOps requer novas maneiras para testar softwares, o que desafia os
engenheiros de testes a inovarem no setor, exatamente o estimulo que
levou à criação do Chaos Monkey. Com o provisionamento automatizado, os
engenheiros de teste podem provisionar um ambiente de teste virtualmente
idêntico ao ambiente de produção, resultando em testes mais precisos
e maior capacidade de previsão do desempenho de novos lançamentos.
Como com os outros grupos, a produtividade dos engenheiros de teste
aumenta graças à automatização e à colaboração.
Gerentes de produto Tecnicamente, a DevOps só diz respeito à função de TI da empresa. Contudo,
aqueles que fizeram a transição vão dizer que a DevOps muda tudo:
Uma estratégia de DevOps eficaz permite que a organização analise,
pela primeira vez e em tempo real, dados de análise da web, dados
de máquina e dados estruturados existentes, para obter uma visão
completa de como os sistemas voltados aos clientes estão ou não
fornecendo valor comercial. A DevOps permite que as organizações
entendam o comportamento de clientes individuais, quais ações eles
tomam e como seu comportamento se compara ao de outros clientes.
Ela permite que uma organização execute análises hipotéticas de
variações em sua interface do usuário ou ofertas de produto. Com base
nos resultados dessas análises preditivas e da experiência de campo real,
o lado do “desenvolvimento” de Agile da DevOps permite, então, que as
organizações respondam às necessidades de mercado mais rapidamente
do que nunca.31
Vamos esmiuçar isso um pouco. Em um ambiente de DevOps, as
partes comerciais interessadas têm maior influência sobre o processo
de desenvolvimento. Graças ao espírito colaborativo da DevOps, os
desenvolvedores realmente se importam com os requisitos comerciais e
criam relações com os gerentes de produto. A DevOps também fornece aos
gerentes de produtos retorno imediato sobre o impacto de novos preços,
recursos e pacotes de produtos, permitindo que eles testem as variações e
avaliem sua eficácia.
Gerentes de linha de negócios adoram a DevOps porque o software entra
no mercado mais rapidamente, dando a eles a vantagem competitiva que
desejam. Como a DevOps melhora a estabilidade do sistema, os clientes
enfrentam menos interrupções e são, portanto, mais leais, o que é a solução
ideal para as altas taxas de cancelamento.
29 http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html.
30 Margaret Rouse, “Chaos Monkey”, WhatIs.com, http://whatis.techtarget.com/definition/Chaos-Monkey, agosto de 2013.
31 Kapil Apshankar, “How DevOps Drives Real-Time Business Growth”, white paper da Cognizant, http://www.cognizant.com/InsightsWhitepapers/How-DevOps-Drives-Real-Time-Business-Growth.pdf, 2013.
eBook
19
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
ExecutivosQuando Patrick Debois e outros magos da TI iniciaram o movimento
DevOps, eles certamente não estavam preocupados com como ela seria
recebida pelo conselho empresarial. Apenas cinco anos depois, a DevOps é
tendência nesses mesmos conselhos.
Do que os executivos gostam na DevOps? Em primeiro lugar, ela ajuda a
organização a fornecer produtos de alta qualidade e colocá-los no mercado
muito mais rapidamente do que os concorrentes com métodos tradicionais
de desenvolvimento de software. Essas são ações que têm impacto sobre o
resultado final e valorizam a marca. Outro motivo é a habilidade de atrair e
manter os melhores talentos: desenvolvedores, administradores de sistemas
e engenheiros de testes de alta qualidade querem trabalhar com o que
há de melhor e mais atual. Por fim, quando desenvolvedores, operações e
controle de qualidade trabalham juntos, os principais executivos raramente
são puxados para disputas interdepartamentais, liberando o tempo deles
para elaborarem os objetivos empresariais concentrados que todo mundo,
agora, une esforços para alcançar com sucesso.
32 Entrevista, quinta-feira, 6 de fevereiro de 2014
“A minha mentalidade foi desacelerar o processo de lançamento. Eu queria ter o mínimo possível de lançamentos, para que pudesse ter certeza de que o sistema seria estável. Após trabalhar por vários anos em um ambiente de DevOps, eu dei uma virada completa de 180 graus. Agora, minha filosofia é: quanto mais frequentemente a gente implanta, melhor”.32
—Aaron Bento, Engenheiro de confiabilidade de site, New Relic
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
CAPÍTULO 7
Como eu vou me beneficiar com a DevOps?
eBook
21
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Fontes confiáveis relatam algumas vantagens bastante notáveis alcançadas
com a DevOps. Contudo, é necessário ter cautela. Suponha que você escute
alguém dizer “Eu estou fazendo 10 quilômetros por litro”. Qual carro?
Qual tipo de estrada? Se ele estiver falando sobre uma picape F-150 em
estradas não pavimentadas, esse número é tão alto que você simplesmente
não acreditaria. Por outro lado, para um Celta novo utilizado apenas em
autoestradas, 10 quilômetros por litro indicaria problemas sérios. O contexto
é importante. Então, sempre que se deparar com relatos sobre melhorias
relacionadas à DevOps, saiba que os seus resultados podem variar.
Dito isso, uma pesquisa feita pelo Puppet Labs33 revelou que quem adotou a
DevOps lança softwares 30 vezes mais rápido do que seus colegas de setor.
A qualidade dos produtos de software também é maior, como indicado
pela descoberta de que os aplicativos DevOps têm metade dos fracassos
que seus concorrentes. Finalmente, o efeito líquido sobre a estabilidade
do sistema é positivo: quando a plataforma sai do ar, os grupos de DevOps
restauram o serviço 12 vezes mais rápido do que seus colegas.
Uma coisa é óbvia: os profissionais de TI que adotaram a DevOps tendem
a ser fanáticos por ela. Não é difícil entender por que, dadas as melhorias
citadas no mesmo estudo:
• Estabilidade da estrutura: 83 por cento dos participantes relataram
“alguma melhoria” ou “melhoria significativa”.
• Velocidade de implantação do aplicativo: 83 por cento relataram
“alguma melhoria” ou “melhoria significativa”.
• Segurança: 45 por cento esperam que a DevOps melhore a segurança,
enquanto apenas 7 por cento acham que os sistemas seriam menos
seguros graças à DevOps.
•
Como eu vou me beneficiar com a DevOps?
33 Pesquisa da PuppetLabs, op cit.
eBook
22
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Cinco anos após o grande experimento da DevOps, os dados são claros:
ela chegou para ficar e por motivos muito bons. Muitos acharam que seria
impossível, mas a DevOps obteve sucesso ao integrar usuários empresariais,
desenvolvedores, engenheiros de teste e administradores de sistemas em
um único fluxo de trabalho focado em atender às exigências dos clientes.
Por que eles fariam isso voluntariamente? Porque é vantajoso para todo
mundo. Desenvolvedores e administradores de sistemas param de discutir
e começam a se apoiar, acalmando os ânimos de todo mundo. Os gerentes
empresariais ficam felizes porque eles realmente recebem os produtos de
software de que precisam para vender produtos e serviços. Os executivos
observam suas amadas métricas do painel de controle, como receita,
satisfação do cliente e confiabilidade do sistema, seguindo firme e forte. E
todo mundo consegue fornecer os melhores resultados e experiência geral
possíveis para o cliente.
Ganhos como esses, contudo, não são obtidos facilmente. Para implantar
códigos com sucesso mais frequentemente ao mesmo tempo em que
mantém seus sistemas na ativa, você precisa da habilidade de monitorar
precisamente todas as alterações que acontecem no seu ambiente. A New
Relic oferece os dados necessários para analisar e monitorar os novos
recursos que a equipe de Dev fornece, ao mesmo tempo em que garante a
estabilidade que a equipe de Ops requer. Para aprender mais sobre DevOps
e como a New Relic pode ajudar sua organização a fazer a transição com
sucesso, visite: newrelic.com/devops.
Conclusão
34 Sascha Bates, “Shenanigans”, http://blog.brattyredhead.com/, 17 de maio de 2013.
“Uma das melhores mensagens que a DevOps tem para todos nós é: se você não gosta do jeito como alguém está fazendo algo, converse com a pessoa e descubra o porquê. Você provavelmente aprenderá que haviam ótimas razões para tudo, inclusive “Eu não sabia como fazer isso.”34
—Sascha Bates, Consultora, Chef
eBook
23
Explorando a DevOps: O que ela é e por que é importante para sua empresa
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
Sobre o New RelicNew Relic é uma solução completa de gerenciamento de desempenho de aplicativo com base em SaaS que fornece uma visibilidade em tempo real
abrangente em aplicativos da Web e dispositivos móveis, independentemente de onde eles estejam sendo executados. Nossa plataforma combina
New Relic Browser, monitoramento da web, monitoramento da Web e de servidor e monitoramento de dispositivos móveis para iOS e Android num
painel sofisticado. Nossos mais de 40.000 clientes utilizam nossa solução na nuvem todos os dias para otimizarem mais de 108 bilhões de métricas de
desempenho diárias. Saiba mais em: br.newrelic.com.
New Relic, San Francisco HQ188 Spear Street, Suite 1200
San Francisco, CA 94105
New Relic, Portland111 SW 5th Avenue, Suite 2800
Portland, OR 97204
Tel: +55 800 8783134
www.newrelic.com
New Relic, Dublin34-39 Nassau Street, 3rd Floor
Dublin 2, Ireland
©2008-16 New Relic, Inc. All rights reserved. 02.2016