Aplicando DevOps com Chef

0

O modelo tradicional de desenvolvimento de software possui duas disciplinas com objetivos distintos: desenvolvimento e operações. Enquanto a primeira possui o anseio natural por inovação, a segunda busca estabilidade. O fato é que não existe lado certo ou errado. Todos possuem um papel fundamental no ciclo de desenvolvimento de soluções. É nessa luz que surgiu o DevOps.

DevOps é um movimento que busca atender à crescente demanda por agilidade no processo de liberação ou adoção de novas versões de software através de uma profunda integração entre as disciplinas de desenvolvimento, operações e qualidade.

Empresas como Google, Netflix, Amazon, Facebook, Twitter, entre outras,  adotam DevOps como prática básica, resultando como um dos benefícios uma redução drástica da taxa de falhas, o que fundamenta um tempo de resposta otimizado em eventuais paradas.

A Amazon, por exemplo, consegue realizar uma mudança em seus sistemas a cada impressionantes 11,6 segundos, com apenas 0,001% das implementações com alguma pane. A média de falhas geradas pelas empresas que adotaram DevOps é cerca de 50 vezes menor em comparação àquelas que não usam esta prática.  Isso se traduz em uma redução de esforço e retrabalho, além de muito mais confiabilidade na implementação.

É impossível falar de DevOps sem falar do conceito de "Infraestrutura como Código", amplificado radicalmente pela imensa oferta de soluções em nuvem.  A infraestrutura como código é o processo de transformar o ambiente em código. As características mais marcantes de código são o fato de ser controlável, testável e repetível. Este procedimento dá muita segurança para empresas conseguirem replicar seu ambiente com facilidade, seja para a criação de ambientes de teste similares (Produção = User Acceptance Tests = Quality Assurance Tests = Development), ou mesmo para um bom tempo de resposta na ocorrência de um desastre. É nesse cenário que entra o Chef.

O Chef é uma plataforma de automação que ajuda empresas a aplicarem o conceito de infraestrutura como código. Seja na nuvem ou em ambiente local, o Chef permite a automatização de servidores ou mesmo estações de trabalho. Você escreve em Ruby o código que define o estado no qual um servidor, por exemplo, deve possuir. No caso de um servidor, é necessário um determinado recurso do sistema operacional habilitado, algumas aplicações instaladas e configuradas e assim por diante. É nessa hora que o Chef brilha, permitindo a execução dessas tarefas de maneira bastante intuitiva. Utilizando o Chef Developer Kit você terá à sua mão uma série de recursos que permitirão que você consiga transformar toda sua infraestrutura em código controlável, testável e repetível.

O uso de uma plataforma de automação como o Chef aliada ao ambiente de nuvem traz resultados espetaculares. Em alguns casos, é possível reduzir drasticamente o esforço de manutenção de ambientes (DEV,QAT,UAT,PRD), uma vez que o código que define estes ambientes é exatamente o mesmo, o que minimaliza eventuais surpresas decorrentes de uma eventual discrepância entre ambientes.

A estabilidade da infraestrutura permite que os clientes se concentrem em inovar no seu negócio. Amparados por um ciclo de entrega reduzido, fica mais fácil superar a concorrência e surpreender o cliente final com um serviço de muita qualidade. Se você ainda não conhecia ou praticava DevOps, talvez essa seja uma boa hora para mobilizar a sua organização para uma evolução nesse rumo. 

Pedro Castelo Branco, sênior software engineer da GFT.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.