O que é o movimento DevOps e como ele pode beneficiar pequenas e médias organizações.
O mercado de tecnologia possui uma dinâmica de inovação que difere de outros setores da economia. Lançar produtos digitais que impactam positivamente o usuário final, é (ou deveria ser) o objetivo de empresas e organizações que engajam em causas e oferecem serviços ligados à transformação social. Independente da missão organizacional, a capacidade de vencer neste mercado passa por construir um ambiente de trabalho que potencialize a colaboração e a confiança entre as diversas áreas operacionais.
Até meados dos anos 2000, esse ambiente colaborativo não existia. Cada equipe possuía métodos de trabalho próprios, criando silos organizacionais e de comunicação. Equipes de desenvolvimento já utilizavam métodos ágeis e frameworks de gestão como SCRUM, mas isso não acontecia nas áreas de infraestrutura e qualidade. O fato de termos essas "caixas" (desenvolvimento, infraestrutura e qualidade), era a raiz do problema.
Algumas pessoas da área de infraestrutura entenderam que, no final do dia, estas equipes queriam a mesma coisa: trabalhar em produtos que fossem úteis para os usuários. Um sistema útil precisa ser estável, mas também precisa evoluir ao longo do tempo. O movimento DevOps surge como uma resposta técnica e cultural à forma de lançar software vigente nos anos 2000.
Neste artigo, apresentarei o que é DevOps e as vantagens competitivas que o movimento pode proporcionar a pequenas e médias organizações.
O que é DevOps
A palavra DevOps é a junção de desenvolvimento (Dev) e operações (Ops), e propõe que a intersecção entre equipes de desenvolvimento, operações e qualidade possibilita maior agilidade na entrega de valor aos interessados no projeto. Normalmente, estas equipes possuem as seguintes responsabilidades:
- A equipe de desenvolvimento é responsável por construir, corrigir e evoluir o produto.
- frontend e backend
- APIs
- Versionamento do código (git, svn)
- A equipe de qualidade é responsável por verificar se o que foi construído atende aos requisitos esperados pelos interessados.
- Testes automatizados
- Revisão e produção das documentações do produto
- checklists de qualidade
- A equipe de operação é responsável por garantir que o usuário final consiga acessar e utilizar o produto.
- Monitoramento dos serviços.
- Pipelines de integração contínua e deploy contínuo.
- Provisionamento de infraestrutura.
- Automações em geral.
A intersecção destas três equipes produz a pessoa DevOps. Ela reúne habilidades de desenvolvimento, operações e qualidade e tem a responsabilidade estratégica de construir pontes entre desenvolvedores, sysadmins, analistas de bancos de dados, designers, gestores e qualquer pessoa envolvida no processo de desenvolvimento de software.
A pessoa (ou equipe) DevOps não é um faz tudo, ela é alguém que consegue conectar diferentes necessidades internas e transforma-las em automações, documentação e ferramentas que servirão à todos. É sobre conhecimento técnico, mas também é sobre reduzir os silos organizacionais, permitindo a construção de plataformas que permitam a colaboração entre diferentes equipes.
DevOps para pequenas e médias organizações
Agora que entendemos o que é DevOps, gostaria de trazer dois cases da Pencil para exemplificar como a adoção das ferramentas e cultura do movimento, podem beneficiar pequenas e médias organizações, gerando redução de custos e mais agilidade no lançamento de novas versões dos produtos.
O primeiro case é o socialProtection.org, uma plataforma de referência mundial no âmbito da Proteção Social. A organização demandava muitas migrações de hospedagem porque dependia de fornecedores terceiros temporários para manter a infraestrutura, serviços e aplicações.
Fizemos uma análise dos recursos utilizados e configurações de aplicação para reduzir os gargalos da plataforma, além de uma reestruturação da infraestrutura para um cluster privado, o que resultou em um tempo de migração para um dia com zero downtime, tempo que antes era de um mês.
Entre 2019 e 2022, o número de usuários logados na plataforma triplicou, o que o cliente credita às melhorias implantadas em parceria com a PencilLabs. No gráfico a seguir, em vermelho está o crescimento no volume de visitas no site, depois que desenvolvemos as automações, monitoramento e configuração de infraestrutura.
O segundo case é a Empurrando Juntas (EJ), uma plataforma de coleta e análise de opinião coletiva. Ela permite realizar pesquisas temáticas em múltiplos canais como Telegram, WhatsApp, site institucional e campanhas de email marketing.
O Instituto Cidade Democrática nos contratou para desenvolvermos um conjunto de melhorias na plataforma e mantermos a infraestrutura e demais serviços operacionais. Para garantir que o trabalho da equipe de desenvolvimento fosse entregue de forma contínua e incremental para o cliente, nossa equipe DevOps montou uma esteira de automações utilizando Gitlab, Docker e Debian.
Essa esteira permite que em menos de 7 minutos o trabalho da equipe esteja disponível em um ambiente de homologação para análises e discussões. Nossa equipe DevOps construiu uma plataforma que permite aos desenvolvedores acessar recursos operacionais (infraestrutura) no dia a dia de trabalho.
A Pencil pode te ajudar a fazer DevOps
Esse artigo é o nosso primeiro conteúdo voltado para o movimento DevOps. Particularmente, é uma das áreas que eu mais gosto, pois permite que organizações sejam mais competitivas e vencedoras em suas áreas de atuação. Vale ressaltar que nós somos uma empresa de outsourcing e consultoria, então podemos te ajudar a construir ferramentas, documentações e automações para agilizar a entrega de valor da sua organização e potencializar a colaboração das equipes operacionais. Até a próxima!