Os gastos globais em serviços de nuvem pública deverão aumentar consideráveis 20,4% em 2024, de acordo com o Gartner, com grande parte dos custos diretamente relacionados ao aumento da utilização. Isso não será uma surpresa para quem gerencia um orçamento de TI e descobre que está atribuindo mais dinheiro para manter os serviços em nuvem online.
Eles não estão sem soluções. Todos os grandes players estão introduzindo calculadoras de preços na nuvem , enquanto o FinOps está ganhando atenção entre aqueles que controlam os custos descontrolados. Mas aqui está o problema: embora as calculadoras de nuvem e FinOps possam ser úteis para lidar com a infraestrutura, elas não vão longe o suficiente para lidar com as aplicações . Como tal, as equipas de TI que utilizam estas ferramentas ainda não conseguem concentrar-se no principal contribuinte dos custos da nuvem – código ineficiente.
Uma maneira simples de ver isso é que a nuvem é uma extensão do seu código e, como o código ineficiente na nuvem faz com que você desembolse grandes quantias de dinheiro imediatamente, virar a maré deve ser uma prioridade.
A nuvem muda o ciclo de planejamento
Com configurações de infraestrutura local, gerenciar a utilização normalmente significaria observar o código que reside diretamente no servidor . Quanto mais dados e recursos você adicionar, mais rápido chegará ao valor de uso de 70-80% – o ponto em que muitos gerentes de TI começam a pensar em adicionar mais capacidade de servidor.
No entanto, comprar, provisionar e conectar um servidor em um data center local pode levar até seis meses. Não é um trabalho noturno. Enquanto isso, as equipes podem tentar fazer ajustes nos servidores existentes para reduzir o uso, aumentar o desempenho e dar espaço para respirar até que o novo hardware esteja online.
Ao implantar código na nuvem, é muito diferente. Isso ocorre porque a capacidade da nuvem de escalar automaticamente significa que você nunca atingirá o nível de capacidade de 70 ou 80%. E como o nível meticuloso de planejamento de expansão não é necessário da mesma forma que em uma situação local, o ímpeto para ajustar e aprimorar seu código para ganhar mais espaço não é tão grande.
Onde você poderia ter trabalhado duro para recuperar 20-30% da capacidade local, esse procedimento nunca acontece na nuvem. Como tal, sua conta de serviços em nuvem fica cada vez mais alta.
O caso dos SLOs de custo
Tudo isto exige que repensemos a forma como abordamos a nuvem, o código e os custos. O equívoco comum é que a nuvem é infraestrutura quando na verdade é código. E poucos desenvolvedores pensam em quanto custa seu código na produção. Normalmente, eles priorizarão os parâmetros existentes nos objetivos de nível de serviço (SLOs), como consumo de CPU e memória, latência e tempos de resposta. Normalmente, o custo não é considerado um SLO. Eu diria que isso tem que mudar.
Se o custo for definido como um produto desde o início, ele dará o tom para otimizações que tornarão os custos da nuvem mais acessíveis – ao mesmo tempo que libera outros benefícios ao mesmo tempo. Cada execução acrescenta um custo, mas e se esses custos pudessem ser minimizados? Por exemplo, digamos que uma transação online geralmente leva dois segundos para ser concluída. Se você pudesse introduzir uma linha de código que pudesse reduzir esses dois segundos para 500 milissegundos, você poderia economizar 75% e, ao mesmo tempo, melhorar a satisfação do cliente .
É um fenômeno chamado codificação consciente dos custos e não poderia ganhar destaque em melhor hora. À medida que os custos da nuvem aumentam, a IA está se tornando mais capaz, ajudando os desenvolvedores a criar código mais rapidamente do que antes. De acordo com a McKinsey, a IA pode reduzir pela metade o tempo necessário para escrever um novo código. Portanto, será possível tornar-se mais eficiente e econômico com o código renderizado na nuvem, enquanto as horas de trabalho para criar o código serão bastante reduzidas.
Faça com que a codificação consciente dos custos faça sentido
Se você deseja gerenciar seus custos como um SLO, um bom ponto de partida é defini-los, medi-los, calibrá-los e recalibrá-los. Quais você deseja que sejam os parâmetros e como você acompanhará o progresso? A codificação consciente dos custos é um processo iterativo, portanto você descobrirá continuamente novas maneiras de melhorar o desempenho.
Dito isto, também é importante notar que os seus retornos acabarão por se estabilizar. Chegará um ponto em que a lei dos rendimentos decrescentes entrará em vigor e os resultados também variarão de empresa para empresa. A codificação consciente dos custos, portanto, deve estar ciente do esforço que está sendo feito e dos resultados esperados. Os resultados devem sempre justificar o esforço inicial ou será um exercício desperdiçado, por mais que a IA tenha ajudado a escrever o código.
Se você notou que seus custos de nuvem aumentaram recentemente, definitivamente vale a pena explorar a codificação consciente dos custos. Isso se enquadra bem na filosofia mais ampla de definir o custo como um SLO e, quando existe essa expectativa, é muito mais provável que os desenvolvedores comecem a abordá-la. Mesmo que seus custos não estejam subindo agora, se você planeja crescer, é provável que isso aconteça em algum momento. A codificação consciente dos custos é uma atividade que prepara para o futuro e pode potencialmente utilizar tecnologias emergentes para que isso aconteça.