Papo de CTO: 9 dicas sobre como economizar com AWS e Cloud

Bruno Yoshimura
ONEVC
Published in
5 min readMay 4, 2023

--

A ONEVC organizou junto com a AWS e Tenchi Security um painel sobre como economizar em AWS (e outros clouds) em tempos de escassez de capital para startups. Participaram Bruno Yoshimura, General Partner e ex-CTO, Alexandre Sieira, empreendedor serial e CTO de cloud cyber security, e Rafael Barbosa, Solutions Architect da AWS focado em startups .

Seguem as dicas que foram discutidas durante a live:

1) Conversar com os arquitetos de solução da AWS focado em Startups

A AWS oferece às startups os “Solutions Architects”, pessoas com background técnico que ajudam as startups a reduzirem a conta “tecnicamente”. São horas gratuitas de mentoria técnica de como tirar melhor proveito das ferramentas e serviços da AWS com alguém que vê diversas estruturas diferentes no dia-a-dia e sabe utilizar os painéis de custo para entender onde existem oportunidades. Rafael inclusive mencionou que os Solutions Architects conseguem ver métricas internas que medem o quão otimizado o cliente está.

2) Emagrecer dataset na entrada do pipeline

Antes de fundar a Tenchi, Alexandre Sieira fundou a Niddel, startup bem intensiva em processamento de dados. Para reduzir o custo de AWS, a startup tratava os dados e agregava/sumarizava logo no início do pipeline de processamento. Isso reduzia o custo no “funil” inteiro deste momento em diante.

3) Instâncias "Spot" para processamentos de dados com inteligência sobre onde lançar

Ao contratar uma instância na AWS, o cliente pode escolher on-demand (preço cheio, com garantia da "existência" dela), ou pode escolher fazer um leilão por capacidade ociosa de determinada máquina e região de disponibilidade ("spot", mais barato que o preço cheio). Porém, nesse ultimo caso existe um risco: como os preços oscilam ao longo dos dias dependendo de oferta e demanda, se durante o processamento de dados o preço fica acima do bid feito pela startup, o processamento pode ser encerrado, desperdiçando tempo e dinheiro.

Para conseguir processar uma quantidade grande de dados usando spot sem correr esse risco, Sieira criou uma inteligência para prever quais regiões tinham preços bons e com baixa variância. Com isso, eles conseguiram processar dados para clientes como Adidas e Netflix, por uma fração do que geralmente faziam (ordem de grandeza de 5x mais barato).

4) Tenha desapego com a infraestrutura e versões de software utilizado

Na AWS o hardware sempre fica mais barato ao longo do tempo, então é bom ter “desapego” à infraestrutura. De acordo com Rafael, “Tem novas implementações e serviços que você usa. Via de regra, nunca houve um aumento de preço de EC2. Toda vez que tem uma nova família, ou você aumenta a potência pelo mesmo preço ou reduz o preço para a mesma potência”. Ficar preso em servidores antigos impede a startup de aproveitar essas melhorias.

5) Serverless: zero ociosidade na infraestrutura e economia com pessoas

O auto-scaling representou o primeiro grande passo para ajudar a evitar que startups tenham infraestrutura subutilizada, com servidores sendo lançados e desligados conforme a demanda.

Hoje diversas startups do portfólio da ONEVC optam pela arquitetura serverless, que na Amazon utiliza o serviço de AWS Lambda. O serverless, indo um passo além do auto-scaling, nada mais é que uma função (ou código) como serviço. Ao invés de gerenciarem servidores e auto-scaling groups, as startups podem agora focar em desenvolver funções que são cobradas somente quando executadas. Isso leva a aplicação para ociosidade zero.

Além da economia de ociosidade, existe uma grande economia de pessoas, pois o serverless reduz a demanda de DevOps. A Tenchi, por exemplo, optou pela estrutura serverless e ainda não viu a necessidade de um time dedicado a SRE.

Por fim, Rafael comentou que “o custo é inversamente proporcional à qualidade do código”. Entender como o código “consome” hardware e como a estrutura de dados funciona, ajuda muito na economia dentro de serverless.

6) Dar visibilidade para o time sobre custos da AWS

Sieira acredita que “custo é algo que você mede e dá visibilidade para o time. Todos os desenvolvedores deveriam ter acesso ao custo da AWS e deveriam fazer parte das discussões”. De acordo com ele, isso é importante pois quem lança os serviços hoje são os próprios desenvolvedores e eles precisam estar alinhado com as consequências financeiras.

7) Use o tipo de máquina específica para as necessidades e monitore no CloudWatch

De acordo com Rafael, o desenvolvedor tem que entender que cada tipo de aplicação tem requerimentos diferentes de memória, disco, e computação. Com isso, o desenvolvedor precisa aprender a escolher a família de servidores específica para determinado tipo de aplicação. Em caso dúvida, Rafael sugere começar pelas famílias genéricas T e M e pedir ajuda a um Solutions Architect para entender se existe um setup mais otimizado (ou usar as ferramentas de controle de uso da própria AWS como o CloudWatch ou uma externa como o NewRelic).

Ferramentas gratuitas da AWS para monitoramento:

  • Primeiro passo: “Olhe o CloudWatch básico para entender o que a aplicação está consumindo mais, se é CPU ou memória RAM. Além disso, você deveria olhar o uso dos discos”.
  • Segundo Passo: Habilite o Compute Optimizer, que também é gratuito e ajuda o desenvolvedor a entender oportunidades de otimização na infraestrutura e potencial impacto na economia.

8) Entenda as necessidades de disco da sua aplicação

Primeiro, tome cuidado para não lançar um disco muito maior do que você realmente precisa, pois nem tudo precisa estar em disco (algumas coisas intensas podem estar em memória e outras menos acessadas no S3 ou banco).

Segundo, entenda a intensidade de IOPS (quantidade de escrita e leitura) que você precisa. Um erro de tamanho de disco e IOPS sobredimensionados se multiplicam.

9) Créditos para startups na AWS: Activate

A AWS tem um programa junto a fundos e aceleradoras chamado Activate, que oferece créditos gratuitos para startups até Séries B. Caso você ainda não o tenha utilizado, procure o seu fundo ou aceleradora.

--

--