Conforme os custos da nuvem continuam a subir, mais desenvolvedores terão que aprender a abraçar a otimização dos custos da nuvem
Scott Carey, Infoworld
Anteriormente sob a alçada de centros de excelência dedicados, ou mesmo exclusivamente das equipes de compras e finanças, o gerenciamento de custos da nuvem está rapidamente se tornando uma habilidade necessária para qualquer pessoa que consome recursos da nuvem no dia-a-dia – e isso inclui desenvolvedores de software.
A abordagem emergente para organizações que priorizam a nuvem é ter uma equipe central que pode gerenciar problemas de consumo amplos, como usar a infraestrutura mais barata possível para o trabalho e negociar descontos por uso comprometido com fornecedores, enquanto a responsabilidade pelo custo de serviços individuais é eliminada para equipes de engenharia que são incentivadas a operar da forma mais econômica possível, sem sacrificar o valor do negócio.
“Você precisa desse conhecimento central, mas também de engenheiros para entender o que eles estão gastando na nuvem. … Você quer que eles se sintam capacitados para fazer algo sobre seus gastos e como eles se comparam ao valor que estão gerando”, disse Eugene Khvostov, Vice-Presidente de Produto e Engenharia da especialista em otimização de custos Apptio. “Cada organização é diferente e tem diferentes níveis de maturidade e estilos, mas alguns dos casos mais bem-sucedidos que vimos levam essas informações ao limite e envolvem os engenheiros nesse desafio, em vez de emitir um mandato do alto”.
Essa pode ser uma mudança difícil de fazer, no entanto, especialmente para organizações acostumadas a longos ciclos de aquisição e aquelas que procuram isolar seus desenvolvedores de software de se preocupar com o custo total de seus próprios serviços em um impulso para um maior impulso digital. Mas agora, com o aumento dos custos da nuvem na esteira da pandemia de Covid-19, a maré pode estar mudando.
Otimizando custos, não apenas código: apresentando finops
Em seu livro Cloud FinOps, de 2020, da editora e companhia de mídia O’Reilly, J.R. Storment e Mike Fuller explicam que no velho mundo da aquisição de hardware corporativo, engenheiros e equipes de operações teriam que pensar sobre o custo da infraestrutura com bastante antecedência. “Agora, na nuvem, eles podem jogar dólares da empresa no problema sempre que houver necessidade de capacidade extra”, escreveram.
Embora isso tenha permitido ciclos de desenvolvimento mais rápidos e eficazes, também introduziu um novo conjunto de considerações em torno do custo e do impacto comercial dessas opções de infraestrutura. “A princípio, isso parece estranho e em desacordo com o foco principal dos recursos de envio. Então, eles percebem rapidamente que o custo é apenas mais uma métrica de eficiência que podem ajustar para impactar positivamente os negócios”, escreveram.
Janisa Anandamohan, Gerente de Produto Sênior de Engenharia de Custos da gigante de streaming Spotify, escreveu em uma postagem recente no blog: “Sabemos que os engenheiros são otimizadores naturais quando se trata de confiabilidade, segurança, desempenho, etc. E agora estamos dizendo a eles: ‘Ei, adicione custos à mistura’”.
Embora essa peça de otimização seja uma parte do quebra-cabeça, a mudança mais significativa é como reunir grupos anteriormente desconectados em engenharia, finanças e muito mais. Essa abordagem de toda a organização para gerenciar proativamente os custos da nuvem é comumente conhecida como finops. Conforme definido por Storment e Fuller, “finops traz responsabilidade financeira para o modelo de gasto variável da nuvem. Mas essa descrição apenas indica o resultado. A mudança cultural de operar na nuvem transfere a propriedade da tecnologia e da tomada de decisões financeiras para os limites da organização”.
Uma mudança cultural dessa magnitude naturalmente equivale a desafios de escala empresarial. Encontrar uma maneira de fazer os engenheiros agirem foi o desafio financeiro mais comumente citado pelos entrevistados no relatório “2021 State of Finops” da Fundação FinOps, liderada pela Linux Foundation, com 39% admitindo ter dificuldades para obter ampla adesão de seus engenheiros. “Um conhecido desafio financeiro é não apenas iniciar a prática, mas também encorajar e incentivar os usuários da nuvem (como desenvolvedores e engenheiros) a participar do gerenciamento de custos da nuvem”, disse o relatório.
Veja como cinco empresas realinharam suas equipes e incentivaram os engenheiros a cuidar melhor de seus custos de nuvem.
Airbnb controla os custos crescentes de hospedagem na nuvem
Há alguns anos, o popular site de reservas de acomodações de viagens, Airbnb, percebeu que tinha um grande problema: suas contas mensais de nuvem da Amazon Web Services (AWS) estavam crescendo mais rápido do que a receita da empresa.
“Tivemos um problema, mas faltou um entendimento profundo de como as equipes usam os recursos da AWS e como as mudanças planejadas de arquitetura e infraestrutura afetariam nossos custos futuros da AWS”, escreveram Jen Rice e Anna Matlin, engenheiras do Airbnb, em um blog da empresa.
No entanto, dada a filosofia de engenharia do Airbnb “você constrói, você administra”, Rice e Matlin rapidamente perceberam que “adicionar atrito significativo para nossos engenheiros teria grande resistência”. Então, os engenheiros do Airbnb se propuseram a construir os dados de atribuição de custos necessários para começar a mostrar à sua comunidade de desenvolvedores orientados por dados o quão grande era o problema que eles estavam enfrentando para ganhar alguma adesão aos finops.
No Airbnb, a abordagem para atribuição de consumo “era dar às equipes as informações necessárias para fazer as compensações adequadas entre os custos e outros motivadores de negócios para manter seus gastos dentro de um determinado limite de crescimento. Com a visibilidade dos geradores de custos, incentivamos os engenheiros a identificar mudanças no projeto arquitetônico para reduzir custos e também identificar potenciais ventos contrários de custos”, escreveram Rice e Matlin.
Essa mudança trouxe consigo uma equipe centralizada de eficiência de custos, armada com “uma visão panorâmica de todo o ecossistema do Airbnb”, escreveram elas, e com a tarefa de encontrar oportunidades significativas de economia de custos. Por exemplo, o Airbnb agora se apoia fortemente nas opções do Plano de Economia da AWS, completo com “um conjunto de respostas preparadas que movem certas cargas de trabalho para dentro e fora do Plano de Economia para manter a utilização saudável”, escreveram. Essa equipe agora é apoiada por um conjunto de campeões de custo da AWS, que se sentam em todas as organizações de desenvolvimento de produto para oferecer suporte em nível local.
O resultado de todo esse esforço foi uma grande mudança em toda a organização. Como Rice e Matlin escreveram:
“Além dos vários esforços técnicos e organizacionais para gerenciar os custos da AWS, vimos uma profunda mudança cultural em relação à conscientização e gerenciamento de custos. Essa mudança foi de cima para baixo e de base. Os líderes mencionaram a meta de custo para toda a empresa durante as reuniões gerais. A equipe de finanças criou um prêmio de disciplina financeira para toda a empresa, apresentado pelo CFO, que reconheceu os funcionários que conduziram importantes iniciativas de redução de custos. No estilo do Airbnb fragmentado, a organização de infraestrutura realizou um hackathon de redução de custos que gerou uma série de projetos de eficiência impactantes. Os engenheiros aprendem as melhores práticas uns com os outros e discutem novas oportunidades de economia em um canal do Slack. Após o lançamento, o AWS Attribution Dashboard se tornou o painel mais visualizado no Airbnb e, desde então, permaneceu no topo da lista. Vendo essa mudança cultural, estamos otimistas de que as recentes reduções de custos que o Airbnb alcançou não são pontuais, mas sim um novo músculo que só fortaleceremos com o tempo”.
Como resultado, o Airbnb teve uma redução de US$ 63,5 milhões ano a ano nos custos de hospedagem, o que contribuiu para um declínio de 26% no custo da receita do Airbnb nos nove meses que terminaram em setembro de 2020.
Sainsbury’s realinha a engenharia em torno da contabilidade de custos
Como muitas empresas hoje, o investimento em nuvem na varejista britânica Sainsbury’s tem se concentrado na construção de novos recursos e capacidades digitais para os clientes, o que levou a uma rápida escalada no consumo de serviço em nuvem. “Em algum ponto da linha, a equipe de operações estava tentando conter os gastos”, disse Phil Jordan, CIO do grupo.
Agora, após uma mudança intensiva de quatro meses e um programa de treinamento durante a pandemia de Covid-19, desenvolvedores, operações e pessoal de produto fazem parte do que o varejista chama de “famílias de engenharia”, que têm responsabilidade total do ciclo de vida para os negócios. Este novo modelo operacional empurra a responsabilidade de ponta a ponta por um produto ou serviço para as equipes de engenharia, incluindo gerenciamento de custos, gerenciamento de vulnerabilidade, gerenciamento de risco e gerenciamento de parceiros, tudo sem ser esquecido pela equipe de Operações de Serviço agora extinta.
Essas equipes agora são incentivadas diretamente de acordo com um novo conjunto de métricas de pesquisa e avaliação de devops – frequência de implantação, tempo médio para mudanças, tempo médio para recuperação e taxa de falha de mudança – mais desempenho do serviço, custo total de propriedade, e cadência de desenvolvimento. Ferramentas de gerenciamento de custos do fornecedor Apptio foram trazidas para dar à engenharia uma visão mais transparente de sua base de custos específica, uma ferramenta que Jordan disse que a empresa está colocando “muita fé em dar a essas novas equipes total transparência de custos”.
A Sainsbury’s pilotou esse novo modo de trabalhar com a equipe de engenharia de dados ao longo de 2020 e “foi inequívoco que demonstramos que isso gerou eficiência, velocidade de entrega e melhorou o sentimento dos colegas”, disse Jordan.
Naturalmente, nem todos concordaram com a mudança. “Alguns chefes de engenharia não fizeram a jornada conosco; eles [apenas] queriam desenvolver”, admitiu Jordan. No entanto, reunir dev, ops e produto “nos ajudou a reunir experiência para fazer a engenharia pensar de forma mais holística”, disse ele.
Empurrar a responsabilidade para as equipes de engenharia foi uma mudança significativa para a Sainsbury, mas Jordan disse que isso poderia representar até 20% na economia de custos de TI a longo prazo.
Spotify utiliza insights de custos para alinhar os custos de infraestrutura ao crescimento do cliente
Semelhante ao Airbnb, a empresa de streaming de música Spotify tem trabalhado muito nos últimos anos para construir a otimização de custos no processo de engenharia em toda a empresa depois que seus custos de infraestrutura começaram a superar a aquisição de usuários.
Como uma empresa liderada pela engenharia, a Spotify decidiu criar sua própria ferramenta de gerenciamento de custos, chamada Cost Insights, que está integrada em sua plataforma de desenvolvedor interna chamada Backstage e, desde então, tem código-fonte aberto. Como o Spotify é executado principalmente no Google Cloud, o Cost Insights é atualmente voltado para os recursos do Google Cloud.
Como James Governor, Analista da RedMonk, detalhou em um post de blog, a ideia por trás da ferramenta é “que engenheiros e equipes de engenharia sejam incentivados a assumir mais responsabilidade pelos custos associados aos produtos que estão construindo. A modelagem de custos torna-se parte do processo de engenharia, em vez de ser um processo separado para as equipes financeiras gerenciarem”.
Uma cultura de compartilhamento de economia de custos foi incentivada por meio do próprio portal Cost Insights e por meio de um wiki interno chamado Our Cookbook. Isso incentivou a competição entre as equipes para reduzir seus custos e compartilhar as vitórias importantes com o restante da organização.
A otimização de custos não é completamente descentralizada no Spotify, no entanto. Uma organização de gerenciamento de custos tem a tarefa de intervir se ver uma equipe ou serviço aumentando rapidamente os custos, envolvendo-se com esse grupo para descobrir por que e o que pode ser feito para trazer as coisas de volta ao controle.
“O Spotify descobriu que a melhor maneira de obter envolvimento era encorajar os engenheiros a usar o Cost Insights em uma cadência junto com o planejamento trimestral existente. Se houvesse problemas que a equipe de custo sentisse que precisava de atenção, eles alertariam a equipe antes dessas reuniões. Dito isso, se os custos estão rapidamente escalando fora de controle para um serviço específico, isso é algo que deve gerar um alerta, então a detecção de anomalias está no roteiro do produto Cost Insights”, escreveu Governor sobre os esforços do Spotify.
No Spotify, esses custos são comparados aos recursos de engenharia, portanto, se uma equipe deseja otimizar um serviço, ela deve contabilizar o valor desse trabalho em termos de funcionários em tempo integral que poderiam ser contratados usando as economias. “As primeiras experiências com o Cost Insights permitiram que o Spotify financiasse o equivalente a 25 equipes em toda a empresa”, escreveu Governor.
Bancos como parte da transformação da nuvem
A empresa de serviços financeiros Nationwide prevenidamente decidiu implementar considerações de custo em conjunto com seu programa de transformação de nuvem mais amplo, que atualmente está em seu terceiro de quatro anos – o que significa que os princípios financeiros foram incorporados desde o primeiro dia.
No entanto, esse início precoce não significa que não houve resistência da engenharia. “O principal motivador de valor da nuvem é a velocidade de desenvolvimento, então você vai de um modelo de aquisição centralizado tradicional para um mundo onde todos os desenvolvedores de aplicativos também estão em aquisições, então você se transforma no Velho Oeste sem ninguém, ou uma equipe, olhando para as implicações financeiras disso”, disse Joseph Daly, Diretor de Serviços de Otimização de Nuvem da Nationwide. “Onde quer que eu vá, há uma resistência inicial a isso, visto que é visto como uma burocracia adicional que os atrasa”.
Formado em contabilidade pela Universidade de Miami, não é tão surpreendente que Daly tenha resumido a abordagem da empresa para a otimização de custos da nuvem em uma fórmula. “Sua conta da nuvem é igual ao uso multiplicado pela taxa”, disse ele. “Centralizamos o gerenciamento de taxas para coisas como planos de economia e instâncias reservadas de alto nível para a empresa. Então, para o uso, nós descentralizamos para que as equipes de aplicativos sejam responsáveis por si mesmas. Estar informado requer uma estratégia e estrutura de marcação, então, quando os desenvolvedores fornecem, marcam algo de uma forma significativa”.
Superar essa barreira se resume à educação de Daly e sua equipe. “Qualquer pessoa sem princípios financeiros não será capaz de gerenciar seu ambiente. Mas uma boa estratégia de etiquetagem e fiscalização como a que temos aqui na Nationwide fará com que os engenheiros participem da otimização, pois eles podem ver o impacto financeiro direto”.
Indo um passo adiante, a Nationwide também tem um modelo de chargeback, em que cada equipe de aplicativo é responsável por seu uso exato por meio de uma fatura mensal. “Isso cria responsabilidade”, disse Daly. “Se eles podem ver as cobranças, eles podem ver se eles são superdimensionados ou desligar as coisas durante a noite ou usar serviços gerenciados em nuvem onde podemos”.
Daly alerta contra gamificar muito esses incentivos, no entanto. “Na minha experiência, se você transformar isso em um jogo, será jogado como um jogo”, disse ele.
Insights de custos para desenvolvedores ávidos por dados
A empresa europeia de entrega de alimentos Just Eat Take Away, resultado de uma fusão entre empresas britânicas e holandesas em 2020, funciona predominantemente em AWS, com aplicativos divididos em microsserviços. Para as equipes baseadas no Reino Unido, Irlanda, Itália, Espanha, Austrália e Canadá, uma equipe financeira central tem a tarefa de dar aos engenheiros melhor visibilidade dos custos da nuvem, com o objetivo de eventualmente reduzi-los.
“Nossa equipe [financeira] é focada em engenharia e criamos ferramentas para ajudar a melhorar a visibilidade dos custos da nuvem ou para reduzi-los”, disse David Andrews, Chefe de Engenharia de Plataformas da Just Eat.
Isso se manifesta em uma abordagem hub-and-spoke, com uma equipe central encarregada de tomar decisões de compra eficientes para toda a organização e com engenheiros armados com ferramentas como o Microsoft Azure Cost Explorer, o código aberto Cloud Custodian e Cloudability, de propriedade da Apptio, para rastrear seus gastos com nuvem.
Ganhar adesão foi um desafio nos primeiros dias, quando o processo de rastreamento de gastos na nuvem era em grande parte manual. Andrews disse que automatizar essas tarefas pode ajudar a remover o atrito para os engenheiros, incluindo a definição de alertas para equipes que começam a estourar o orçamento.
“Um dos nossos desafios anteriores era que costumávamos conduzir uma parte de nossa atividade manualmente, como relatórios e revisão de custos. Conforme continuamos a crescer e escalar, isso se tornou menos sustentável”, disse Andrews. Simplificar a geração de relatórios e investir em workshops de treinamento ajudou a ganhar a adesão do desenvolvedor, assim como falar abertamente sobre o tópico dos custos da nuvem em reuniões técnicas gerais.
Como muitas empresas focadas no crescimento, a Just Eat Take Away não quer reduzir os custos da nuvem em detrimento do crescimento. “Enquanto rastreamos nossos custos de nuvem com eficácia e regularidade, fazemos isso ao lado de monitorar o crescimento de nossos negócios para que não vejamos os custos de nuvem em um vácuo”, disse Andrews.
Espalhando o evangelho dos finops
Agora, à medida que a computação em nuvem se torna mais popular entre as empresas que não nasceram na nuvem, a necessidade de um conjunto comum de princípios e ferramentas financeiras facilmente implementados se tornará parte integrante dos resultados financeiros de muitas empresas.
Isso pode começar com uma única pessoa ou uma pequena equipe com a tarefa de estabelecer uma hierarquia corporativa de contas, rótulos e tags. Uma vez que todos estejam trabalhando com os mesmos dados, o árduo trabalho de educação e mudança cultural pode começar.
É importante não ficar desanimado desde o início, pois não existe um caminho de ouro para um melhor gerenciamento de custos de nuvem. Portanto, é importante começar cedo, aprender e iterar à medida que avança para obter esses ganhos marginais importantes. Um forte suporte de cima para baixo será crítico.
O fato é que, como a nuvem representa uma parte cada vez maior das contas de tecnologia de uma organização, é apenas uma questão de tempo antes que essas práticas financeiras se tornem predominantes, e cada engenheiro precisará saber como lidar com uma conta de nuvem.