Muito se fala sobre o relacionamento arquetípico entre DevOps e NetOps. Somos constantemente bombardeados com uma ladainha de retórica "nós contra eles" que coloca um contra o outro, lançando solicitações e acusações de um lado para o outro sobre o muro que os separa. Com o aumento da pressão para entregar aplicativos com mais rapidez e frequência, esse muro pode se tornar a divisão digital que separa os vencedores na economia de aplicativos de todos os outros.
Felizmente, essa exclusão digital está diminuindo graças à automação e orquestração de TI. Descobrimos o desejo de colaborar para fechar esse abismo digital tanto por parte de NetOps quanto de DevOps quando pesquisamos separadamente cada grupo, investigando seu uso da tecnologia, percepções uns dos outros e os aplicativos que eles entregam. Essa é uma notícia cada vez melhor para empresas que estão embarcando em esforços de transformação digital que exigem a escala e a velocidade que somente a automação e a orquestração podem efetivamente alcançar. Também são boas notícias para organizações que enfrentam dificuldades com ambientes multi-nuvem que exigem maior atenção de funcionários já sobrecarregados. Aliviar a pressão no local com automação pode liberar recursos para atender a projetos relacionados à nuvem.
884 profissionais de NetOps e DevOps responderam a pesquisas on-line realizadas no verão de 2017. Fizemos diversas perguntas relacionadas à percepção sobre aplicativos em geral e suas contrapartes em NetOps ou DevOps, bem como perguntas focadas na percepção de frequência e taxas de sucesso de implantações.
Os resultados mostram que, embora o muro entre eles ainda exista, ele não é tão alto ou opaco quanto o diálogo dentro das comunidades ou outros relatórios do setor afirmam. Encontramos muitos pontos em comum entre organizações de todos os tamanhos e setores com relação à importância e ao desejo de automação do pipeline de produção, bem como confiança mútua na segurança, no desempenho e na confiabilidade dos aplicativos que ambos os grupos se esforçam para desenvolver e implantar.
A automação parece ser uma força unificadora para NetOps e DevOps. Em princípio, pelo menos, se não nos detalhes específicos de implementação.
Embora DevOps e NetOps continuem em desacordo sobre quanto acesso ao pipeline deve estar disponível via autoatendimento e automação, na maioria dos casos, ambos os grupos veem o outro no caminho certo. 82% dos DevOps e 76% dos NetOps concordam que cada um prioriza “as coisas certas”. Claramente, há um ponto em comum em toda a exclusão digital, pelo menos em objetivos e foco, embora nem sempre no organograma.
Entre os dissidentes do lado do NetOps, a resposta mais comum sobre o que o DevOps não prioriza o suficiente incluía a segurança. A confiabilidade também surgiu frequentemente como uma fonte de frustração com o DevOps por parte de seus equivalentes NetOps.
Confiabilidade e segurança são tão importantes quanto a velocidade de entrega. A segurança ainda é uma reflexão tardia. Desempenho, segurança, confiabilidade.
Não é de surpreender que um dos argumentos mais comuns do DevOps em relação à priorização pelo NetOps tenha sido centrado na automação. Ou melhor, a falta dela.
automação automação automação. Gostaria de vê-los priorizar a criação de recursos automatizada e independente de nuvem no espaço da nuvem. Automação, devops, nuvem, segurança.
Essa diferença de opinião provavelmente está na raiz da nossa próxima descoberta importante, que expôs o efeito que a falta de acesso ao pipeline de produção por parte dos desenvolvedores e do DevOps por meio de automação e autoatendimento tem na adoção da nuvem e de soluções fora da TI.
Eles podem ouvir você agora. Há muito tempo acredita-se que um dos motivadores da adoção da nuvem — tanto por partes interessadas de negócios quanto de DevOps — é a falta de acesso de autoatendimento ao pipeline de implantação de produção, o que resulta em longos ciclos de implantação. A notícia não tão boa é que nossa pesquisa valida essa crença, com 27% dos DevOps indicando que isso influencia sua decisão de buscar soluções baseadas em nuvem “muito” e 38% influencia “algum”. A boa notícia é que a NetOps não está alheia ao impacto. Mais de 65% dos NetOps dizem que seu desejo de automatizar e fornecer acesso de autoatendimento ao pipeline de produção é influenciado "um pouco" ou "muito" pelas decisões do DevOps de adotar a nuvem.
O jogo da culpa acabou. Ao contrário das histórias populares que colocam NetOps e DevOps um contra o outro em um jogo interminável de apontar o dedo após incidentes, encontramos evidências de que cada grupo vê o outro de uma forma muito mais positiva.
A busca pela nuvem por aqueles frustrados pela falta de acesso ao pipeline contribui fortemente para o surgimento da multinuvem e seus desafios associados com segurança e desempenho, como frequentemente observado por aqueles que lutam contra a "TI desonesta" resultante que ela cria. Mesmo que a NetOps continue se esforçando para oferecer acesso por meio de automação/autoatendimento com nuvem privada ou sistemas semelhantes à nuvem, ainda há um investimento significativo em soluções de nuvem externa que dificilmente será ignorado. Isso deixa as organizações com diversas soluções de nuvem – e ambientes – para gerenciar, monitorar e proteger, aumentando a complexidade de operar na economia digital.
A questão agora não é “fornecemos acesso self-service ao pipeline de produção?”, mas sim “quanto expomos?”
Quanto é suficiente? A quantidade certa de acesso ao pipeline para desenvolvedores e DevOps por meio de recursos de automação/autoatendimento trouxe algumas diferenças marcantes nas opiniões. O DevOps definitivamente quer mais acesso ao pipeline de produção do que o NetOps está disposto a oferecer.
Embora não tenhamos pedido insights sobre a relutância da NetOps em fornecer ao DevOps maior acesso ao pipeline, uma resposta pode ser encontrada nas habilidades disponíveis para fazê-lo. Os entrevistados da NetOps geralmente acreditam que há uma lacuna entre as habilidades necessárias para realizar seu trabalho e o treinamento/conhecimento que eles têm agora.
Na verdade, tanto NetOps quanto DevOps que se autoidentificam como “desenvolvedores” eram mais propensos a acreditar que seus empregos seriam relevantes em cinco anos, dadas as responsabilidades e conjuntos de habilidades semelhantes. Os menos confiantes eram aqueles que se identificavam como Operadores de Rede – em ambos os lados do muro.
O estado atual da automação do pipeline de produção no lado do NetOps parece refletir o impacto dessa lacuna de habilidades. Não foi uma surpresa descobrir que ele está consideravelmente atrás do pipeline de entrega do DevOps. Enquanto 11% dos NetOps admitem não haver automação do pipeline de produção, apenas 5% dos DevOps disseram o mesmo sobre o pipeline de entrega de aplicativos.
O estado da automação de pipeline é importante a ser observado, dada nossa descoberta de uma correlação positiva entre a automação de pipeline e a frequência de implantações bem-sucedidas. 86% dos NetOps que indicaram uma porcentagem maior de automação de pipeline (75% ou mais) também relataram maior frequência de implantações muito bem-sucedidas (90% ou mais).
Mas não é o único fator, pois a frequência de alterações de aplicativos também parece ter impacto na frequência de implantações bem-sucedidas.
Estamos bem, obrigado. Talvez a maior divisão cultural ainda esteja na questão da frequência de mobilização. Enquanto parte do DevOps entrega aplicativos para produção em uma velocidade alucinante (12% entregam alterações para produção mais de uma vez por dia), o NetOps parece estar muito mais confortável implantando essas alterações em um ritmo mais lento, porém mais constante.
No geral, parece haver algum consenso em torno das frequências mensais e semanais para uma pluralidade de entrevistados. Não é de surpreender que o DevOps prefira entregar com mais frequência do que o NetOps. Ou seja, dos 26% de DevOps que desejam entregar com mais frequência, 28% entregam uma vez por semana e 26% já entregam mais de uma vez por dia.
As percepções sobre a adequação da velocidade com que as mudanças são entregues variam de grupo para grupo. É digno de nota, no entanto, que a maioria de ambos (70% do DevOps e 74% do NetOps) descreveu a frequência das mudanças como “boa o suficiente para nós”.
É aí que a semelhança termina. Enquanto apenas 4% dos DevOps alegaram que sua programação atual era "muito frequente", aqueles do lado do NetOps que descreveram a frequência de entrega como "muito frequente" dobraram. Mais de um em cada quatro (26%) DevOps quer ir mais rápido, enquanto menos de 1 em cada 5 (18%) NetOps quer acelerar o ritmo.
Ignorar o desejo e examinar os resultados, no entanto, revela o que pode ser a frequência de implantação “ideal” para equilibrar velocidade e taxas de sucesso. Dos 65% de NetOps e 57% de DevOps que vivenciam implantações bem-sucedidas em mais de 90% das vezes, as mudanças são enviadas para produção “uma vez por semana”.
A exclusão digital que os aplicativos precisam atravessar para passar da entrega à implantação ainda existe. Partes significativas do pipeline de implantação continuam sendo conduzidas manualmente, o que continuará a direcionar os aplicativos para a nuvem. Por sua vez, as decisões do DevOps de adotar a nuvem farão com que o NetOps forneça mais acesso de autoatendimento necessário para acelerar a jornada.
A automação é a chave para eliminar essa exclusão digital, pois permite que NetOps e DevOps trabalhem de forma mais inteligente, não mais difícil, e dimensionem as operações para atender às necessidades dos negócios em conjunto.
Os dados para este relatório foram compilados a partir de duas pesquisas on-line separadas realizadas em julho de 2017. Ambos foram projetados para investigar o uso da automação no ciclo de vida do aplicativo, do desenvolvimento à implantação, bem como as percepções dos dois grupos principais envolvidos. Os entrevistados de ambos os grupos foram incentivados a participar.
Abaixo estão incluídas respostas adicionais selecionadas para perguntas da pesquisa, obtidas de entrevistados de NetOps e DevOps. Embora não seja uma lista abrangente, eles são apresentados aqui como uma amostra do tipo de feedback recebido. Os nomes dos produtos foram editados para maior precisão; caso contrário, a intenção é publicar os comentários sem edição e conforme recebidos.
Se você respondeu “Não” para “Sua equipe de desenvolvimento prioriza as coisas corretamente?” – O que você gostaria que eles priorizassem de forma diferente?
- Estabilidade, Qualidade e Visão. Muitas vezes as pessoas correm para um encontro e a qualidade é o principal prejudicado. Além disso, não olhar além da tarefa atual leva a uma tonelada de retrabalho e soluções menos que ideais no final (lixo é juntado e pode funcionar, mas não é ótimo ou ideal de forma alguma).
- Precisamos de mais colaboração entre as equipes de desenvolvimento e administração de sistemas. Não estamos abandonando a administração manual com rapidez suficiente.
- Gostaria de ver as equipes de desenvolvimento se preocupando mais com a confiabilidade operacional, consistência da arquitetura e cooperação entre diferentes equipes de desenvolvimento
- Os desenvolvedores de aplicativos não pensam em rede ou segurança, a segurança está apenas marginalmente ciente do desenvolvimento, a rede aprende sobre as mudanças operacionais quando o desenvolvimento é concluído.
Em um mundo ideal, como você melhoraria a interação, a comunicação, a colaboração, etc. entre suas equipes de desenvolvimento e operações?
- Melhore as métricas, o monitoramento e a visibilidade para que ambos os lados sejam informados sobre o desempenho. Automatize o pipeline para acelerar a entrega de serviços. Forneça capacidade adequada para evitar longos prazos de entrega.
- Substitua-os por pessoas mais inteligentes
- Pare de ver uns aos outros como obstáculos e deixe que todas as equipes contribuam onde podem agregar melhor valor. A automação é ótima, mas sem alguma supervisão, algumas soluções podem funcionar, mas geralmente há uma maneira melhor e mais otimizada de fazer isso.
- Mais confusão entre as equipes de desenvolvimento e operações. Deve ser considerado "uma equipe" com um objetivo compartilhado de entregar aplicativos de forma que possam ser dimensionados e tenham bom desempenho na infraestrutura disponível com o mínimo de sobrecarga.
- A comunicação não importa se você está falando com o equivalente mental de uma pedra em uma gravata.
- Envolver a equipe F5 mais cedo em seu processo no ciclo DEV.
- Traga as operações mais cedo no ciclo de desenvolvimento
- Código compartilhado e visibilidade de pipelines. Quantas mais ferramentas puderem ser gerenciadas por código, melhor (por exemplo, não podemos gerenciar razoavelmente um F5 BIG-IP em código, e esse é um ponto fraco em nosso processo).
Se você respondeu “Não” para “Sua equipe de operações prioriza as coisas corretamente?” – O que você gostaria que eles priorizassem de forma diferente?
- Gostaria de vê-los priorizar a criação automatizada e independente de nuvem de recursos no espaço da nuvem. Infraestrutura de botão de pressão, que é definitivamente viável e útil para desenvolvedores, controle de qualidade e operações.
- Eles precisam se adaptar à automação de tudo o que tocam e parar de temer a perda do emprego
- Muito trabalho manual, nenhuma automação, falta de compreensão do problema técnico central. Capacite os desenvolvedores.
- Eles tendem a resolver problemas jogando dinheiro neles. Mais equipamentos (caros). Mais pessoal para girar a manivela, em vez de automação.
Em um mundo ideal, como você melhoraria a interação, a comunicação, a colaboração, etc. entre suas equipes de desenvolvimento e operações?
- Gostaria que a equipe de operações fornecesse mais ferramentas para abstrair os detalhes do ambiente operacional
- Sou desenvolvedor e precisamos implantar e automatizar a infraestrutura. Os caras das operações precisam aprender a automatizar e usar algumas ferramentas.
- Mudar a equipe de operações para ser mais um suporte de infraestrutura que automatiza o gerenciamento da infraestrutura. Isso permitiria que os desenvolvedores usassem a infraestrutura mais como um serviço, em vez de depender de operações para realizar atualizações, gerenciamento de servidores, etc. Eu também incorporaria membros da equipe de operações a outros grupos como um elo para ajudar a tornar os aplicativos mais fáceis de gerenciar.
- A equipe de operações precisa ser expandida e diretamente envolvida no desenvolvimento e nos testes. Não se trata apenas de um lugar para onde recorrer em caso de solicitações, mas sim de um parceiro integrado na linha de frente.