Devops é uma cultura na engenharia de software que aproxima os desenvolvedores de software (Dev) e os operadores do software / administradores do sistema (Ops), com característica principal de melhorar a comunicação dos dois papéis dentro de um projeto e defender a automação e monitoramento em todas as fases da construção de um software (desde a integração, teste, liberação para implantação, ao gerenciamento de infraestrutura), auxiliam empresas no gerenciamento de lançamento de novas versões, padronizando ambientes em ciclos de desenvolvimento menores, frequência de implantação aumentada, liberações mais seguras, em alinhamento próximo com os objetivos de negócio.
Empresas que liberam novas versões de software frequentemente podem precisar das considerações ou orientações de um SysAdmin (Administrador do sistema).
Por exemplo: A empresa Flickr desenvolveu a cultura de DevOps para suprir uma necessidade do negócio de realizar dez implantações por dia, este ciclo diário de implantações será muito maior em organizações que produzem aplicações multi-foco ou multi-funções. É conhecido como implantação contínua ou entrega contínua. Grupos de trabalho, associações de profissionais e blogs estão tratando do tema desde 2009.
A cultura DevOps auxilia empresas no gerenciamento de lançamento de novas versões, estimular a comunicação entre os dois papéis. 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/implantaçã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 o administrador do sistema 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. Muitas das ideias (e pessoas) envolvidas com a cultura DevOps vieram dos movimentos de Gerenciamento de sistemas empresariais e Desenvolvimento ágil de software.
A adoção do DevOps é conduzida por fatores, tais quais:
- Uso de processos e metodologias de desenvolvimento ágil
- Demanda crescente na taxa de produção de aplicativos e unidades de negócios
- Ampla disponibilidade de infraestrutura na Cloud e virtualizada por provedores internos e externos
- Uso crescente de automação de data center e ferramentas de gerenciamento de configuração.
Por tanto, DevOps é uma relação mais colaborativa e produtiva entre equipes de desenvolvimento e operações com ojetivo de aumenta a eficiência e reduzir os riscos da produção associados com mudanças frequentes.
Fonte: Wiki