BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Experiências de DevOps na Nokia HERE

Experiências de DevOps na Nokia HERE

Favoritos

Na conferência de GOTO Amsterdam de 2015, Ivan Kusalic, que é Engenheiro Software e DevOps da Nokia HERE em Berlim, deu uma palestra relâmpago sobre a adição de mais desenvolvedores (Dev) em DevOps.

A InfoQ americana entrevistou Kusalic sobre por que a Nokia decidiu aplicar DevOps, como mudou a sua forma de trabalhar, quais beneficios estão obtendo, os desafios que tiveram e como as equipes foram tratadas quando a área de desenvolvimento e a área de operações tornou-se uma só equipe. Kusalic também dá alguns conselhos para a aplicação de DevOps em equipes.

InfoQ.com: Na palestra foi comentado sobre ter duas equipes, uma para o desenvolvimento e uma para operações. Pode descrever os problemas que enfrentou?

Kusalic: Os problemas eram dois. As equipes tinham gerentes com pensamentos diferentes e, assim, os objetivos nem sempre se alinhavam. Além disso, as pessoas se comunicam muito mais dentro da equipe do que entre as equipes. Portanto, o problema foi principalmente a falta de comunicação entre as equipes. Membros de equipes diferentes conheciam pouco uns aos outros, não se esforçavam

ao máximo juntos, não tinham retrospectivas comuns ou discussões de projeto, etc.

Isso fez com que ambas as equipes produzissem abaixo do esperado e que não compartilhassem idéias nem melhorassem as ferramentas e os processos já criados. Dependíamos criticamente uns aos outros, mas se algo relacionado a responsabilidade da outra equipe dava errado, era preciso esperar para ser corrigido sem expressar opinião sobre aquilo.

Basicamente todos os benefícios bem conhecidos de DevOps estariam presentes apenas em menor grau, devido à separação das equipes.

InfoQ.com: Qual o motivo de aplicar DevOps? Qual foi o resultado esperado desta estratégia?

Kusalic: Quando entrei para a equipe de entrega, a entrega contínua (Continuous Delivery) já estava em vigor. Ao nos tornarmos uma equipe de desenvolvedores entendemos melhor o lado da entrega e passamos a pensar melhor sobre entrega contínua ao escrever o código do aplicativo. E do lado da entrega, passamos a entender melhor como o aplicativo funciona e as implicações para o desempenho, a escalabilidade e o ambiente necessários para executar o aplicativo sem incidentes.

InfoQ.com: Poderia compartilhar a sua opinião sobre DevOps?

Kusalic: Acredito fortemente que DevOps é sobre o trabalhar, aprender e melhorar juntos. O esforço do lado das ferramentas são importantes, irão surgir naturalmente a partir de uma equipe que se preocupa e tenta melhorar continuamente. Então, acho que a cultura e não as ferramentas é onde deveremos focar.

InfoQ.com: Pode dar alguns exemplos de coisas que mudaram com a introdução do DevOps?

Kusalic: Todos do lado da entrega escrevem código do aplicativo e, assim, compreendem a aplicação muito melhor. O mesmo é verdade no sentido contrário - todos os desenvolvedores compreendem as condutas de entrega, escalas políticas, etc. No nosso caso particular que não temos sequer a separação entre entrega e desenvolvimento. Todo mundo trabalha em ambos os lados, no que for necessário para continuar. É claro que algumas pessoas sabem mais de um lado ou de outro. Mas por meio de comunicação, planejando e trabalhando juntos, isso não é um problema. Agora somos um equipe que faz as duas coisas.

InfoQ.com: Como o uso de DevOps ajudou a resolver os problemas? Quais os benefícios que ele traz?

Kusalic: Trabalhando juntos reescrevemos nosso ferramental de entrega que era frágil e difícil de entender. Agora é muito mais fácil para adicionar novos recursos e cometemos menos erros ao fazê-lo.

Melhoramos nossa pipeline de entrega devido a uma melhor compreensão da aplicação - reduzimos o tempo entre o commit e o início do tráfego na produção em 30%.

Os pipelines também são mais estáveis, uma vez que todo mundo cuida para que eles fiquem "verdes" o tempo todo. Assim, quando estamos desenvolvendo, temos menos impactos e surpresas, já que estamos construindo para ser mais estável.

InfoQ.com: Quais os desafios enfrentados para se tornaram uma equipe? Como lidar com eles?

Kusalic: Tivemos os problemas normais que qualquer outro grupo tem quando se torna uma equipe - é preciso tempo para construir a confiança e para realmente tornar-se uma equipe, e não apenas um grupo de pessoas reunidas em estrutura organizacional.

Tivemos que acelerar drasticamente o processo, trabalhando em um projeto comum - a entrega de ferramentas. Por termos discussões comuns de planejamento/design, pares juntos, entre outros, a construção da confiança e facilidade de comunicação aconteceram naturalmente mais rápido.

Houve alguns problemas específicos do projeto que trabalhamos bem.

No lado de entrega não sabíamos a linguagem de implementação Scala e eramos pouco familiarizados com as práticas de desenvolvimento. Uma coisa particularmente interessante foi limitar a complexidade de recursos poderosos que usamos do Scala (por exemplo, macros). Precisamos ser disciplinados para isolar a complexidade em apenas uma pequena parte da base do código, assim as pessoas que estão menos familiarizadas com Scala ou até mesmo com o desenvolvimento podem contribuir.

InfoQ.com: Quais os conselhos para pessoas interessadas em aplicar DevOps em suas equipes?

Kusalic: Certifique-sede que todos entendam os benefícios do uso de DevOps. Por exemplo: que os ciclos menores de lançamento ajudam os desenvolvedores a terem certeza de que eles não estão introduzindo degradações de desempenho e que cada incremento se comporta como esperado, enquanto no lado de entrega os incrementos menores reduzem drasticamente o risco de algo acontecer errado.

Se possível, tente evitar grupos restritos e garantir que todo mundo tem pelo menos uma visão geral de todo o sistema.

Experimente coisas menores em projetos/sistemas menos críticos. Sistemas com a mesma tecnologia e que não precisam ter 99,9% de disponibilidade são ótimos para isso.

Faça retrospectivas regulares (formais ou não) para continuar melhorando.

Mas acho que tudo se resume a: atenção ao que se faz e tenha orgulho disso. O restante irá acontecer de forma natural.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT