O blog da AWS

Otimizando sua Infraestrutura AWS para Sustentabilidade, Parte 1: Computação

Por Katja Philipp, Aleena Yunus, Otis Antoniou, e Ceren Tahtasiz – Traduzido ao Português por Rodolfo D’Alessio Araújo

À medida que as organizações alinham seus negócios às práticas sustentáveis, é importante revisar cada área funcional. Ao construir, instalar ou realizar a manutenção de sua infraestrutura de TI, é essencial tomar decisões informadas para diminuir o impacto ambiental.

Esta série de artigos dividida em três partes fornece estratégias para otimizar sua arquitetura AWS em computação, armazenamento e redes.

Na Parte I, fornecemos critérios e métricas de sucesso para executivos de TI e orientação prática para arquitetos/desenvolvedores sobre como ajustar a camada de computação da sua infraestrutura AWS voltada para sustentabilidade. Para ajudar você a atingir essa meta, fornecemos métricas importantes, mostramos serviços e ferramentas comumente usados, fornecemos percepções sobre como analisá-los com o Amazon CloudWatch e ajudamos nas etapas para melhorá-los.

Nosso compromisso com práticas sustentáveis

Na AWS, estamos comprometidos em administrar nossos negócios da maneira mais ecológica possível. Também trabalhamos para permitir que nossos clientes usem os benefícios da nuvem para monitorar e otimizar melhor sua infraestrutura de TI. Conforme relatado em The Carbon Reduction Opportunity of Migration to Amazon Web Services, nossa infraestrutura é 3,6 vezes mais eficiente em termos de energia do que a média dos datacenters corporativos dos EUA, e a mudança para a AWS pode reduzir a pegada de carbono de sua carga de trabalho em 88% para a mesma tarefa.

Dito isso, a sustentabilidade é uma responsabilidade compartilhada entre a AWS e nossos clientes. Conforme mostrado na Figura 1, somos responsáveis por otimizar a sustentabilidade da nuvem, enquanto os clientes são responsáveis pela sustentabilidade na nuvem, o que significa que eles devem otimizar suas cargas de trabalho e a utilização de recursos.

Responsabilidades na nuvem

Figura 1. Modelo de responsabilidade compartilhada para a sustentabilidade

Para reduzir a quantidade de energia gasta por sua carga de trabalho, você deve usar seus recursos com eficiência. “A energia mais verde é aquela que não usamos”, disse Peter DeSantis, vice-presidente de Infraestrutura Global da AWS. Porém, quando necessário, devemos usar o menor número possível de recursos e também usá-los na sua totalidade, resultando em um menor impacto para o meio ambiente. Traduzindo isso para suas decisões arquiteturais, quanto mais eficiente for sua arquitetura, mais sustentável ela será.

Reconhecemos que cada arquitetura da AWS é diferente e que não existe uma solução única para todos. Portanto, lembre-se de que você deve avaliar primeiro se as recomendações propostas atendem aos seus requisitos específicos.

Otimizando a camada de computação da sua infraestrutura da AWS

Os serviços de computação formam a base das cargas de trabalho de muitos clientes, o que traz um grande potencial de otimização. Quando você analisa a proporcionalidade de energia do hardware (a relação entre energia consumida e utilização), um servidor ocioso ainda consome energia, conforme mostrado em The Case for Energy-Proportional Computing. Assim, você pode melhorar a eficiência de sua carga de trabalho usando o menor número de recursos computacionais e alcançando uma alta utilização. A implementação das recomendações nas seções a seguir ajudará você a usar os recursos com mais eficiência e a reduzir custos.

Reduzindo recursos ociosos e maximizando a utilização

Energy-Proportional Computing: A New Definition relata que os recursos computacionais devem ser maximizados, em média 70-80%. Isso porque a eficiência energética diminui rapidamente à medida que o desempenho cai. A tabela a seguir mostra os serviços de computação mais usados, as métricas mensuráveis e os guias de usuário associados.

Serviço Métrica Fonte
Amazon Elastic Compute Cloud (Amazon EC2) CPUUtilization Listar as métricas disponíveis do CloudWatch para as instâncias
Total Number of vCPUs Monitore métricas com o CloudWatch
Amazon Elastic Container Service (Amazon ECS) CPUUtilization Métricas e dimensões disponíveis
Amazon EMR IsIdle Monitore métricas com o CloudWatch

Você pode monitorar estas métricas com a arquitetura mostrada na figura 2. O CloudWatch fornece uma visão unificada das métricas dos seus recursos.

Exemplo Usage Queries

Figura 2. O CloudWatch monitora seus recursos computacionais

Com o AWS Cost & Usage Report, você pode entender o uso de seus recursos. O AWS Usage Queries, conforme mostrado na Figura 3, é um exemplo de solução que fornece um modelo do AWS Cloud Development Kit (AWS CDK) para criar, armazenar, consultar e visualizar seu AWS Cost & Usage Report.

