Lab: A Dieta da Nuvem - Otimizando Recursos para Reduzir Custos
O Cenário (A "User Story")
Como um arquiteto de nuvem consciente dos custos, EU QUERO analisar uma arquitetura existente, identificar recursos superdimensionados ou desnecessários e redimensioná-los, PARA QUE eu possa reduzir a fatura mensal da AWS sem impactar a performance da aplicação.
A Dor que o Lab Resolve
É muito comum, após uma migração para a nuvem, que os recursos sejam superdimensionados "só por segurança". A dor que este lab resolve é o desperdício de dinheiro com recursos ociosos. Vamos aprender a "aparar as gorduras" de uma arquitetura, um processo contínuo de otimização de custos.
Objetivos de Aprendizado
Ao final deste laboratório, você será capaz de:
- Analisar uma arquitetura e identificar oportunidades de otimização.
- Desinstalar software desnecessário de uma instância EC2.
- Redimensionar (
right-size) uma instância EC2 para um tipo menor usando a AWS CLI. - Usar a Calculadora de Preços da AWS (AWS Pricing Calculator) para estimar e comparar os custos antes e depois da otimização.
O Passo a Passo: A Otimização
Tarefa 1: O Diagnóstico e a "Cirurgia"
Analogia: Nossa aplicação é um paciente que passou por um "transplante de coração" (a migração para o RDS). Agora, o coração antigo ainda está lá, desativado, e o paciente está usando uma "maca" maior do que o necessário. Vamos fazer a cirurgia de remoção e dar alta para um "quarto" menor.
-
Gere Dados de Teste:
- No painel do seu laboratório, clique em Detalhes > Mostrar (Details > Show).
- Copie o valor de
CafeInstanceURLe cole em uma nova aba do navegador. - No site do café, vá em Menu e faça alguns pedidos para garantir que temos dados no banco de dados do RDS.
-
Conecte-se à Instância
CafeInstance:- No console do EC2, encontre a instância
CafeInstance. - Use o método de sua preferência (SSH ou EC2 Instance Connect) para se conectar a ela.
O "Porquê": A otimização começa dentro do servidor. Precisamos remover o software antigo.
- No console do EC2, encontre a instância
-
Remova o Banco de Dados Antigo:
- No terminal da
CafeInstance, pare e remova o serviço MariaDB local, que não é mais usado.# Parar o serviço do banco de dados local sudo systemctl stop mariadb # Desinstalar o pacote do servidor de banco de dados sudo yum -y remove mariadb-serverO "Porquê": Esta ação libera espaço em disco e recursos de CPU/memória na instância, justificando o redimensionamento que faremos a seguir.
- No terminal da
-
Conecte-se ao
Host da CLI (CLI Host):- Abra uma segunda janela de terminal e conecte-se à instância
CLI Host. - Configure a AWS CLI com
aws configuree as credenciais do laboratório.O "Porquê": Faremos as ações de infraestrutura (parar/modificar/iniciar a outra instância) a partir deste host de comando, simulando uma automação centralizada.
- Abra uma segunda janela de terminal e conecte-se à instância
-
Redimensione a Instância (
Right-Sizing):- Encontre o ID da instância a ser modificada:
aws ec2 describe-instances --filters "Name=tag:Name,Values=CafeInstance" --query "Reservations[0].Instances[0].InstanceId" --output text - Anote o
InstanceId. - Pare a instância:
aws ec2 stop-instances --instance-ids <ID_DA_SUA_CAFEINSTANCE> - Modifique o tipo de instância (a "cirurgia" de redimensionamento):
aws ec2 modify-instance-attribute --instance-id <ID_DA_SUA_CAFEINSTANCE> --instance-type "{\"Value\": \"t3.micro\"}" - Inicie a instância novamente:
aws ec2 start-instances --instance-ids <ID_DA_SUA_CAFEINSTANCE>
- Encontre o ID da instância a ser modificada:
- Verificação:
- Aguarde a instância estar no estado
running. - Pegue o novo endereço IP público dela:
aws ec2 describe-instances --instance-ids <ID_DA_SUA_CAFEINSTANCE> --query "Reservations[0].Instances[0].PublicIpAddress" --output text - Acesse
http://<NOVO_IP_PUBLICO>/cafeno navegador. O site deve funcionar perfeitamente, agora rodando em uma máquina menor e mais barata.
- Aguarde a instância estar no estado
Tarefa 2: Quantificando a Economia (Usando a Calculadora de Preços)
Analogia: Agora que otimizamos, vamos usar a "planilha de orçamento" da AWS para mostrar ao "CFO" (seu chefe) exatamente quanto dinheiro economizamos.
- Acesse a Calculadora de Preços da AWS: calculator.aws
- Clique em Criar estimativa (Create estimate).
Estimativa 1: O Custo ANTES da Otimização
- Adicione o serviço Amazon EC2:
- Região (Region): A mesma do seu laboratório.
- Tipo de instância (Instance type):
t3.small. - Estratégia de preços (Pricing strategy):
Sob demanda (On-Demand). - Armazenamento EBS (EBS storage):
gp2, 40 GB. - Clique em Adicionar à minha estimativa (Add to my estimate).
- Adicione o serviço Amazon RDS for MariaDB:
- Região: A mesma.
- Tipo de instância:
db.t3.micro. - Modelo de preço:
Sob demanda (On-Demand). - Armazenamento (Storage):
gp2, 20 GB. - Clique em Adicionar à minha estimativa.
- Anote o Custo Mensal Total da sua estimativa.
Estimativa 2: O Custo DEPOIS da Otimização
- Na sua estimativa, clique em Editar (Edit) no serviço Amazon EC2.
- Altere o Tipo de instância para
t3.micro. - Altere a Quantidade de armazenamento (Storage amount) do EBS para 20 GB.
- Clique em Salvar (Save).
- Anote o Novo Custo Mensal Total.
O Resultado
Compare os dois totais. Você verá uma economia de custos mensal significativa, simplesmente por remover um software desnecessário e escolher um "motor" do tamanho certo para a carga de trabalho.
Conclusão
Parabéns! Você atuou como um verdadeiro especialista em FinOps. Você analisou uma arquitetura, identificou desperdícios, executou as mudanças técnicas para otimizar os recursos e, o mais importante, usou a Calculadora de Preços para quantificar o valor de negócio da sua otimização. Esta é uma habilidade essencial que demonstra não apenas conhecimento técnico, mas também visão de negócio.