BT

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

Contribuir

Tópicos

Escolha a região

Início Notícias A evolução dos desenvolvedores de ciclo completo na Netflix: Greg Burrell no QCon SF

A evolução dos desenvolvedores de ciclo completo na Netflix: Greg Burrell no QCon SF

No último QCon San Francisco, Greg Burrell falou sobre a jornada em direção aos "desenvolvedores de ciclo completo" dentro da equipe de engenharia de borda da Netflix. Seguindo o princípio de "manter o que você construiu", os desenvolvedores dessa equipe optaram por assumir uma responsabilidade mais operacional por seus serviços e foram facilitados por ferramentas abrangentes, treinamento e gerenciamento do suporte. Sua jornada está em andamento e a equipe está empenhada em melhorar a coleta de métricas para medir o processo e as pessoas, não apenas para melhorar a eficácia, mas também para evitar o esgotamento.

Greg Burrell, é engenheiro sênior de confiabilidade (SRE) na equipe de produtividade de desenvolvedor de borda da Netflix, ele iniciou a apresentação explicando as responsabilidades da equipe em que trabalha. A engenharia de bordas é responsável por uma série de operações na "borda" do sistema. como por exemplo a inscrição de um cliente na plataforma, as ações de descobrir/navegar e reproduzir um filme. Ele introduziu tecnologias dentro da arquitetura de borda da Netflix, que incluem: Zuul 2 como um gateway de borda; o NodeQuark, um "PaaS de borda" baseado em node.js customizado; uma série de APIs de granulação alta com foco nos negócios; e microsserviços de "mid-tier".

Netflix edge architecture.

Mudando os tópicos da apresentação, de tecnologia para organização de equipe e fluxo de trabalho do desenvolvedor, Greg Burrel discutiu como a equipe de engenharia de borda usava anteriormente um "modelo de equipes especializadas", onde o trabalho era conduzido por equipes individuais focadas em desenvolvimento, teste e um centro de operações de rede(NOC). Essa é uma abordagem comum na indústria de desenvolvimento de software, onde a implementação segue um modelo inspirado na linha de produção, e o trabalho é "entregue" de forma incremental à medida que a funcionalidade é construída e operacionalizada. Um "modelo híbrido" também se tornou cada vez mais comum, onde o NOC é substituído por uma equipe centralizada de operações ("CORE" ou "DevOps"), que também interage e capacita as equipes de desenvolvimento. Embora eficaz em algum grau, existem pontos de dor inerentes a esses modelos.

Frequentemente, as equipes que trabalham dentro dessas estruturas organizacionais tradicionais carecem de contexto. Por exemplo, desenvolvedores e testadores não sabem muito sobre os sistemas de produção, e as equipes NOC ou CORE não conhecem os detalhes das aplicações. Isso leva a uma alta sobrecarga de comunicação, principalmente quando ocorre um problema. Geralmente, há um longo processo de solução de problemas e correção, pois os engenheiros se movimentam com cautela devido à falta de familiaridade com os aplicativos, sistemas e estado atual. Isso pode estimular uma confiança excessiva no telefone celular; por exemplo. "vamos fazer com que todos participem da conferência e todos falem ao mesmo tempo". Em última análise, isso pode resultar em um ciclo de feedback com perdas, como visto na Netflix; os desenvolvedores ficaram longe da produção, a menos que "algo estivesse em chamas" e as equipes de operações "ajudassem nos problemas".

Greg Burrell afirmou que as equipes, reconhecendo o problema, olhavam para os primeiros princípios inspirados na cultura Netflix: operar o que você construiu. Isso levou ao surgimento do "desenvolvedor de ciclo completo", onde os desenvolvedores são responsáveis por certos aspectos operacionais da prestação de serviços, e são suportados por meio de treinamento e uma variedade de ferramentas de autoatendimento. Equipes centralizadas criam e mantêm plataformas e ferramentas, mas cada equipe dentro da organização tem a liberdade de se desviar dessa "estrada pavimentada".

Netflix full cycle developers by Greg Burrell.

Trabalhar desta forma requer uma mudança de mentalidade, e nem todos os desenvolvedores (ou todas as equipes) querem trabalhar dessa maneira. Isso não é um problema, pois há outras funções de desenvolvimento mais especializadas disponíveis no Netflix. Para desenvolvedores que adotam a ideologia do ciclo completo, o acesso a boas ferramentas é essencial. Exemplos de ferramentas de suporte no Netflix incluem: Newt - um kit de ferramentas de fluxo de trabalho de desenvolvedor de linha de comando que encapsula dependências externas e cria ferramentas dentro de contêineres; Spinnaker - uma plataforma de entrega contínua flexível que é integrada com plataformas de produção (por exemplo, o Titus) e coleta de métricas para versões canary (por exemplo, o Kayenta); e uma série de frameworks de observabilidade e coleta de métricas.

Do ponto de vista da organização, Greg Burrell advertiu que a abordagem de ciclo completo não é simplesmente "apertar mais o trabalho dos desenvolvedores"; e alertou que é possível que a carga cognitiva adicional aumente o risco de burnout. As equipes devem ser adequadas para gerenciar implementações, problemas de produção e solicitações de suporte. O treinamento é essencial - e requer foco e recursos dedicados - e os desenvolvedores devem estar abertos para expandir seu conjunto de habilidades. Os gerentes devem estar dispostos a investir em pessoal, treinamento e ferramentas. A equipe de liderança também terá que trabalhar duro para priorizar testes, automação de operações e suporte ao lado do desenvolvimento de recursos voltados para os negócios.

E para finalizar, Greg Burrell afirmou que a jornada de desenvolvimento do ciclo completo continua dentro da Netflix, e o foco atual está na melhoria do ferramental. Há também um foco na definição de métricas eficazes para medir cada aspecto do ciclo de vida do software e métricas para medir a produtividade e a saúde da equipe.

Improving full cycle development at Netflix.

O vídeo e os slides da palestra no QCon SF, de Greg Burrell, "Full Cycle Developers na Netflix" podem ser encontrados no site do InfoQ.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT