DevOps é uma cultura que utiliza práticas e ferramentas para aumentar a capacidade de uma organização de desenvolver e entregar software.

DevOps, o que é e como implantar na sua organização?

Muito se fala em Gestão de Projetos, em Manifesto Ágil, Transformação Digital ou os estilos de liderança que existem. Mas e o DevOps? Uma das maiores mudanças culturais entre Desenvolvimento e Operação… Como funciona? Quais os seus benefícios?

Como já perceberam o termo DevOps é mistura entre Desenvolvimento (incluindo QA) e Operação (incluindo Sustentação), o que vocês não sabem ainda é que a Cultura DevOps pode absorver diversas áreas da organização, desde sua equipe de Gestão de Projetos até mesmo uma equipe especializada em Segurança.

Nos últimos anos estamos percebendo a importância de automatizar processos simples, sejam eles por alguma redução de custo ou por melhoria de performance. Uma coisa sabemos, este novo modo de pensar está levando organizações a repensarem o seu modo de trabalho para que toda a empresa trabalhe em volta do DevOps.

Será que vale mesmo este investimento? Os benefícios são tão bons assim?

O que é DevOps e quais os seus benefícios?

O mais importante saber no momento é que o DevOps é mais uma mudança de mentalidade e comportamento das pessoas, do que qualquer atividade técnica que eles fazem no dia a dia.

Podemos dizer que o DevOps é uma cultura que utiliza práticas e ferramentas para aumentar a capacidade de uma organização de desenvolver e entregar software, serviços, aplicativos ou qualquer outro produto de tecnologia com alta velocidade, sem colocar em risco sua estabilidade.

Com a adoção da Cultura DevOps, o ritmo de entrega de uma organização se tornar muito mais rápido do que para as empresas que utilizam os processos tradicionais e antigos de desenvolvimento de software e gerenciamento de infraestrutura.

Quando isto acontece, as equipes de Desenvolvimento e Operações são tratadas como uma única equipe, com o objetivo de compartilharem os seus conhecimentos e entenderem melhor como funciona o dia de cada um, sendo que ambos ficam do início ao fim de todas as entregas.

Você irá perceber ao longo do texto que uma Cultura DevOps trará muitos benefícios para a organização, mas além disso terá muitas práticas e ferramentas que deverão ser implementadas ao longo dos seus estágios. Equipes com maturidades baixas, normalmente demoram um pouco mais de tempo para conseguir colocar as práticas com excelência em sua execução.

E quais são os benefícios da adoção da Cultura Devops?

  • Aumento da Velocidade de Entrega: Proporciona a automação de processos manuais e lentos para o aumento da frequência e do número de entregas, podendo ser até mesmo semanalmente.
  • Escalabilidade: Com a automatização da Infraestrutura, é possível diminuir a interferência manual em diversos ambientes, proporcionando o gerenciamento de sua infraestrutura como código e possibilitando a implantação de forma individual e automática conforme suas demandas necessitam.
  • Velocidade: Com os processos de automatização de entregas consolidados, os times podem passar a olhar em conjunto para outras atividades importantes, como correção de bugs ou melhorias de processos internos mais rápido e sem ter que temas tenham sido priorizados devido demora de respostas.
  • Colaboração Contínua: A junção das equipes promovendo a cultura da responsabilidade ponta a ponta e do sentimento de dono do que está sendo realizado, as tornam muito mais eficientes do que se tivessem trabalhando sozinhas.
  • Confiabilidade: 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.
  • Segurança: Aumenta a segurança por meio de políticas de segurança automáticas, como controles de acesso entre aplicações, permissionamento, autorização e técnicas de gerenciamento de configuração.

Como vocês podem ver são benefícios que podem colaborar na redução de custos e melhorias técnicas dentro da organização e estes são também alguns dos principais motivos pelo qual deve se pensar na adoção da Cultura DevOps.

Quais as suas Práticas?

Para promover a Cultura DevOps dentro da sua organização, é possível utilizar várias práticas. Elas podem ser práticas técnicas ou mais focadas em colaboração entre os times. Abaixo vou citar algumas das principais práticas que já podemos encontrar em diversas organizações:

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, de modo programático, em vez de instalar e configurar manualmente a infraestrutura.

