SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic
eBook
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
Sumário
INTRODUÇÃ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ção
Em 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ção
A 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.
Desenvolvedores
O 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ções
Há 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
Executivos
Quando 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 Relic
New 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 HQ
188 Spear Street, Suite 1200
San Francisco, CA 94105
New Relic, Portland
111 SW 5th Avenue, Suite 2800
Portland, OR 97204
Tel: +55 800 8783134
support@newrelic.com
www.newrelic.com
New Relic, Dublin
34-39 Nassau Street, 3rd Floor
Dublin 2, Ireland
©2008-16 New Relic, Inc. All rights reserved. 02.2016

Contenu connexe

Plus de Fernando Palma

Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na PráticaFernando Palma
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasFernando Palma
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)Fernando Palma
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilFernando Palma
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterFernando Palma
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na PráticaFernando Palma
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECFernando Palma
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoFernando Palma
 
Cidades brasileiras inteligentes com iot
Cidades brasileiras inteligentes com iotCidades brasileiras inteligentes com iot
Cidades brasileiras inteligentes com iotFernando Palma
 
Carreira em Governança de TI
Carreira em Governança de TICarreira em Governança de TI
Carreira em Governança de TIFernando Palma
 
Curso LINUX: Material
Curso LINUX: Material Curso LINUX: Material
Curso LINUX: Material Fernando Palma
 
Apostila LINUX Básico
Apostila LINUX BásicoApostila LINUX Básico
Apostila LINUX BásicoFernando Palma
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5Fernando Palma
 

Plus de Fernando Palma (20)

Hacker Ético
Hacker ÉticoHacker Ético
Hacker Ético
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na Prática
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
 
Tutorial memcached
Tutorial memcachedTutorial memcached
Tutorial memcached
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
Linguagem ABAP
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na Prática
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho Acadêmico
 
Cidades brasileiras inteligentes com iot
Cidades brasileiras inteligentes com iotCidades brasileiras inteligentes com iot
Cidades brasileiras inteligentes com iot
 
Carreira em Governança de TI
Carreira em Governança de TICarreira em Governança de TI
Carreira em Governança de TI
 
Curso LINUX: Material
Curso LINUX: Material Curso LINUX: Material
Curso LINUX: Material
 
Apostila LINUX Básico
Apostila LINUX BásicoApostila LINUX Básico
Apostila LINUX Básico
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5
Cobit 5 Parte 06: Modelo de Capacidade do Cobit 5
 

Ebook DevOps | Por New Relic

  • 1. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic eBook Explorando a DevOps O que ela é e por que é importante para sua empresa
  • 2. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic Sumário INTRODUÇÃ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
  • 3. 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.
  • 4. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic CAPÍTULO 1 O que é DevOps?
  • 5. 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
  • 6. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic CAPÍTULO 2 De onde surgiu a DevOps?
  • 7. 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.
  • 8. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic CAPÍTULO 3 Quais problemas levaram à criação da DevOps?
  • 9. 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.
  • 10. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic CAPÍTULO 4 Como a DevOps “funciona”?
  • 11. 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ção Em 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ção A 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.
  • 12. 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.
  • 13. 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.
  • 14. © 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic CAPÍTULO 5 Quem está adotando a DevOps?
  • 15. 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.
  • 16. © 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?
  • 17. 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. Desenvolvedores O 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ções Há 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?
  • 18. 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.
  • 19. 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 Executivos Quando 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
  • 20. © 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?
  • 21. 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.
  • 22. 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
  • 23. 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 Relic New 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 HQ 188 Spear Street, Suite 1200 San Francisco, CA 94105 New Relic, Portland 111 SW 5th Avenue, Suite 2800 Portland, OR 97204 Tel: +55 800 8783134 support@newrelic.com www.newrelic.com New Relic, Dublin 34-39 Nassau Street, 3rd Floor Dublin 2, Ireland
  • 24. ©2008-16 New Relic, Inc. All rights reserved. 02.2016