close

DevOps

Ir para a navegação Ir para a pesquisa

DevOps ( sigla em inglês para desenvolvimento - desenvolvimento - e operações - operações -) é um conjunto de práticas que agrupam desenvolvimento de software ( Dev ) e operações de TI ( Ops ). Seu objetivo é acelerar o ciclo de vida de desenvolvimento de software e fornecer entrega contínua de alta qualidade. DevOps é uma prática complementar ao desenvolvimento ágil de software; Isso ocorre porque muitos dos recursos do DevOps vêm da metodologia Agile.

A principal característica do movimento DevOps é defender ativamente a automação e o monitoramento em todas as etapas da construção de software, desde a integração , teste, implantação, implantação e gerenciamento de infraestrutura . O DevOps visa ciclos de desenvolvimento mais curtos, maior frequência de implantação, lançamentos mais eficazes, em estreito alinhamento com os objetivos de negócios. [ 1 ] [ 2 ] [ 3 ] [ 4 ]

Definições e história

Image
Ilustração mostrando DevOps como a interseção de desenvolvimento, operações de tecnologia e qualidade (QA)

Na conferência Agile 2008 em Toronto, Yhens Wasna e Patrick Debois introduziram o termo em sua palestra sobre "Infraestrutura ágil". [ 5 ]​ A partir de 2009, el término DevOps se ha promocionado constantemente y se ha incorporado a un uso más general a través de una serie de "devopsdays", [ 6 ]​ que comenzaron en Bélgica y ahora también se han extendido a outros países. [ 7 ]

O termo DevOps tem sido usado em muitos contextos diferentes. [ 8 ]

Uma definição proposta por Bass, Weber e Zhu é:

DevOps é um conjunto de práticas destinadas a reduzir o tempo entre a confirmação de uma alteração em um aplicativo e a alteração ser colocada em produção normal, garantindo alta qualidade. [ 9 ]

Na década seguinte, iniciativas de DevOps mais tangenciais, como OpsDev, [ 10 ] WinOps, [ 11 ] e BizDevOps também se desenvolveram. [ 12 ]

Ferramentas DevOps

Como o DevOps se destina a ser uma maneira multifuncional de trabalhar, em vez de uma única ferramenta de DevOps, existem conjuntos (ou " cadeias de ferramentas ") de várias ferramentas. [ 13 ]​ Espera-se que essas ferramentas de DevOps se encaixem em uma ou mais dessas categorias, refletindo os principais aspectos do processo de desenvolvimento e entrega: [ 14 ] [ 15 ]

  1. Código: desenvolvimento e revisão de código, ferramentas de gerenciamento de código-fonte, mesclagem de código
  2. Compilação: Ferramentas de Integração Contínua , Status da Compilação
  3. Teste – Ferramentas de teste contínuas que fornecem feedback sobre os riscos do negócio
  4. Pacote: repositório de artefatos , distribuição antes da implantação do aplicativo
  5. Release - gerenciamento de mudanças, aprovações de releases, automação de releases
  6. Configure - configuração e gerenciamento de infraestrutura, infraestrutura como código
  7. Monitor: monitoramento de desempenho do aplicativo, experiência do usuário final

Algumas categorias são mais essenciais em uma cadeia de ferramentas de DevOps do que outras; especialmente integração contínua (por exemplo , Jenkins ) e infraestrutura como código (por exemplo, Puppet ). [ 16 ] [ 17 ]

Relacionamento e outras abordagens

Ágil

A necessidade de DevOps surgiu do crescente sucesso do desenvolvimento ágil de software, pois levou as organizações a querer lançar seus softwares com mais rapidez e frequência. À medida que tentavam superar a pressão que isso colocava em seus processos de gerenciamento de lançamento, eles tiveram que adotar padrões como automação de lançamento de aplicativos, ferramentas de integração contínua e entrega contínua . [ 18 ]

Entrega Contínua

A entrega contínua e o DevOps têm objetivos comuns e geralmente são usados ​​juntos, mas existem diferenças sutis. [ 19 ] [ 20 ]

Enquanto a entrega contínua se concentra na automatização dos processos de entrega de software , o DevOps também se concentra na mudança organizacional para oferecer suporte a uma colaboração rica entre as muitas funções envolvidas. [ 19 ]