Cost & usage report

Figura 3. AWS Cost & Usage Report para monitorar seus recursos computacionais

Recomendamos os seguintes serviços e ferramentas para reduzir os recursos ociosos e maximizar a utilização.

  • Integre o Amazon EC2 Auto Scaling. A configuração do Amazon EC2 Auto Scaling permite que sua carga de trabalho aumente e diminua automaticamente com base na demanda.
  • Dimensione corretamente os recursos com o Explorador de Custos da AWS e os Processadores AWS Graviton. Ao decidir sobre um tipo de instância, você deve considerar os requisitos da sua carga de trabalho.
    • Considere usar instâncias do tipo T, que oferecem desempenho expansível, se sua carga de trabalho tiver diversos picos imprevisíveis. Isso reduz a necessidade de provisionar capacidade em excesso.
    • Use o AWS Cost Explorer para ver as recomendações de dimensionamento correto para sua carga de trabalho. Ele destaca as oportunidades para reduzir custos e melhorar a eficiência dos recursos através de redução do tamanho das instâncias, sempre que possível.
    • Melhore a eficiência energética de sua carga de trabalho computacional migrando para instâncias baseadas em Graviton3. Graviton3 é nosso processador mais eficiente em termos de energia.
    • Graviton3 oferece desempenho computacional até 25% melhor comparado ao Graviton2. Além disso, Graviton3 usa até 60% menos energia para obter o mesmo desempenho do que instâncias EC2 comparáveis.
  • Adote uma arquitetura de computação sem servidor (serverless) e orientada a eventos. Considere adotar uma arquitetura serverless e orientada a eventos para maximizar a utilização geral dos recursos. Arquiteturas serverless eliminam a necessidade executar e manter servidores físicos, porque é abstraída pelos serviços da AWS. Como o custo das arquiteturas serverless geralmente se correlacionam com o nível de uso, a eficiência de custos da sua carga de trabalho melhorará.
    • Para cargas de trabalho assíncronas, use uma arquitetura orientada a eventos para que o recurso computacional seja usado somente quando necessário, e não fique em um estado ocioso enquanto espera.

Molde a demanda à oferta existente

Em contraste com a correspondência entre a oferta e a demanda, através de métodos como o escalonamento automático, você pode moldar a demanda para corresponder à oferta existente. Essa estratégia faz sentido especialmente para cargas de trabalho flexíveis, nas quais a hora exata para executar uma determinada operação não é relevante. Isso pode incluir uma tarefa agendada recorrente que é realizada durante a noite ou uma carga de trabalho que pode ser interrompida.

Recomendamos os seguintes serviços e ferramentas para moldar a demanda à oferta existente:

  • Use instâncias spot do Amazon EC2. As instâncias spot aproveitam a capacidade não utilizada do EC2 na AWS. Ao adaptar sua demanda à oferta existente de capacidade de instância do EC2, você melhorará sua eficiência de recursos geral e reduzirá a capacidade ociosa.
    • As instâncias spot economizam até 90% dos custos em em relação ao preço sob demanda.
    • Use instâncias spot para cargas de trabalho tolerantes a falhas, flexíveis e sem estado, que podem ser interrompidas.
  • • Aplique jitter às tarefas agendadas. Evite picos de carga aplicando jitter às tarefas agendadas e altere cargas de trabalho flexíveis em termos de tempo.
    • Avalie se suas tarefas agendadas podem ser distribuídas para serem executadas em horários alternativos durante a hora.
    • Evite usar 0 como o minuto inicial das tarefas agendadas. Esse é o valor padrão comum. Em vez disso, use um número entre 2 e 58 para definir o minuto de início das tarefas agendadas.

Conclusão

Neste blog, discutimos as principais métricas e as ações recomendadas que você pode fazer para otimizar sua infraestrutura da AWS visando obter eficiência dos recursos. Isso, por sua vez, melhorará a sustentabilidade de seus recursos computacionais.

À medida que sua empresa cresce, é natural que métricas como “Total vCPUs hours” aumentem. É por isso que é importante monitorar essas métricas por unidade de trabalho, como o número de vCPUs por 100 usuários ou transações. Dessa forma, os KPIs que você mede são independentes do crescimento do seu negócio.

Na próxima parte desta série de artigos, mostraremos como otimizar a parte de armazenamento da sua infraestrutura de TI para alcançar a sustentabilidade na nuvem!

Este blog é uma tradução do conteúdo original em inglês (link aqui).

Sobre os autores

Katja Philipp Katja Philipp é Associate Solutions Architect em Munich, Alemanha.
Aleena Yunus Aleena Yunus é Associate Startup Solutions Architect em DACH.
Otis Antoniou Otis Antoniou é Associate Solutions Architect em Londres.
Ceren Tahtasiz Ceren Tahtasiz é Startup Solutions Architect em Londres.