Well-Architected Framework – Cost Optimization – Parte 2

Olá, pessoal! Tudo bem?

Hoje vamos voltar a série sobre o Well-Architected Framework, encerrando a segunda parte do Cost Optimization Pillar (primeira parte aqui), falando sobre a importância de estarmos cientes sobre os gastos relacionados ao workload, e estratégias de otimização futuras.

Conscientização sobre as despesas

Entender os custos agregados aos workloads da empresa, são de suma importância para identificarmos pontos em que podemos reduzir custos e onde podemos evoluir dentro de um orçamento definido. Abaixo, citaremos alguns aspectos estabelecidos no guideline, que devemos considerar dentro deste processo.

Stakeholders

É importante que todas as partes envolvidas estejam cientes de como as suas ações e escolhas podem afetar nos custos de infraestrutura na nuvem. Dentre elas, podemos citar:

  • Financeiro: O departamento financeiro deve estar ciente do modelo de consumo de ambientes de nuvem, pois ele é consideravelmente diferente de modelos on-premises;
  • Business Owners: Os donos do negócio também devem entender este modelo para definir a evolução da empresa, com maior precisão ao planejar seu crescimento;
  • Lideres técnicos: Lideres técnicos irão receber demandas de outros stakeholders, aplicando ajustes e melhorias no sistema, para atingir as metas de custo projetadas;
  • Terceiros: Serviços e produtos de terceiros devem estar alinhados com as metas de negócio da empresa, fornecendo recursos para demonstrar tal alinhamento.

Governança e Visibilidade

A flexibilidade de ambientes de nuvem permite o provisionamento de recursos de forma muito prática e rápida. Está praticidade possibilita uma infinidade de cenários (ajustes, testes, novas funcionalidades) que podem incorrer diretamente sobre o custo de infraestrutura. Para administrarmos corretamente estes gastos, devemos ter métodos e ferramentas que nos auxiliem na sua visualização, análise e controle.

Na AWS, o Serviço de Gerenciamento de Custos e Faturamento permite configurar notificações, gerar relatórios e efetuar previsões, possibilitando o monitoramento e controle dos gastos atuais e futuros.

Em relação a governança, podemos utilizar o IAM e as SCPs (Service Control Policies do AWS Organizations) para limitarmos o provisionamento de recursos que estejam fora do orçamento definido.

Atribuição de custos

Para termos um melhor entendimento sobre o cenário de gastos da empresa, devemos atribuir corretamente os custos às suas fontes geradoras, como o departamento responsável por determinado recurso, o produto que utiliza determinado recurso, ou o ambiente (DEV, STG, PRD) onde está provisionado o recurso.

Na AWS, podemos definir TAGs para identificar cada uma destas fontes, ou ainda, podemos utilizar diversas contas para efetuar a segmentação e recorrer ao AWS Organizations para vincular estas contas hierarquicamente, consolidando o faturamento na conta principal.

Utilizando Tags

É muito importante utilizar um modelo consistente de TAGs na AWS, para facilitar o gerenciamento de recursos e controle de gastos. Em relação a este último, podemos utilizá-las para alocação de custos, reduzindo o escopo de visualizações e relatórios de acordo com as TAGs configuradas.

Rastreamento do ciclo de vida de entidades

Um último aspecto importante a ser considerado é o ciclo de vida de recursos provisionados. Devido a operações e testes do dia a dia, recursos podem acabar ficando órfãos, sem estarem vinculados a um projeto ou responsável. É muito importante rastrearmos este tipo de situação, eliminando estes recursos e, consequentemente, reduzindo custos.

Alguns serviços importantes AWS, que não foram mencionados, são o Cost Explorer, que foi citado indiretamente antes, e possibilita a visualização e análise de custos. E o Amazon CloudWatch que permite a criação de alertas em resposta a alterações no custo da conta.

Otimizar com o tempo

Devemos garantir sempre a melhor utilização dos recursos necessários para o sucesso de nossas aplicações. Para isso, devemos monitorar o seu estado, evoluindo com o passar do tempo.

Medir, monitorar e aprimorar

Para termos certeza da aderência dos requisitos definidos para o workload, em relação a real utilização dos usuários, devemos obter as métricas de ambos os casos (utilização e requisitos), compará-las e definir estratégias para deixar a distância entre o real e o projetado, menor. Isso fará com que o custo se aproxime do ótimo. Com o intuito de reduzir esta diferença, o guideline nos sugere quatro passos:

  • Estabelecer uma função de otimização de custos: Devemos definir uma função de redução de custos, que englobe toda a organização. Essa função deverá abranger todos os elementos da organização, desde pessoas até aspectos técnicos;
  • Estabelecer métricas e metas: Métricas e metas são importantes para avaliar a evolução do workload, e definir objetivos a serem alcançados. Vale salientar que as metas definidas aqui não devem ser apenas focadas em custo, mas sim na otimização do workload (o menor custo, para o melhor estado operacional);
  • Obter insights e efetuar análises: Falando em métricas, devemos utilizar as ferramentas corretas para extrair dados e obter insights, observando as tarefas executadas pelos usuários, e verificando como o sistema responde a elas;
  • Reportar e validar: É importante validar e reportar as análises obtidas, afim de avaliar a evolução das medidas tomadas em relação as metas definidas.

Permanecer sempre no verde

Como citado anteriormente, provedores de nuvem sempre disponibilizam novas features e novos serviços. Sem contar que os próprios requisitos do sistema podem mudar. Por isso, é muito importante avaliarmos constantemente os recursos existentes em nossos workloads, verificando se eles ainda são as melhores opções e se os mesmos ainda são utilizados, considerando a possibilidade de reconfigurar/substituir o recurso, ou ainda descartá-lo.

Na AWS devemos sempre ficar de olho no AWS News e AWS Blog, para identificarmos novidades que venham a otimizar os Workloads da empresa. Outra ferramenta importante é o AWS Trust Advisor, que avalia o ambiente notificando sobre diversas melhorias à serem feitas.

Conclusão

Para garantirmos o menor custo, devemos estar sempre observando o comportamento do workload, os seus padrões de utilização e as novidades tecnológicas. Desta forma, teremos a oportunidade de utilizar a tecnologia de forma inteligente, otimizando a utilização de recursos.

Com este post chegamos ao fim da série sobre o Well-Architected Framework. O propósito desta série era sintetizar os ensinamentos compreendidos no guideline, evidenciando as principais ideias. Espero que tenham gostado!

Um grande abraços e boa semana!


Deixe uma resposta