paint-brush
Como ganhar US$ 1 milhão com a AWS em um anopor@gianpicolonna
65,502 leituras
65,502 leituras

Como ganhar US$ 1 milhão com a AWS em um ano

por Gianpi Colonna5m2024/04/28
Read on Terminal Reader

Muito longo; Para ler

Reduza os custos da nuvem AWS em 90%! Aprenda quatro etapas para otimizar gastos: desafiar suposições, ajustar recursos, usar instâncias Graviton e monitorar o uso.
featured image - Como ganhar US$ 1 milhão com a AWS em um ano
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Se você encontrou esta página pensando que vai ficar rico com algum esquema para enriquecimento rápido, lamento desapontá-lo. Este artigo falará sobre como diminuir suas contas de custos de nuvem em US$ 1 milhão. Ao fazer isso, você basicamente terá gerado um milhão de dólares extras em receita – que poderá gastar comprando meu curso online sobre como ficar rico com a AWS ( link para o curso aqui ).



O custo da nuvem é muitas vezes esquecido e não contabilizado no início dos projetos das empresas. A pesquisa HashiCorp de 2021 descobriu que quase 40% das empresas gastaram demais em custos de nuvem em 2021 [ 1 ]. Em 2023, quase todas as empresas (94%) admitiram que estavam desperdiçando dinheiro na nuvem [ 1 ] e pelo menos 30% dos custos da nuvem foram desperdiçados [ 2 ]. Os gastos com nuvem foram de quase US$ 500 bilhões em 2022 — portanto, estamos falando de US$ 150 bilhões desperdiçados por ano!!


Isto não é apenas uma preocupação de receitas perdidas, mas também de práticas de sustentabilidade deficientes. US$ 150 bilhões em energia desperdiçada!


Essas descobertas envolvem grandes e pequenas empresas, desde a alta maturidade da nuvem até a baixa maturidade da nuvem. Refere-se à AWS, mas os mesmos princípios podem ser aplicados a qualquer outro provedor de nuvem. Portanto, se alguma parte do seu trabalho está na nuvem, este artigo é para você.


Estou falando da perspectiva do engenheiro de dados, mas os mesmos aprendizados podem ser aplicados a outras práticas de engenharia de software.

Vamos mergulhar.


O que é necessário para gastar US$ 1 milhão em custos de nuvem em um ano?

Esse tipo de conta de nuvem geralmente é restrito a empresas muito grandes que operam globalmente com milhões de clientes.


Para se ter uma ideia, uma conta de nuvem de US$ 1 milhão pode resultar de um trabalho Spark ETL processando aproximadamente 1,5 TB por hora, 24 horas por dia, 7 dias por semana, 365 dias por ano. Outro exemplo pode ser um aplicativo que recebe bilhões de solicitações por dia de vários locais do mundo.


Numa grande empresa, existem centenas de aplicações deste tamanho – resultando em contratos de milhares de milhões de dólares com fornecedores de cloud. Por exemplo, o Airbnb se comprometeu a gastar US$ 1,2 bilhão em recursos de nuvem ao longo de cinco anos no final de 2019 [3 ].


Na Expedia, reduzimos os custos de um ETL de processamento de dados que custava US$ 1,1 milhão de dólares por ano, para apenas US$ 100.000 por ano, implementando práticas de otimização. Isso representa uma redução de custos de 91%!!


Nem todas as empresas têm aplicações de tamanho tão grande, mas imagine reduzir o custo da nuvem em 90% apenas para uma única aplicação ou para toda a empresa.



Como começamos a economizar?

PASSO 1: Desafie suas suposições de design

Vá e obtenha uma lista de seus aplicativos mais caros e desafie suas suposições de design .

  • Você está construindo um aplicativo que tem disponibilidade de 99,999% e latência inferior a milissegundos, mas, realisticamente, os usuários seriam bons o suficiente com disponibilidade de 99% e latência de centenas de milissegundos?
  • Você está criando conjuntos de dados com bilhões de linhas, mas os usuários usariam apenas agregações de algumas das medidas?
  • Você está obtendo dados em tempo real, mas os dados são analisados apenas uma vez por dia?
  • Você está atualizando o cache a cada 10 segundos, mas ele só muda ao longo dos dias?


