Por: Caetano Notari

A computação na nuvem já deixou de ser uma aposta futura e passou a ser parte da realidade das empresas no Brasil. A Consultoria Frost & Sullivan estimou em R$ 2,7 bilhões o mercado de IaaS no país em 2017, que responde por mais da metade do que se investe em toda a região da América Latina. A expectativa é de um crescimento acima de 30% ao ano, até 2022.

A adoção de cloud computing traz impactos diretos nas organizações: maior flexibilidade e agilidade na disponibilização de infraestrutura, redução de custos com gestão de hardware, segurança, entre outros. Esta primeira onda é de fácil quantificação e mensuração, mas após alguns meses vem a pergunta: e agora, o que fazemos para continuar reduzindo custos?

Desperdício na nuvem

Segundo o estudo “2017 State of the Cloud Report” (https://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2017-state-cloud-survey) da Rightscale, os executivos de TI estimam que cerca de 30% dos investimentos em nuvem são desperdiçados. A Rightscale mediu um valor ainda maior, entre 30% e 45%, o que explica porque 64% dos entrevistados em empresas mais maduras na nuvem estão focados na otimização de custos.

Os maiores ofensores de custos na nuvem

Como as razões são muitas, destacamos algumas mais comuns em empresas já na nuvem:

  • Dimensionamento de infraestrutura de cloud usando métricas e premissas de servidores on-premise: muitos profissionais mais experientes de TI já desenvolveram suas metodologias de dimensionamento de hardware, olhando previsões de longo prazo. O que fazia sentido quando a aquisição de equipamentos era complexa, cara e demorada, não faz mais quando podemos mudar, em instantes, o tamanho de servidores online;
  • Desagregação de TI: como não há compra de servidores, é comum ver áreas de empresas contratando servidores e pagando com cartões de crédito, sem coordenação centralizada;
  • Utilização ineficiente de instâncias, com muito tempo com baixa carga ou uso de bancos de dados;
  • Utilização extensiva de instâncias sob demanda, com preço cheio de lista, que chegam a ser 75% mais altos que os preços de instâncias reservadas.

Para mitigar as dificuldades descritas acima, recomendamos seguir os passos abaixo:

Mapeamento de uso de nuvem

Fazer a primeira recomendação é criar um inventário de todas as contas e todos os serviços que estão sendo utilizados na nuvem. Em empresas com múltiplos departamentos, não é tão simples, mas é fundamental. Experimentações com Big Data, segmentação de clientes, análises de Business Intelligence já podem ser executadas por cientistas de dados, que não estão dentro das áreas de TI, mas são capazes de montar todo o ambiente para suas simulações.

Esta atividade deve ser coordenada pela área de TI, incluindo informações sobre utilização de serviços, tipos de instâncias e bancos de dados contratados e serviços adicionais coletados. Também recomendamos fazer uma publicação de diretivas para contratação de serviços cloud, para toda a empresa.

Coleta de dados ampla

Com base no inventário definido, é hora de coletar informações sobre cada um dos itens identificados.

Na AWS é possível coletar dados, via CloudWatch, de todos os serviços contratados, sejam eles EC2, volumes EBS ou EFS, Bancos de dados RDS, Bancos de dados NoSQL como Amazon Dynamo, entre outros. Quem quiser se aprofundar para saber mais sobre conceitos, limites e recursos, recomendamos o site da AWS, no link: https://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html

Como temos apenas 14 dias de dados, as análises não contemplam volumes sazonais, mas são um ponto de partida. Para análises mais amplas, recomendamos o uso de ferramentas adicionais como New Relic, Nagios, Pagerduty, que extraem muito mais dados.

Quick-wins

Nesta análise, é fácil identificar instâncias que são pouco utilizadas, tanto no uso de CPU, quanto de memória. Também podemos identificar utilização de I/O de disco e rede, vendo se as configurações foram feitas da forma corretas.

Como as instâncias podem ser provisionadas instantaneamente, ou terem suas configurações alteradas rapidamente, não faz sentido ter capacidade ociosa. Recomendamos desligá-las, ou reduzir seu tamanho, e já começar a economizar.

O uso de S3 ou EFS também pode ser otimizado, já que é comum encontrarmos backups desnecessários, ou arquivos obsoletos, que podem ser removidos sem problemas.

Redução Estruturada

Uma das vantagens da nuvem é poder criar infraestruturas dedicadas para cada aplicação, agilizando sua operação e permitindo um controle apurado da capacidade de processamento para cada uma.

Nossa recomendação é combinar o uso de infraestrutura flexível, com instâncias mais baratas.

Escalamento de instâncias

Usar os recursos apenas quando necessário é possível com o uso de autoscaling e load balancers. Criar aplicações que não armazenem dados em sessões é fundamental para permitir este escalamento. Com isto, é possível provisionar, em tempo real, apenas a capacidade necessária de processamento. O Sky.Saver (colocar link para a página do site), gerencia o autoscaling com flexibilidade, permitindo o ajuste em tempo real da quantidade de instâncias abertas.

Instâncias mais baratas

A AWS oferece dois tipos de contratação de serviços com grandes descontos: instâncias reservadas e SPOT.

As instâncias reservadas (https://aws.amazon.com/pt/ec2/pricing/reserved-instances/) exigem um longo período de contratação, que inicia em um ano, mas pode chegar a três,  com descontos significativos que vão até 75%. Para aplicações que tem uma previsibilidade de demanda por muito tempo, esta opção deve ser considerada.

Além destas, temos as instâncias SPOT, que custam até 10% do preço das instâncias sob demanda, são perfeitas para aplicações como Tensorflow, para Inteligência Artificial e Machine Learning, Hadoop para Big Data, que exigem instâncias com grande poder de processamento.

A única diferença entre as instâncias sob demanda e as instâncias spot é que as instâncias spot poderão ser interrompidas pelo EC2 com notificação prévia de dois minutos quando o EC2 precisar da capacidade. Como isto acontece com regularidade, não é possível utilizá-las de forma imediata para aplicativos em produção.

O Sky.Saver é um serviço desenvolvido pela Sky.One que permite o uso de instâncias SPOT em um grupo de autoscaling de forma transparente. Desta forma, você tem os benefícios da redução de custos com a disponibilidade de EC2.

Saiba mais falando com um especialista!

Se você tem dúvidas sobre este assunto, ou precisa de auxílio para reduzir seus custos, fale com nossos especialistas em AWS.

Escrito por

Equipe Sky.One

Este conteúdo foi produzido pela equipe da SkyOne, composta por especialistas em nuvem e transformação digital.