¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

DevOps

Letícia Ferreira Portugués

Contenido del mapa

DevOps

  1. Desenvolvimento x SysAdmin

    • A equipe de desenvolvimento geralmente desenvolve novas funcionalidades, traz novas tecnologias e aumenta o número de mudanças e entregas no ambiente de produção. O que cai em contradição com o que geralmente é a função da equipe de sysadmin, que é manter a estabilidade diminuindo o numero de mudanças. É justamente pra conter essa contradição que uma equipe de DevOps atua.
  2. O que é DevOps ?

    • DevOps é uma cultura que utiliza práticas e ferramentas para aumentar a capacidade de uma organização de desenvolver e entregar softwares, serviços, aplicativos e demais produtos de tecnologia com alta velocidade, porém, sem pôr em risco a estabilidade.
    • Funcionamento do DevOps
      • Os sysadmins são envolvidos desde o início do desenvolvimento do software, e os desenvolvedores acompanham o software até o fim, principalmente na parte das entregas e funcionamento do ambiente de produção
      • Como desenvolvedor você não precisa conhecer de forma profunda todas as habilidades do sysadmin, mas deve saber o essencial para acompanhar e contribuir com a implantação/operação do software, e o sysadmin deve conhecer o essencial para acompanhar e contribuir com o desenvolvimento do software.
  3. Benefícios da cultutra DevOps

    • Aumento da Velocidade de Entrega
      • Automação de processos manuais e lentos, contribuindo, assim, para o aumento da frequência e do número de entregas do seu produto. Quanto mais rápido você conseguir entregar, mais rápido identificará possíveis problemas e poderá corrigir os erros com maior agilidade. Vantagem competitiva.
    • Escalabilidade
      • Automatização da estrutura. Proporciona a possibilidade de gerenciar sua infraestrutura como código, diminuindo a interferência manual e, consequentemente, o risco. Você passa a escalar seu código de infraestrutura em diversos ambientes, pois aquilo que é igual para todos é replicado, e implantando de forma individual e automática o que é específico.
    • Velocidade
      • As equipes que possuem a cultura DevOps têm maior independência, assumindo a responsabilidade ponta a ponta dos produtos e serviços. Também não é necessário demandar algo de infraestrutura para fora do time, o que poderia levar mais tempo ou espera por priorização.
    • Colaboração Continua
      • As equipes de desenvolvimento e sysadmin colaboram juntas, compartilham muitas responsabilidades e acordam seus fluxos de trabalho, como consequência, acontece a redução de processos ineficazes e a economia de tempo.
    • Confiabilidade
      • DevOps promove a garantia da qualidade das atualizações de software e alterações de infraestrutura por meio de processos automatizados de testes em diversos níveis. Isso aumenta a confiança e velocidade das entregas .
    • Segurança
      • A adoção da cultura DevOps aumenta a segurança por meio de políticas de segurança automáticas.
  4. Praticas DevOps

    • Infraestrutura como Código
      • A infraestrutura como código é uma prática que utiliza técnicas de desenvolvimento de código e que permite controle de versão e integração contínua da infraestrutura, por meio de API, para que os desenvolvedores e sysadmins trabalhem com a infraestrutura de modo programático, em vez de instalar e configurar manualmente a infraestrutura. O código da infraestrutura pode ser reaproveitado.
    • Arquitetura de Microserviços
      • A arquitetura de microsserviços representa um conjunto de pequenos serviços que se interligam para construir um sistema. Cada serviço possui um contexto único de negócio, é executado de forma individual e independente e se comunica com outros serviços por meio de uma interface leve.
    • Integração Continua
      • Prática de desenvolvimento que permite a execução dos testes sempre que as alterações de código são enviadas para o repositório central. Os principais objetivos da integração contínua são encontrar e apontar os erros mais rapidamente a cada alteração, consequentemente, melhorar a qualidade do software e reduzir o tempo necessário para validação.
    • Entrega Continua
      • Prática que permite ao desenvolvedor, ao realizar as alterações de códigos, utilizar a integração contínua para realização dos testes necessários e preparar automaticamente as modificações para uma entrega em produção.
    • Monitoração, Alarme, Log e Indexação
      • Ao capturar, indexar e analisar os logs gerados pelos aplicativos e pela infraestrutura, é possível entender como as alterações ou atualizações estão afetando o ambiente e seus usuários, o que proporciona mais facilidade na rastreabilidade, fornecendo maior esclarecimento sobre as causas raiz dos problemas.
    • Comunicação e Colaboração
      • O uso das práticas e ferramentas contribui para as equipes definirem normas culturais sólidas com relação ao compartilhamento de informações e processos de trabalho
  5. Estágios e Ferramentas DevOps

    • Planejamento
      • Estimar e fatiar as atividades necessárias para a entrega, é fundamental a utilização das práticas de agilidade para melhor organização e fluxo das atividades.
    • Desenvolvimento/codificação
      • A codificação do software e a codificação da infraestrutura como código.
        • Git
          • Sistema de controle de versões distribuído, capaz de registrar o histórico de edições de qualquer tipo de arquivo, facilitando que um time trabalhe no mesmo arquivo de código ao mesmo tempo.
        • Confluence
          • Para documentar nosso sistema de forma colaborativa
        • Jira
          • Para organizar e acompanhar as atividades do time, garantindo o gerenciamento de todo o ciclo de desenvolvimento em um único lugar, permitindo o link entre atividades, repositório Git e documentação do Confluence.
    • Construção
      • Com o código desenvolvido, é necessário realizar o processo de construção também conhecido como build, no qual o código e demais dependências do software e da infraestrutura são baixados do repositório central, compilados e fechados em uma versão, que será disponibilizada para os testes.
        • Apache Maven
          • Realiza a automação da compilação do código e gerenciamento das dependências por meio de XML
        • Gradle
          • Ele se baseia nos conceitos do Apache Maven, porém, introduz uma linguagem de domínio específico, baseada em Groovy em vez de XML, permitindo maiores funções programaticamente.
    • Teste
      • Além dos testes no software, que vão desde testes unitários, a testes de fumaça (smoke test) e integração, regressão e ponta a ponta, também são realizados os testes de infraestrutura
        • JUnit
          • Para testes unitários de código
        • Selenium
          • Para testes que envolvam telas ou fluxos ponta a ponta.
        • TestInfra
          • Para testar infraestruturas.
    • Lançamento/Entrega
      • No pipeline de entrega, é possível configurar diversas etapas da entrega, que podem ir desde testes simples até entregas em diversos níveis de ambientes (homologação, produção, pós-produção), além de permitir um passo de aprovação para seguir com a entrega.
        • Jenkins e CodeShip
          • Ferramentas de pipeline de entrega, que suportam integração e entrega contínua

Información

Descripción
Mapa Mental sobre DevOps, creado por Letícia Ferreira el 18/07/2022.
Visitas
1
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?