Spotify aprimorando a infraestrutura com decisões orientadas a dados.

Estive lendo um bom artigo da equipe de engenharia do Spotify que comenta sobre as vantagens que tiveram ao colocar os dados em primeiro lugar. Data First! Isso ajudou o Spotify a melhorar drasticamente o processo de tomada de decisões de infraestrutura e vale a pena ser comentado.

Não é de hoje que surgem artigos do Spotify sobre DevOps mostrando que o objetivo deles é sempre simplificar o desenvolvimento para possibilitar que os desenvolvedores se preocupem com a qualidade ao fechar a lacuna entre o desenvolvedor e as funções de infraestrutura de TI. Agora, apresentam a proposta de aplicação da orientação a dados para tomar decisões quanto a infraestrutura e auxiliar no objetivo citado.

Quando comecei a estudar mineração de dados para meu trabalho de conclusão de curso da graduação, me deparei com o livro de Max Bramer(2007) que me despertou para esse assunto de não desprezar os dados que temos armazenados. O autor comenta que as possibilidades do uso do conhecimento crítico contido nos dados crescem de forma proporcional ao avanço nas tecnologias de armazenamento. Para os negócios, isso pode ser um diferencial entre o crescimento e o declínio de uma empresa. Enquanto, para área da saúde, essa pode ser a diferença entre a vida e a morte de pessoas.

Tudo o que eu lia no livro soava distante da minha realidade. Não havia a minha volta uso dos dados além de poucos gráficos e os sistemas mais pareciam facilitadores de uso de banco de dados, tornando mais simples e organizado inserir, atualizar, remover e buscar dados (famoso CRUD). O conhecimento da forma como Bramer apresentava não estava sendo extraído dos dados e usado de forma poderosa:

“O mundo está se tornando rico em dados, mas pobre em conhecimento”(BRAMER, 2007, p.2)

Imediatamente, pensamos em usar dados para decisões em departamentos de alto nível de abstração, que não sejam técnicos. Segundo Herbster (2020), até mesmo a equipe do Spotify inicialmente pensou assim, mas depois perceberam a possibilidade de usarmos até mesmo em decisões de infraestrutura, com benefício para equipes de DevOps móveis.

Herbster (2020) conta que após a equipe ter passado por uma série de sessões de treinamento que cobriu diferentes aspectos da ciência de dados e engenharia, voltaram para seus respectivos times observando necessidades de informações em um âmbito técnico.

“Uma das primeiras ideias que trouxemos da Data University foi a criação de painéis para nossas equipes, para que pudessem analisar constantemente as tendências de dados. De vez em quando, demos uma olhada rápida nesses painéis, mas, sem verificá-los regularmente, nem sempre era eficaz. Para resolver isso, estabelecemos etapas e alertas que forneciam notificações sobre regressões ou pipelines quebrados e solicitamos ações de mitigação de risco oportunas. Cada painel também foi atribuído a um proprietário; os proprietários foram responsabilizados por garantir que os painéis estivessem atualizados.” (HERBSTER, 2020)

As equipes começaram a entender a importância dos dados para que o objetivo fosse alcançado, afirma Herbster (2020). Por isso, a visualização desses painéis passou a ser parte da rotina das equipes para buscarem falhas, riscos e oportunidade de melhoria. Tanto a parte técnica quanto não técnica da empresa são orientadas a dados em suas tomadas de decisão.

Devido a essa mentalidade orientada a dados, os problemas são vistos pelo Spotify sob duas categorias:
1 – Aqueles em que há todos os dados necessários para agir
2 – Aqueles em que precisam de coleta de dados adicionais para decisões futuras.

Essa forma de olhar para os problemas vai se manter durante todo o processo ilustrado pela imagem abaixo:

Herbester (2020)

Tudo começa no planejamento, como é comum em modelos de processos de uma maneira geral. Nessa etapa são identificadas cenários de melhorias com base nos dados históricos. Sim, os dados falam do contexto corrente (ex. análise descritiva), mas também podem iluminar os próximos passos (ex. análise preditiva). É no planejamento também que se pensa no segundo grupo, que são os dados que ainda não foram coletados para resolver problemas pendentes de solução.

Após a fase de implantação da coleta, temos a fase de avaliação, onde são coletados os feedbacks dos dados para entender se as mudanças tiveram impacto no processo de desenvolvimento. É comum que seja um ciclo rápido, onde pode-se ver melhorias em um dia e, logo em seguida, rastrear algumas projeções.

Sendo assim, pode-se observar que da mesma forma que os dados processados podem fornecer informações críticas para os negócios e para uma pesquisa da área de saúde, também podem fazer a distinção entre uma equipe de DevOps produtiva ou não. O processo aplicado pelo Spotify não aparenta ser complexo ou inviável até mesmo para equipes pequenas. O maior requisito para aplicação de tal paradigma é a mudança na educação da equipe quanto ao uso dos dados. A mudança da cultura sim é o desafio de tudo isso.

Referência

BRAMER, Max. Principles of data mining. London: Springer, 2007.

HERBSTER, Raul. Leveraging Mobile Infrastructure with Data-Driven Decisions, 2020. Disponível em: <https://engineering.atspotify.com/2020/07/22/leveraging-mobile-infrastructure-with-data-driven-decisions&gt;. Acesso em: 27 ago. 2020.

Albert Bierstadt – Valley of the Yosemite

Deixe um comentário