Como usar o Kiro IDE para transformar seu dia a dia como DevOps/SRE na AWS

Neste artigo irei demonstrar na prática como podemos usar o Kiro IDE para ajudar no dia a dia de quem realiza funções de DevOps e SRE. Gerenciar um ambiente na AWS envolve alternar entre console, terminal, IDE e documentações extensas e complexas o tempo todo. Imagine você fazendo tudo isso sem sair do seu editor de código? Seria sensacional! Concorda? 😀

O Kiro é uma IDE de desenvolvimento de código integrado baseado em nuvem desenvolvido pela AWS que utiliza IA, com foco em “spec-driven development” (desenvolvimento guiado por especificações). Pensando no contexto de infraestrutura e segurança, iremos demonstrar na prática como utilizá-lo para os seguintes cenários:

  • Análise de código do Terraform com sugestões de melhorias de segurança e boas práticas.
  • FinOps (Reduções de custos).
  • Verificação de conformidade com o AWS Well-Architected Framework
  • Monitoramento e troubleshooting em tempo real
  • Scaling e performance
  • Fazer deploy

O que são os Kiro Powers?

Para que possamos fazer tudo isso, utilizamos os Powers, que são extensões que adicionam capacidades especializadas ao Kiro, permitindo acessar diretamente os serviços AWS, utilizar ferramentas de IaC e realizar operações em clusters.

Utilizaremos os 02 Kiro Powers abaixo para alcançar os objetivos citados anteriormente:

aws-infrastructure-as-code

aws-devops-agent

Para essa demonstração provisionamos um cluster no AWS EKS usando Terraform com uma aplicação de microserviços simples:

⚠️ Essa infraestrutura foi criada somente para demonstração e não deve ser utilizada em ambientes produtivos e com dados reais, devido à inexistência de boas práticas. 
Ao utilizar ferramentas de IA Inteligência Artificial, lembre-se de que a responsabilidade é totalmente sua.

Infraestrutura provisionada (Terraform):
VPC com subnets públicas e privadas em 2 AZs
EKS Cluster v1.31 com managed node group
Worker Nodes: 2x t4g.small (AWS Graviton — ARM64)
NAT Gateway single (custo reduzido para demo)
Network Load Balancer internet-facing
Security Groups necessários para os recursos

Aplicação (Kubernetes):

ComponentesImagemReplicasFunção
Frontendnginx:1.27-alpine2Página web + reverse proxy
APInode:20-alpine2 – (HPA 2 – 5)REST API com health checks
Redisredis:7-alpine1Cache em memória
kubectl get all -n kiro-demo:

Essa é a página da nossa aplicação:

Vamos lá!!!

Fizemos o download dos Powers através do link abaixo e o import através da seção Powers do Kiro :
https://github.com/kirodotdev/powers#aws-devops-agent

Após essas etapas vamos utilizar o poder do Kiro.

1ª Etapa – Avaliar o Código Terraform

Abrimos o chat e fizemos a seguinte solicitação:
Analise meu código Terraform e sugira melhorias de segurança e boas práticas

Ele analisou os códigos terraform e os manifestos do Kubernetes e identificou Problemas Críticos de Segurança e Boas Práticas Ausentes, foram 3 problemas críticos, 4 alto e 4 médios conforme as imagens a seguir:


No final ele perguntou se gostaríamos que fossem aplicadas as alterações, solicitamos que aplicasse todas as correções e executasse um terraform plan para que fosse possível verificar o que seria alterado na infraestrutura:

Como solicitamos que ele executasse o terraform apply, ele identificou problemas na execução e explicou o que poderia ser esse problema. Nesse ponto ocorreu um erro que não estava previsto:

Vejam como é fácil usar o Kiro para investigar. Enviamos o erro, ele corrigiu e solicitou um novo terraform apply:

Resultado do terraform apply completo, problema resolvido:

2ª Etapa – Avaliar a Infraestrutura como código:

Agora fizemos a seguinte solicitação no chat:
Analise minha infraestrutura AWS atual e gere um relatório do que está provisionado usando o power DevOps Agent:

Ele gerou um relatório completo da infraestrutura, segue alguns prints abaixo:

Solicitamos ao Kiro no chat uma outra análise:
– Verifique se minha infraestrutura segue as boas práticas do AWS Well-Architected Framework

Ele retornou com as seguintes dicas:

Outro cenário que iremos simular é Status do cluster.
Fizemos a seguinte pergunta no chat:
– Qual o status atual do meu cluster EKS kiro-demo? Mostre nodes, pods e serviços

3ª Etapa – Troubleshooting:

Simulamos um cenário onde os pods da aplicação foram para 0, executamos o comando abaixo:

kubectl scale deployment api --replicas=0 -n kiro-demo

Após zerar os pods, solicitamos a análise do Kiro, ele utilizou o Power aws-devops-agent para analisar e identificar o problema e trouxe o seguinte retorno:

Sensacional, ele fez uma análise bem completa do problema e já trouxe a solução no final.

E para finalizar essa demonstração, solicitamos ao Kiro mais duas análises:

Uma sobre Scaling e Performance:
– Como está o consumo de recursos dos pods no namespace kiro-demo? Preciso escalar alguma coisa?

Retorno análise Kiro – Scaling e Performance

Outro sobre FinOps:
– Existe oportunidade de redução de custos nesse ambiente com base no uso atual?

Obs.: A análise de FinOps em um cenário real (Ambiente Produtivo) será mais assertiva caso o ambiente esteja executando há algum tempo, no mínimo uns 15 dias para que existam mais logs e métricas de utilização. O ambiente analisado nesse artigo, foi criado somente para essa demonstração, mesmo assim o Kiro com o Power foi capaz de dar sugestões de redução de custos.

Com os cenários demonstrados, podemos perceber como o Kiro em conjunto com os Powers podem ser essenciais no dia a dia de quem trabalha com DevOps e SRE. Fizemos tudo sem sair da tela da IDE (Kiro IDE), outro ponto importante é o tempo que foi economizado na execução das ações.

Se você trabalha com DevOps e SRE, recomendo fortemente testar o Kiro IDE e explorar esse tipo de fluxo no seu dia a dia.

Até breve!