DevOps

Hoje eu estive lendo este excelente artigo que o Felipe Reis escreveu pela IBM: https://www.ibm.com/developerworks/community/blogs/rationalbrasil/entry/o_que_devops?lang=en

Em resumo, ele explica esse novo conceito de desenvolvimento DevOps. Mais uma vez, este é um modelo já conhecido e utilizado por empresas do Vale do Silício e que é novidade por aqui. Diferente do que dizem alguns sites o DevOps não e só: uma ferramenta, uma cultura http://theagileadmin.com/what-is-devops/, mas sim um modelo a ser aplicado sobre o processo de desenvolvimento de projetos como o Flickr e o Facebook para diminuir o tempo de entrega de suas atualizações.

O DevOps, termo originado pela junção de Developers and Operations(Dev + Ops), tem foco na eliminação dos gaps na transição entre a elaboração e entrega do produto. Através do uso deste método é possível “padronizar” o modo dessa transição e assim conduzir à entrega do produto cada vez mais rápida. O conceito surgiu em meados do ano 2008, por interesse de operadores de infra (ex.:Patrick Debois) em integrar valores da metodologia ágil à operação da infraestrutura [lista agile-sysamin]. Em 2009 Patrick Debois se inspirou em uma palestra que assistiu onde foi apresentado o case da Flickr: 10 Deploys per day at Flickr: Dev and Ops colaboration.

O DevOps também não deve ser confundido com Desenvolvimento Ágil. Ambos podem trabalhar juntos em um mesmo processo de desenvolvimento de software, isso porque o DevOps aproxima as equipes/atividades de Desenvolvimento e Operações enquanto  o Desenvolvimento Ágil aproxima as equipes/atividades de Negócios e Desenvolvimento. O DevOps também tem o papel de apoiar o Desenvolvimento Ágil, pois de nada adianta tornar a produção do software mais rápida se não for possível entregá-lo ao cliente mais rápido também. Veja a figura abaixo para entender melhor a diferença entre eles.

devopsBom.. e como é o DevOps funciona? Apesar de não ser uma técnica de Desenvolvimento Ágil, o DevOps compartilha de algumas premissas definidas no Manifesto Ágil. Uma das suas funções é fazer com o que o deploy seja automático para que assim toda a cadeia do processo fique otimizada. Veja a figura a seguir. 

devOps_autoMas isto só cumpre o lado Ops do DevOps. É necessário que o lado Dev também ganhe autonomia para executar também atividades de deploy, controle de versão, gerência de configuração e orquestração. Desta forma, a equipe passa a ser multidisciplinar, assim como ocorre para o modelo de Desenvolvimento Ágil.

As principais tópicos relacionados ao modelo DevOps são:

  • Valores = Basicamente, manter o software funcionando. O serviço ganha maior atenção;
  • Princípios = Pessoas e processo primeiro; Confiança, respeito, sinceridade, honestidade, comunicação efetiva, postura construtiva, entre a equipe; Infraestrutura como código; Ambiente de entrega contínua; Simplicidade e automatização do processo;
  • Métodos = SCRUM, Kanban, QA, entre outros;
  • Práticas = Aplicação de TDD; Integração contínua; Deploy contínuo; Esquemas de monitoração; Controle de métricas; Uso de virtualização e cloud computing;
  • Ferramentas = O uso é livre. As mais conhecidas são: Jerkins, Travis, Teamcity para a Integração Contínua; Puppet, Chef, Ansible, Cfengine para Gerência de Configuração; Zookeeper, Noah, Mesos para Orquestração; AWS, OpenStack, vagrant, docker para Monitoraçaõ e Virtualização; entre outras ferramentas e categorias.

Outras referências: http://pt.slideshare.net/GutoCarvalho/devops-26412358?next_slideshow=1
http://www.getchef.com/blog/2010/07/16/what-devops-means-to-me/
http://www.kartar.net/2010/02/what-devops-means-to-me/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s