O blogue da AWS

Está pensando em DevOps na sua empresa?

Por Stephen Orban, Head of Enterprise Strategy

DevOps é um termo relativamente novo para um conceito que, acredito, já existe há muito tempo. Neste momento, é amplamente aceito como uma cultura em algumas organizações, uma confluência entre equipes antes isoladas que juntas podem produzir resultados mais rápidos, mais frequentes e mais confiáveis.

Tive o privilégio de iniciar a minha carreira em uma cultura de DevOps antes do termo se tornar tendência. Quando me tornei um desenvolvedor na Bloomberg em 2001, a empresa já era conhecida por sua busca incansável por um melhor tempo de entrada no mercado, ciclos de desenvolvimento iterativos e desenvolvedores no controle das operações contínuas dos sistemas que eles fornecem. Não levou muito tempo para que os novos desenvolvedores descobrissem a sensação de solucionar problemas de um sistema às 4 da manhã (quando abria o mercado de Londres). Percebi que essas experiências em altas horas serviam como uma grande motivação para tornar os seus sistemas mais robustos.

Os DevOps podem ser intuitivamente óbvios para startups, já que negócios menores podem lidar com eles com relativa facilidade. Porém, para organizações maiores, com quantidades significativas de débito técnico, arquiteturas monolíticas e práticas de negócios avessas a riscos, a tarefa pode ser intimidadora.

A boa notícia é que ela não precisa ser. Recomendo que as empresas que desejam mudar para uma cultura de DevOps o façam ao estilo dos DevOps :  começar com projetos pequenos, iterar, aprender e aprimorar. Eu recomendo que eles considerem a implementação de estratégias que produzem práticas comumente aceitas em toda a organização e comecem a abraçar a ideia de que, quando automatizadas, as operações contínuas podem ser descentralizadas e colocadas nas mãos de várias equipes que executarão o que construírem.

Quando eu era o CIO da Dow Jones, construímos nossa prática de DevOps em torno de uma pequena equipe  –  quatro ou cinco indivíduos eram suficientes para dar continuidade a vários projetos. O objetivo, no entanto, não era apenas criar uma nova equipe, mas sim influenciar uma mudança na cultura da empresa. Ao implementar e inventar estruturas, melhores práticas e governança e automatizar tudo, os DevOps se tornaram uma de nossas principais alavancas para impulsionar a inovação e acelerar o desenvolvimento de produtos. Começamos com projetos pequenos e usamos os resultados para demonstrar como podíamos executar um número cada vez maior de projetos com êxito usando o mesmo modelo. Lentamente, porém com segurança, começamos a fornecer mais recursos e a melhorar o nosso tempo de entrada no mercado no processo. As noites de lançamento, antes limitadas a terças e quintas em que as coisas geralmente davam errado, se transformaram em dezenas de alterações lançadas pelos desenvolvedores durante cada semana.

Para aqueles que estão considerando a implementação de DevOps, mas também precisam lidar com o débito técnico, considere estes três princípios para começar:

1. Tenha uma abordagem orientada ao atendimento ao cliente em toda a organização. As empresas hoje devem pensar nos stakholders internos como clientes. Esses clientes podem ser um departamento de marketing, um gerente de produto ou um desenvolvedor. Cada indivíduo ou grupo precisa de tecnologia para fazer seu trabalho. As equipes que priorizarem essas necessidades evitarão que seus clientes utilizem outras soluções (Shadow IT), provavelmente fornecerão resultados melhores (mais rápidos, melhores, mais baratos) e terão stakholders mais satisfeitos. A falta de um serviço superior pode fazer com que os seus clientes queiram contornar essas falhas em vez de trabalhar com você.

2. Automatize tudo. É amplamente compreendido que, para obter o máximo da nuvem, você precisará ser capaz de reproduzir os seus sistemas de maneira confiável usando código. Isso se aplica especialmente ao Auto Scaling (elasticidade). A automação também permite que as organizações sejam muito mais agressivas ao implementar mudanças: se você encontrar um erro, pode voltar atrás muito rapidamente e reproduzir o estado anterior de maneira confiável. Outros benefícios incluem melhor eficiência, segurança e auditabilidade.

3. Execute o que construir. Aqui é onde normalmente vejo a TI tradicional ficar ansiosa. Em um modelo de TI tradicional, as operações de um aplicativo ou serviço às vezes são gerenciadas por pessoas que não estavam envolvidas na criação do ativo. Há algumas razões para isso (por exemplo, recursos econômicos, conhecimento centralizado). No entanto, eu diria que essas razões estão deixando de existir. As tecnologias de nuvem hoje lidam com a maior parte do trabalho pesado associado às operações de TI, e muitas dessas operações podem ser automatizadas por meio de software. Os desenvolvedores estão familiarizados com software, o que significa que há menos motivação para separar a responsabilidade das operações de qualquer tarefa. Afinal, é de onde que vem o termo DevOps. Como os desenvolvedores são os que conhecem mais intimamente as nuances do sistema, eles poderão resolver os problemas mais rapidamente. Além disso, usando a automação, é fácil propagar alterações de maneira metódica e reverter ou resolver problemas antes que eles afetem os clientes. Recomendo que as equipes de DevOps centralizadas façam todo o possível para tornar as equipes de desenvolvimento cada vez mais independentes e que não estejam no caminho crítico de operações/lançamentos em andamento.

Para os que estão interessados em começar, a hora é agora. Comece pequeno e celebre os avanços graduais. Mudanças culturais não acontecem da noite para o dia. Comece a aplicar esses conceitos lentamente em seu portfólio, e tanto as maneiras novas de trabalhar como as antigas podem melhorar. À medida em que for ganhando experiência, você poderá aproveitar cada aprendizado, beneficiar-se do seu crescente inventário de automação e, espero, ver melhores resultados.

Como tem sido sua experiência com DevOps? Eu adoraria saber mais sobre isso.

Continue criando,
-Stephen
orbans@amazon.com
@stephenorban
http://aws.amazon.com/enterprise/