DevOps e entrega contínua compartilham uma base comum em métodos ágeis e pensamento leve: mudanças pequenas e frequentes com valor focado para o cliente final. [ 21 ]

ArchOps

ArchOps é uma extensão do DevOps que aumenta o nível de abstração priorizando artefatos de arquitetura de software sobre o código-fonte para a implantação e operação de soluções de software. [ 22 ] ArchOps estabelece que os modelos de arquitetura são entidades de primeira classe no desenvolvimento, implantação e operação de soluções de software.

DataOps

O aplicativo de entrega contínua e DevOps para análise de dados foi denominado DataOps. DataOps busca integrar engenharia de dados, integração de dados, qualidade de dados, segurança de dados e privacidade de dados com operações. [ 23 ]​ Aplica princípios de DevOps, desenvolvimento ágil e controle estatístico de processos, usados ​​na manufatura enxuta, para melhorar o tempo de ciclo de extração de valor da análise de dados. [ 24 ]

DevSecOps

O DevSecOps é um aumento do DevOps para permitir que as práticas de segurança sejam integradas à abordagem do DevOps. O modelo tradicional de uma equipe de segurança centralizada deve adotar um modelo federado que permita que cada equipe de entrega considere os controles de segurança corretos em suas práticas de DevOps.

Objetivos

As metas de DevOps abrangem todo o processo de entrega. Eles incluem:

  • Frequência de implantação aprimorada;
  • Lançamentos mais rápidos para produção;
  • Baixa taxa de erro na geração de novas versões;
  • Menor tempo de entrega entre versões;
  • Tempo de implantação mais rápido (caso uma nova versão tenha inconsistências).
  • Velocidade de reação em caso de falha de uma versão implantada

Processos simples se tornam cada vez mais padronizados e dinâmicos, usando uma abordagem DevOps. [ 25 ] DevOps visa maximizar a previsibilidade, eficiência, segurança e manutenibilidade dos processos operacionais. Muitas vezes, a automação ou robotização de processos apoia esse objetivo.

A integração do DevOps se concentra na entrega do produto, teste do usuário (UAT), teste contínuo, teste de qualidade, desenvolvimento de recursos e versões de manutenção para melhorar a confiabilidade e a segurança e fornecer ciclos de desenvolvimento e implantação mais rápidos. Muitas das ideias (e pessoas) envolvidas no DevOps vêm do gerenciamento de sistemas corporativos e dos movimentos de desenvolvimento ágil de software. [ 26 ]

Microsserviços

Esse tipo de abordagem permite que as empresas digitais forneçam alta disponibilidade e estabilidade às suas aplicações; Isso porque todas as partes das aplicações (banco de dados, back-end, front-end, etc.) são independentes e, se uma delas falhar, não significa que todo o sistema de informação tenha problemas. Em vez disso, os outros serviços continuarão funcionando enquanto o componente afetado for restaurado. [ 27 ] Os criadores de DevOps exigem microsserviços para otimizar seus desenvolvimentos, deixando para trás arquiteturas monolíticas, já que a arquitetura de serviços se torna modular e segmentada para minimizar riscos e melhorar a forma como as aplicações e seus componentes são implantados.

Veja também