Todas essas questões remetem à questão mais importante: como o aplicativo será utilizado? Qual é o valor comercial para que isso exista? Como o aplicativo está nos ajudando a atingir um determinado objetivo?


É claro que todas estas respostas muitas vezes não são claras no início de um projeto; mas é por isso que o design deve ser sempre um processo iterativo – permitindo que as mudanças aconteçam da maneira mais integrada possível. Os engenheiros devem abraçar a evolução e a mudança, alinhando o desenvolvimento de aplicações com o impacto.


ETAPA 2: Ajuste seus recursos de infraestrutura de acordo com suas necessidades

A segunda etapa consiste em fornecer à aplicação os recursos certos e ajustá-la à infraestrutura certa.


Como engenheiro, esteja ciente de como os custos da nuvem são calculados. Por exemplo, a AWS fornece instâncias spot, onde você pode fazer uma oferta pelo preço do cluster – isso é particularmente útil se você tiver aplicativos flexíveis e tolerantes a falhas. Use-os se puder - a AWS afirma redução de custos de até 90% [ 4 ].


Algumas outras considerações que você pode querer abordar são:

  • Você atende clientes globalmente ou apenas em uma área geográfica? Você realmente precisa que sua infraestrutura esteja presente em todo o mundo ou pode configurá-la mais perto de sua base de clientes?
  • Você está provisionando demais suas instâncias de cluster? Tente garantir que haja capacidade suficiente para lidar com picos de carga sem custos desnecessários. Utilize o escalonamento automático para ajustar recursos dinamicamente com base na demanda real, evitando pagamentos indevidos por recursos ociosos.
  • Se você estiver trabalhando com dados e Spark, certifique-se de entender os conceitos e ajustes do Spark! Caso contrário, dê uma olhada nos seguintes recursos [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

ETAPA 3: Use instâncias AWS Graviton

Há pouca ou nenhuma desvantagem na utilização de instâncias AWS Graviton. A AWS investiu pesadamente na criação dos processadores com melhor custo-benefício. Você pode obter uma redução de até 40% nos gastos com nuvem apenas mudando de um processador baseado em Intel para um processador baseado em ARM [ 10 ].


A única ressalva é que seu aplicativo precisa ser compatível com os processadores baseados em ARM nos quais o Graviton é executado. Se você estiver lidando com um serviço gerenciado como RDS ou OpenSearch, não haverá nenhuma complicação na troca - a AWS lida com o sistema operacional subjacente e a compatibilidade do aplicativo. Se você estiver construindo seu próprio aplicativo, talvez seja necessário recompilar o pacote dependendo da linguagem que você está usando — Java e outras linguagens não exigem alterações, enquanto Python requer alguma atenção.


PASSO 4: Monitore seus gastos e eduque sobre a conscientização sobre custos

Por último, não se esqueça de continuar monitorando seus custos em busca de picos e surpresas inesperados. O custo no dia 0 do seu aplicativo será diferente do custo no dia 170. Certifique-se de acompanhar as alterações e entender por que a mudança está acontecendo: ela está acumulando custos de armazenamento s3 ou é apenas uma ocorrência única? espinho?


Configure os alertas e guias operacionais necessários !


É importante ressaltar que implemente etiquetas de alocação de custos para rastrear gastos por departamento, projeto ou ambiente. Evite o risco de criar um pântano de dados onde o custo não seja rastreável ou exija uma longa jornada entre diferentes sistemas de log. Deve ser rápido e simples voltar a qualquer custo de aplicação.


Pensamentos finais

Onde quer que você esteja trabalhando, é difícil equilibrar a entrega de novos recursos com a otimização dos atuais. Quem não foi pressionado a entregar novos recursos peculiares na velocidade da luz.


No entanto, é essencial que tanto engenheiros como gestores tomem decisões deliberadas e proativas sobre os seus projetos atuais, gerindo riscos e oportunidades de forma eficaz.