24
© 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

Explorando a DevOps

Embed Size (px)

Citation preview

Page 1: Explorando a DevOps

© 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

Page 2: Explorando a DevOps

© 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

Page 3: Explorando a DevOps

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.

Page 4: Explorando a DevOps

© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic

CAPÍTULO 1

O que é DevOps?

Page 5: Explorando a 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

Page 6: Explorando a DevOps

© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic

CAPÍTULO 2

De onde surgiu a DevOps?

Page 7: Explorando 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.

Page 8: Explorando a DevOps

© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic

CAPÍTULO 3

Quais problemas levaram à criação da DevOps?

Page 9: Explorando a 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.

Page 10: Explorando a DevOps

© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic

CAPÍTULO 4

Como a DevOps “funciona”?

Page 11: Explorando a DevOps

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.

Page 12: Explorando a DevOps

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.

Page 13: Explorando a DevOps

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.

Page 14: Explorando a DevOps

© 2016 New Relic, Inc. | +55 800 8783134 | br.newrelic.com | www.twitter.com/newrelic

CAPÍTULO 5

Quem está adotando a DevOps?

Page 15: Explorando 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.

Page 16: Explorando a DevOps

© 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?

Page 17: Explorando a 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?

Page 18: Explorando a 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.

Page 19: Explorando a DevOps

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

Page 20: Explorando a DevOps

© 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?

Page 21: Explorando 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.

Page 22: Explorando a DevOps

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

Page 23: Explorando a DevOps

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

[email protected]

www.newrelic.com

New Relic, Dublin34-39 Nassau Street, 3rd Floor

Dublin 2, Ireland

Page 24: Explorando a DevOps

©2008-16 New Relic, Inc. All rights reserved. 02.2016