Referências

  1. ^ Loukides, Mike (7 de junho de 2012). "O que é DevOps?" . Radar O'Reilly (em inglês americano) . Recuperado em 2 de novembro de 2017 . 
  2. ^ "A ascensão do DevOps" . www.somic.org (em inglês americano) . Recuperado em 2 de novembro de 2017 . 
  3. ^ "Cultura DevOps (Parte 1) - Revolução de TI" . Revolução de TI (em inglês dos EUA) . 1 de maio de 2012 . Recuperado em 2 de novembro de 2017 . 
  4. ^ "DevOps misturando dev, ops, ágil, nuvem, código aberto e negócios - 451 CAOS Theory" . blogs.the451group.com . Arquivado do original em 14 de setembro de 2015 . Recuperado em 2 de novembro de 2017 . 
  5. Debois, Patrick. "Agile 2008 Toronto: Apresentação de Infraestrutura e Operações Ágeis" . www.jedi.be. _ Recuperado em 3 de novembro de 2017 . 
  6. ^ "Devopsdays Ghent 2009" . www.devopsdays.org . Recuperado em 3 de novembro de 2017 . 
  7. ^ "DevOpsDays" . www.devopsdays.org (em inglês americano) . Recuperado em 3 de novembro de 2017 . 
  8. "Surpresa! Amplo Acordo sobre a Definição de DevOps - DevOps.com» . DevOps.com (em inglês americano) . 13 de maio de 2015 . Recuperado em 3 de novembro de 2017 . 
  9. "Fontes de livros" incorretas com auto-referência ( ajuda ) . Wikipédia (em inglês) . Recuperado em 3 de novembro de 2017 . |url=  
  10. "DevOps também deve significar OpsDev - DevOps.com" . DevOps.com (em inglês americano) . 27 de outubro de 2015 . Recuperado em 3 de novembro de 2017 . 
  11. Weinberger, Matt. "Estudo da Microsoft descobre que todo mundo quer DevOps, mas a cultura é um desafio" . Computerworld (em inglês) . Recuperado em 3 de novembro de 2017 . 
  12. ^ "Por que o DevOps não funciona para aplicativos corporativos - DZone DevOps" . dzone.com (em inglês) . Recuperado em 3 de novembro de 2017 . 
  13. Tendências de mercado do Gartner: DevOps – não é um mercado, mas uma filosofia centrada em ferramentas que suporta uma cadeia de valor de entrega contínua (relatório). Gartner. 18 de fevereiro de 2015.
  14. dev2ops. "Integrando ferramentas DevOps em uma Plataforma de Entrega de Serviços (VIDEO) - dev2ops" . dev2ops (em inglês americano) . Arquivado do original em 8 de fevereiro de 2014 . Recuperado em 3 de novembro de 2017 . 
  15. ^ "Explorando toda a cadeia de ferramentas DevOps para equipes (nuvem)" . InfoQ . Recuperado em 3 de novembro de 2017 . 
  16. "Pilha de DevOps em um orçamento apertado - DevOps.com" . DevOps.com (em inglês americano) . 5 de fevereiro de 2016. Arquivado a partir do original em 27 de maio de 2016 . Recuperado em 3 de novembro de 2017 . 
  17. "Cultura DevOps mais forte com Puppet e Vagrant" . Marionete (em inglês) . Arquivado do original em 29 de janeiro de 2016 . Recuperado em 3 de novembro de 2017 . 
  18. Melhores Práticas em Gerenciamento de Mudanças, Configuração e Liberação (Relatório). Gartner. 14 de julho de 2010.
  19. a b "Fontes de livros" incorretas com auto-referência ( ajuda ) . Wikipédia (em inglês) . Recuperado em 3 de novembro de 2017 . |url=  
  20. "A relação entre Dev-Ops e entrega contínua: uma conversa com Jez Humble Of ThoughtWorks" . Forrester (em inglês americano) . 9 de setembro de 2011 . Recuperado em 3 de novembro de 2017 . 
  21. "Precisamos de uma TI mais ágil agora!" . Dr. Dobb . Recuperado em 3 de novembro de 2017 . 
  22. Castellanos, Camilo; Correal, Dario (15 de setembro de 2018). "Executando Modelos Arquitetônicos para Big Data Analytics" . Notas de aula em Ciência da Computação 11048 : 364-371. doi : 10.1007/978-3-030-00761-4_24 . 
  23. "De DevOps a DataOps, por Andy Palmer - Tamr Inc." . Tamr Inc. (em inglês americano) . 7 de maio de 2015 . Recuperado em 3 de novembro de 2017 . 
  24. DataKitchen (15 de março de 2017). "Como se tornar uma estrela em ascensão com análise de dados" . operações de dados . Recuperado em 3 de novembro de 2017 . 
  25. ^ "New Relic: O que é DevOps - Explicado" . Nova Relíquia (em inglês) . Recuperado em 3 de novembro de 2017 . 
  26. ^ "Infraestrutura ágil" . InfoQ . Recuperado em 3 de novembro de 2017 . 
  27. «Como explicar os benefícios do DevOps ao seu chefe (Edição 2018) | Clickittech» . www.clickittech.com (em inglês americano) . Recuperado em 9 de agosto de 2018 . 

Links externos