Arquitetura de Microserviços: Representa um conjunto de pequenos serviços que se interligam para construir um sistema, no qual cada serviço possui um contexto único de negócio, é executado de forma individual e independente e se comunica com outros serviços.

Integração Contínua: É uma 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. Seu objetivo é encontrar e apontar erros mais rápido a cada alteração.

Entrega Contínua: É uma prática que permite ao desenvolvedor 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: É 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 aumento da comunicação, colaboração e compartilhamento de experiência é um dos principais aspectos culturais, com a unificação das equipes todos passam a trabalhar junto com um único objetivo.

É muito comum ainda que as pessoas utilizem práticas como o Framework Scrum ou o Método Kanban para as entregas dos times e também para criar uma cultura de inspeção e adaptação, sem contar as mudanças que ocorrerão na comunicação.

Quais os Estágios e Ferramentas do DevOps?

Por mais complexo que pareça, o DevOps possui principais estágios que devem ser seguidos passo a passo e também várias ferramentas que podem nos auxiliar no dia a dia e que trazem diversos benefícios para o desenvolvimento e operação.

DevOps é uma cultura que utiliza práticas e ferramentas para aumentar a capacidade de uma organização de desenvolver e entregar software.

Podemos considerar os seguintes estágios:

  1. Planejamento (Plan) – Todas as equipes interagindo para estimar o tempo das atividades necessárias para a entrega, é fundamental utilizar práticas ágeis (como o planning poker) para organizar o fluxo das atividades.
  2. Desenvolvimento ou Codificação (Code) – Os times começam a codificação do software e da infraestrutura como código, nesta etapa é utilizado sistemas de controle de versões distribuído, como o GIT. Ainda é utilizado o Confluence para documentação colaborativa e o Jira para o acompanhamento das atividades dos times.
  3. Construção (Build) – Neste estágio 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 disponibilizada para testes. É bastante comum ser utilizado ferramentas como o Apache Maven, que realiza a automação da compilação do código e gerenciamento das dependências.
  4. Teste (Test) –  São realizados testes que vão desde unitários, integração, regressão até mesmo testes de infraestrutura. São utilizadas ferramentas como JUnit, Selenium e TestInfra, dependendo o tipo de teste necessário para a execução.
  5. Lançamento / Entrega (Release) – Para realizar o lançamento da versão atualizada do software é utilizado processos automatizados como pipeline de entrega, que suportam integração e entrega contínua, através de ferramentas como o Jenkins e CodeShip.
  6. Implantação (Deploy) – A implantação muitas vezes é acionada pelo pipeline de entrega, da fase anterior, no qual existe a instalação das versões de forma automatizada tanto do software como infraestrutura. Isso pode ser realizado por ferramentas como o Docker, que encapsula o seu software em um contêiner com tudo que é necessário para ser executado.
  7. Operação (Operate) – Após a implantação do software é necessário operá-lo para modificar comportamentos ou realizar manutenções, para isto temos o Kubernetes e o Apache Mesos.
  8. Monitoração (Monitor) – É possível acompanhar o ambiente em tempo real para análise de performance, comportamentos da aplicação e usuário, análise de problemas e muitos outros. Ferramentas como o Splunk, Datadog e Nagios irão nos permitir analisar a grande quantidade de dados através de dashboards iterativos e com as informações consolidadas.

Vocês vão perceber que existem diversas ferramentas dentro de cada estágio do DevOps, podem existir ferramentas com baixo ou alto custo para a sua organização, mas atualmente existe muitas delas de forma gratuita.

O mundo DevOps é enorme e em breve prometo trazer novas informações, práticas e até mesmo tutoriais de ferramentas 😉

Gostou de aprender o que é a Cultura DevOps?

Me conta aqui nos comentários o que você achou e sobre quais ferramentas utilizadas no DevOps você quer saber mais como funciona 😉

Se preferir outro lugar, você consegue falar comigo também pelo Instagram ou pelo LinkedIn.

DevOps é uma cultura que utiliza práticas e ferramentas para aumentar a capacidade de uma organização de desenvolver e entregar software.

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *