DEV Community

Felipe KiKo for AWS Community Builders

Posted on • Originally published at builder.aws.com

Deixei o Kiro Crew cuidar do pior "servidor" do mundo!

Sim...tadinho dele...sei que tudo na vida tem limite, mas nada melhor do que testar algo novo em algo que realmente é muito velho!

E quando falo "servidor", estou sendo bem bonzinho viu! Porque esse meu "servidor" é um notebook Positivo velho de guerra, que serve para 3 coisas...
1- Alguns experimentos beeem limitados;
2- Para emprestar para meu afilhado quando ele vai comigo em workshops (tadinho dele!)
3- E último e não menos importante...fazer me passar raiva!

Mas, deixando a choradeira de lado, nele tenho uma aplicação simples, mas que acabo usando até que com certa frequência, que é um sistema de controle de gastos pessoais (sim, preciso trackear tudo que passo no cartão para não me lascar!)

Só que...note velho, sabe como é...e tem hora que algo trava (ou tudo!) e tenho que entrar lá para rebootar alguma coisa...fora que além disso, vira e mexe entro nele via SSH e rodo uma querizinha só para gerar um relatório para ver o quão estou ferrado esse mês em questão de gastos no cartão.

E sim, sei que preciso colocar ela em algum lugar, e até iria fazer isso...estava no meu backlog, mas se a vida te dá limão, por que não fazer uma bela de uma torta de limão? E com o anúncio do Kiro Crew vi essa torta lindona bem na minha frente!

Então resolvi criar meu agente de SRE e DBA nessa lindeza...e o pior...não é que funcionou!

O desafio

Eu tinha duas missões "bem simples" para o Crew:

  1. Virar o SRE do meu glorioso Positivo, onde a ideia era deixar um agente responsável por:
  • Verificar se os containers estavam de pé;
  • Monitorar os health checks;
  • Olhar e entender os logs em caso de meleca;
  • Tentar com a vida recuperar o serviço;
  • E me avisar caso precisasse da minha ajuda;

Nada de K8s, observabilidade enterprise ou 14 dashboards, só eu, o Crew e o Positivo!

  1. Me lembrar diariamente das minhas más decisões financeiras

A segunda missão era ainda mais importante para mim, todo dia, de manhãzinha, ele deveria consultar o banco, rodar a query que eu normalmente executava por SSH e mandar o resultado para mim no Telegram com o resumo dos gastos (e com isso me forçar a talvez parar de pedir delivery naquela semana).

O setup

Não vou entrar muito nos detalhes técnicos, mas o Crew ficou instalado diretamente no Positivo DUO ZR3630 (Intel Celeron com 4GB de RAM + 32GB de disco flash), um positivo que a ideia para a época foi muito boa, mas que em pleno 2026 não funciona tanto...nele deixei rodando Linux Mint 22 (XFCE quando em interface gráfica), com acesso via Tailscale, tudo fora do Docker, porque se ele morresse (o que acontecia frequente), o Crew deveria ser capaz de restartar ele, e na parte da aplicação, basicamente Python + MySQL rodando dentro de containers.

Para instalar o Crew, simples, usei o próprio Kiro CLI para me ajudar na instalação e configuração...e se você tiver algum problema nessa parte, pode deixar nos comentários ou me chama que debugamos juntos!

Por conta da velocidade, ajustes tiveram que ser feitos, aumentando (bastante) os timeouts...mas depois superando isso, tudo certo e pronto para criar nossos agentes!
E falando deles, criei os dois que mencionei no começo, o "sabor" SRE e "sabor" DBA, já direto na interface do Kiro Crew.

SRE: Hora de maltratar o "server"

Setup finalizado e agentes criados, agora vem a hora de testar! E o primeiro foi o de SRE, onde simulei alguns incidentes que raramente aconteciam todos os dias!

Incidente 1: Matei o backend

Basicamente um docker stop backend, e o resultado:

  • Detectou: sim
  • Encontrou a causa: sim
  • Recuperou sozinho: sim, sim e sim!

Incidente 2: Matei o banco

Agora a vez do docker stop mysql, mas um pouco mais interessante porque o backend continua de pé, mas quebrado!
E nesse também, sucesso, tanto na detecção, causa raiz e recuperação! A diferença é que ele estava observando os logs da aplicação também!

Incidente 3: Não vou facilitar

Aqui já foi algo menos óbvio, esgotar a memória! Apesar que com 4GB foi até que fácil simular isso!

E nesse ponto, tive duas surpresas...a primeira e mais óbvia é que o Kiro Crew morreu junto! Mas, depois de voltar à vida ele me surpreendeu, pois tinha entrado em alerta antes de tomar qualquer ação e quando acordou fez o diagnóstico e CORRIGIU O ESGOTAMENTO DE MEMÓRIA!

Sim, ele não fez "download de memória RAM" magicamente, mas colocou limites e travas nos containers e inclusive nele mesmo! Achei isso diferenciado viu!!

DBA: Enquanto isso, às 7 da manhã

Enquanto eu estava deliberadamente tentando matar meu pobre servidorzinho, outra parte do Crew tinha uma preocupação mais importante: me lembrar de que eu precisava parar de gastar dinheiro.

E ele conseguiu! Não de primeira (porque tive problemas com o Bot do Telegram), mas conseguiu mandar a mensagem certinha no horário que tinha programado nos outros dias, e sobre o conteúdo da mensagem, deixei ele criar.

Minha query simplesmente fazia um SELECT nos custos do dia anterior e mostrava qual foi e quanto gastei, e essa info estava boa até então para mim, mas quando vi a mensagem pela primeira vez, rapá...ficou boa ein! Trouxe o detalhado, o acumulado do mês e uma PROJEÇÃO DE CUSTOS!

Ou seja, tudo que eu fazia "mentalmente" com o resultado da query, ele me trouxe ali, na palma da minha mão, sem eu precisar fazer nada!

Dúvidas no começo, sentido no final!

Durante a instalação e configuração, uma pergunta ficava na minha cabeça..."beleza, mas não daria para fazer isso com Kiro CLI? Ou com uma automação do Kiro Web?"

E depois de todo blood, sweat and tears, quando terminei essa resposta estava clara...sim, individualmente, quase tudo dá para reproduzir de outra forma, mas o que mudou para mim foi parar de pensar no Crew como "um agente melhor ou mais poderoso" e começar a pensar nele como um lugar onde agentes ficam responsáveis por coisas que estão e devem ficar somente no meu domínio.

Tipo...cada um assumir suas responsabilidades...onde:

  • Com o CLI: Investigue por que minha API caiu
  • Com o Crew: Essa API agora é problema seu!

E no final das contas, sabe o que é mais curioso de tudo isso? É que depois de alguns dias eu parei de "usar o Crew"...Ele simplesmente estava lá...de verdade, eu por fim acabei até esquecendo que tinha criado ele só para testar, e virou tão natural receber minha mensagem às 7:01 da manhã e acessar a aplicação com ela funcionando (na maioria das vezes), considerando que tudo estava rodando num Positivo velho em cima da minha mesa!

Top comments (0)