segunda-feira, 4 de maio de 2015

DevOps – Conceitos

O que é DevOps?
DevOps é o alinhamento do time de desenvolvimento com o time de operações, em relação à processos, ferramentas e responsabilidades, visando acelerar as entregas em produção com um elevado grau de qualidade.
Enquanto o desenvolvimento ágil aproximou as equipes de desenvolvimento do negócio, reduzindo os gaps entre essas áreas, o DevOps traz agilidade para as entregas reduzindo os gaps entre desenvolvimento e operações.
image
Na prática DevOps aproxima as práticas de desenvolvimento ágil com testes e implantação – fazendo um bom uso da automação para tal.
DevOps é uma metodologia de desenvolvimento de software que explora a comunicação, colaboração e integração entre desenvolvedores de software e profissionais de TI (Tecnologia da Informação).DevOps é a reação à interdependência entre desenvolvimento de software e operações de TI. Pretende ajudar organizações a produzir software e serviços rapidamente. (Wikipedia)

Por que é importante para você?
Durante muito tempo, as grandes empresas puderam se dar ao luxo de colocar em produção poucas atualizações de seus principais software durante o período de um ano. Ainda é comum que sistemas de alta importância recebam menos que 1 ou 2 grandes atualizações. Porém a pressão sobre TI para entregar mais inovação para o negócio, vem mudando esse jogo.
Empresas que liberam novas versões de software frequentemente podem precisar das considerações ou orientações de um DevOps. O Flickr desenvolveu capacidades de DevOps para suprir uma necessidade do negócio de realizar dez implementações por dia, este ciclo diário de implementações será muito maior em organizações que produzem aplicações multi-foco ou multi-funções. É conhecido como implementação contínua ou entrega contínua[8] e é frequentemente associado com a metodologia Lean Startup.Grupos de trabalho, associações de profissionais e blogs estão tratando do tema desde 2009.
Os DevOps auxiliam empresas no gerenciamento de lançamento de novas versões, ao padronizar ambientes de desenvolvimento. Eventos podem ser acompanhados com maior facilidade, assim como o controle de processos documentados e emissão de relatórios granulares. Empresas com problemas no processo de liberação/implementação de novas versões, normalmente possuem automação, mas querem maior flexibilidade para gerenciar e conduzir esse processo – sem precisar editar tudo na linha de comando. Idealmente, essa automação deve ser disparada por recursos não operacionais, em ambientes específicos que não estejam “em produção”. O desenvolvedor ganha maior controle sobre o ambiente, e a infraestrutura maior entendimento sobre os aplicativos.
Processos simples se tornam claramente articuláveis, através do DevOps. O objetivo é automatizar a maior quantidade possível de processos operacionais.
Integrações DevOps visam a entrega de produtos, testes de qualidade, desenvolvimento de características e releases de manutenção, de modo a incrementar a confiança e segurança, desenvolvimento rápido e ciclos de desenvolvimento. Muito das ideias (e pessoas) envolvidas com DevOps vieram do movimento de Desenvolvimento ágil de software.