A colaboração é a chave do sucesso do DevOps

9 de abril de 2019 // 7 min read

image

Em um estudo recente da TechTarget, 70% das organizações relataram ter adotado o DevOps.

Como uma das maiores empresas de software corporativo, a SAP tem mais de 20 mil desenvolvedores em equipes espalhadas pelo mundo. No ambiente de DevOps atual, a liderança da SAP sabe que o sucesso dessa enorme operação depende da fácil colaboração entre equipes e desenvolvedores individuais em diversos lugares. Isso resultou na busca por uma forma eficaz para todos se comunicarem e trabalharem juntos, ao mesmo tempo em que se promove maior eficiência e criatividade.

Dominik Tornow, diretor de engenharia com o grupo Labs, Processes, and Tools (Laboratórios, Processos e Ferramentas), acredita que o processo centralizado não leva à inovação. Desenvolvedores, arquitetos e gerentes de produto, todos querem entregar uma funcionalidade excepcional e contínua. Para fazer isso, precisam poder colaborar em seus próprios termos.

A pergunta é: “Como?”

Como o DevOps foi tão amplamente aceito, as empresas e organizações estão buscando formas de otimizar a eficiência com essa metodologia de desenvolvimento de software. O objetivo central é aumentar a eficiência em todo o ciclo de vida do desenvolvimento de sistemas. E, segundo mostram as pesquisas, o DevOps continua em rápida expansão.

A eficiência do DevOps é sobre colaboração entre pessoas, não sobre tecnologia

Em um estudo global recente de líderes de TI entre os 10 maiores setores, a TechTarget relatou um crescimento anual de 17% em comparação com ano anterior nas organizações que adotaram o DevOps, deixando apenas 30% com as iniciativas sem DevOps até o momento. Os entrevistados elegeram “eliminar os gargalos do processo para agilizar o lançamento de aplicativos” como o maior desafio do DevOps, seguido de perto por “facilitar a colaboração entre equipes multifuncionais de DevOps”. Embora outros desafios mais abaixo nessa lista sejam relacionados a coisas como infraestrutura de software, integração de nuvem e seleção de ferramentas, os dois maiores desafios são relacionados a pessoas, não à tecnologia.[^1]

Na versão de 2018 de outro grande estudo anual, a porcentagem de entrevistados que trabalham em um “departamento chamado DevOps” teve um crescimento acentuado de 20%, com o maior salto ocorrendo no ano passado. Esse estudo global descobriu ainda que 36% dos entrevistados estão desenvolvendo de 25% a 100% de seus aplicativos com processos de DevOps,[^2]

Alanna Brown, que lançou o estudo anual acima em 2012, reafirmou o desafio sobre “pessoas, não tecnologia” para impulsionar a eficiência do DevOps. Ela escreveu recentemente em um blog: “Os temas mais importantes para nós sempre foram capacitar as equipes para fazerem o melhor trabalho, superar as diferenças culturais entre as equipes de desenvolvimento e de operações e tornar a TI melhor para todos.”[^3]

De fato, o próprio relatório de 2018 observa que as melhores práticas de DevOps começam “melhorando a colaboração”. O relatório esclarece que “o compartilhamento entre equipes é crucial para expandir o sucesso do DevOps. As práticas com impacto mais significativo ao longo de toda a jornada evolutiva do DevOps dependem do compartilhamento. As organizações que têm pequenos focos de sucesso de DevOps, mas nunca conseguem expandir esse sucesso, estão estagnadas e não são capazes de alcançar níveis mais altos de automação e autoatendimento.”[^4]

[^1]: 1 “Informing the path to enterprise DevOps deployments” (“Informando o caminho para implantações de DevOps corporativo”), TechTarget, outubro de 2018. [^2]: “2018 State of DevOps Report” (“Relatório do Estado do DevOps em 2018”), Puppet, 2018. [^3]: “2018 State of DevOps Report: Practical guidance for your DevOps evolution” (“Relatório do Estado do DevOps em 2018: Guia prático para sua evolução com DevOps”), Puppet Blog, setembro de 2018. [^4]: Ibid(2).

Código aberto, DevOps e colaboração

Conforme a adoção do DevOps crescia nos últimos anos, o código aberto cresceu junto. Uma projeção do enorme interesse no código aberto mundialmente mostra lucros que dobraram em apenas três anos para US$ 26 bilhões.[^5] A colaboração está interligada com o código aberto, por meio do qual softwares são frequentemente desenvolvidos em um processo público altamente colaborativo. De fato, organizações globais em todos os setores vêm incorporando rapidamente as melhores práticas de código aberto às formas como criam e implantam softwares.

Muitas organizações estão adotando o “Innersource”, que é basicamente um código aberto protegido por um firewall. Innersource é uma metodologia de desenvolvimento altamente colaborativa usando as melhores práticas de projetos de código aberto de grande escala. Tais projetos, como Kubernetes, ou o Visual Studio Code da Microsoft, exige coordenação entre milhares de desenvolvedores e outros contribuidores, literalmente. As experiências com Innersource resultaram em uma lista de melhores práticas para unir Innersource, código aberto e DevOps para impulsionar a colaboração e a eficiência.

O Innersource aborda os desafios de DevOps focando não apenas na colaboração do desenvolvimento e das operações, mas também na colaboração de todas as equipes no processo de software.

“Assim que adota o [Innersource] e vê como surgem novas equipes, você mostra exemplos de lugares onde as pessoas podem contribuir e desbloquear gargalos”, relata Jeremy King, Vice-Presidente Executivo e Diretor de Tecnologia (CTO) de comércio eletrônico global no Walmart. E Jeff Jagoda, Engenheiro de Software Sênior na IBM, afirma: “Nós vemos o Innersource como uma forma de melhorar a eficiência por meio da reutilização de código. Mais além disso, é um fantástico condutor para o aprendizado, a troca de ideias e para facilitar a inovação dentro da IBM.

[^5]: “Projected revenue of open source services from 2017 to 2022 (in billions U.S. dollars)” (“Receita prevista para serviços de código aberto de 2017 a 2022 [em bilhões de dólares dos EUA]”) Statista, 2018.

Trabalho em equipe para impulsionar a colaboração no DevOps

A SAP explora a “sabedoria das multidões”

Algumas organizações usuárias estão andando frustrantemente em círculos quando o assunto unir esforços para superar os desafios de DevOps. A SAP, com um único grupo dentro de seu enorme complexo de desenvolvimento interno, procurou a administração para falar sobre aproveitar uma inovadora plataforma de desenvolvimento, GitHub, para otimizar a colaboração entre os membros da equipe espalhados pelo mundo.

Os casos de sucesso iniciais com o GitHub se espalharam boca a boca. Logo os desenvolvedores de outros projetos estavam compartilhando códigos e ideias para criar fluxos de trabalho práticos, segundo Tornow, da SAP. Conforme relatou, a natureza colaborativa dos “commits, comentários e issues” da plataforma se tornaram os principais ingredientes para a eficiência e a inovação. Em uma ocasião, o grupo de Tornow iniciou um projeto contendo apenas alguns arquivos na plataforma. Em 24 horas, uma equipe, a 12 fusos horários de distância, entrou em contato com eles perguntando se poderiam contribuir.

A C.H. Robinson substitui pontos de isolamento pela colaboração – e softwares superiores

Passando por uma rápida expansão, a líder em logística terceirizada C.H. Robinson precisou garantir que seus 800 funcionários de TI e desenvolvedores com trabalhassem em equipe, apesar de estarem espalhados por inúmeros escritórios em três continentes. Isso fez com que os fluxos de trabalho da equipe se tornassem o mais colaborativos e transparentes possível.

A autonomia relativa dada às equipes de desenvolvedores também lhes deu liberdade para escolher suas próprias ferramentas, o que causou problemas na padronização de códigos e no fornecimento de documentação e visibilidade de projetos. Os desenvolvedores não tinham uma forma adequada de trabalhar com o código de outra pessoa, mesmo se conseguisse localizá-lo. Em um esforço de empoderar as equipes de desenvolvimento locais, a empresa acidentalmente criou uma organização de TI dividida.

Para lidar com essa situação, a C.H. Robinson recorreu ao GitHub. O resultado até aqui foi uma mudança em toda a organização “em direção à abertura que traz à tona as melhores soluções”, de acordo com Tyler Patterson, gerente de arte de engenharia. “Na verdade, estamos trabalhando internamente para divulgar o código. [As ferramentas] nos permitem ser um departamento e uma equipe aberta e colaborativa e apresentar os melhores produtos. […] Estamos aproveitando a potência de outros desenvolvedores pelo mundo. Isso é o que torna nosso mundo de TI incrível.

Estamos aproveitando a potência de outros desenvolvedores pelo mundo. Isso é o que torna nosso mundo de TI incrível.

A Universidade de Minnesota aproveita o poder da colaboração de 230 departamentos e unidades administrativas

A plataforma de colaboração correta também mostrou ser o motor da eficiência e inovação na Universidade de Minnesota, cujos desenvolvedores estão espalhados pelo estado em 230 departamentos de desenvolvimento diferentes. Da mesma forma que a SAP, um pequeno grupo de desenvolvedores viu a necessidade de algo que eles chamaram de “uma rede social para colaboração em código”. Depois que esse grupo adotou o GitHub, a mesma plataforma foi rapidamente disponibilizada para toda a universidade, que tem 60 mil estudantes.

Segundo Peter Walz, engenheiro de sistemas na universidade, a plataforma resultou na aceleração de pushes de código e mais pull requests, cujo uso levou a melhorias significativas no fluxo de trabalho. “Você pode ver facilmente quais mudanças estão prestes a acontecer antes que elas sejam incorporadas”, disse ele. Walz também relatou um menor impacto na administração de TI, pois a plataforma permitiu que os usuários definissem as permissões e autoatendimento para suporte. Em geral, declara Walz, o GitHub “simplificou a colaboração entre departamentos”.

O GitHub é o ingrediente secreto para a colaboração

Conforme mostrado, a única coisa que essas três organizações tinham em comum na hora de selecionar uma plataforma para elevar a colaboração e a eficiência a patamares mais altos era o GitHub. A SAP, a C.H. Robinson e a Universidade de Minnesota juntam-se a milhões de organizações e desenvolvedores em todo o mundo que usam o GitHub atualmente. Juntos, essas organizações e esses desenvolvedores formam a maior comunidade de código aberto, compartilhando código, trabalhando juntos de forma segura e criando melhores softwares com mais rapidez. Além de abrigar a maior comunidade de código aberto, o GitHub também é fácil de usar. Conforme dito por Amir Jaballah, chefe global da plataforma de entrega contínua da gigante do setor bancário, Societe Generale: “Eu raramente vi tanto entusiasmo com a implantação e adoção de uma nova solução.”

Como uma plataforma altamente versátil, o GitHub pode ser implantado como SaaS, no local ou um híbrido de ambos com o GitHub Connect. Suas ferramentas avançadas de auditoria e monitoramento permitem que as equipes de desenvolvedores trabalhem juntos e colaborem enquanto cumprem exigências críticas dentro dos limites de um ambiente interno seguro.

Seja usado no local com servidores existentes ou em uma nuvem privada, o GitHub pode ajudar as equipes de DevOps a impulsionar a eficiência geral do desenvolvimento com opções de implantação flexível, permissões centralizadas, centenas de integrações e suporte técnico.

Os principais elementos do GitHub incluem:

Colaboração

Com pull requests e issues, a colaboração e a revisão de código são incorporadas ao processo de desenvolvimento. Equipes internas e externas podem compartilhar trabalhos, discutir mudanças e receber feedback, tudo em um só lugar. Isso ajuda as organizações a compartilhar seus conhecimentos internamente e evitar reinventar soluções testadas em campo desenvolvidas para outros projetos.

Segurança

Desenvolvidos com aprendizado de máquina, os alertas de segurança enviam notificações quando dependências vulneráveis são usadas em um projeto. Desde o lançamento dos alertas de segurança em 2017, mais de 5 milhões de alertas foram enviados para ajudar a comunidade do GitHub a manter seus projetos seguros. A verificação de segredo detecta e invalida segredos enviados ao GitHub. Essa segurança aprimorada permite que as empresas entreguem quando quiserem, criando um ambiente onde as elas podem testar e experimentar aplicativos legados reformulados e otimizar os resultados. Proteções de branch também asseguram que as alterações sejam revisadas e passem por CI (integração contínua), verificações de GPG e logs de auditoria.

Integração

O GitHub oferece suporte a ferramentas personalizadas e a centenas de aplicativos e serviços de terceiros. Usando serviços como Jenkins, CircleCI, Travis CI ou BuildKite, o GitHub ajuda os fluxos de trabalho de automação de acordo com o ambiente de produção de uma equipe. O número crescente de ferramentas e integrações está acessível no GitHub Marketplace. Elas incluem o Sentry para relatório de falhas e log de erros em tempo real e entre plataformas, bem como issue.sh para gerenciamento agilizado de projetos dentro do GitHub, sem acesso a código.

Comunidade

Como a maior comunidade de código aberto do mundo, o GitHub traz a potência do código aberto para as equipes no trabalho. As equipes podem explorar novos projetos, encontrar soluções e criar softwares melhores com o suporte de desenvolvedores em todo o mundo.


O GitHub é onde as pessoas criam softwares. Com a confiança de milhões de desenvolvedores e metade da Fortune 500, o GitHub ajuda equipes de DevOps de todos os tamanhos a colaborar de forma segura e oferecer melhores experiências com mais rapidez. Para começar sua avaliação gratuita ou saber mais sobre as soluções do GitHub, visite https://github.com/enterprise.

Tags

Quer saber como o GitHub pode ajudar sua empresa?

Fale mais sobre suas necessidades

octocaptcha spinner