EKS Autoscaling Event-Driven com KEDA e Karpenter

Demonstração prática de uma arquitetura de escalabilidade de alta eficiência para Kubernetes na AWS. O projeto simula cenários de picos extremos de tráfego (“Black Friday”) utilizando KEDA para escalar aplicações baseadas em métricas de negócio (tamanho de filas SQS) e Karpenter para o provisionamento just-in-time de nós EC2. A solução reduz o tempo de scale-up de minutos para segundos, garantindo alta disponibilidade com otimização de custos através do provisionamento inteligente de recursos e do encerramento automático de nós subutilizados.

Arquitetura Event-Driven Integrada

Visão geral da solução onde produtores de mensagens geram carga em filas Amazon SQS. O KEDA monitora a profundidade da fila e aciona o HPA (Horizontal Pod Autoscaler) proativamente, antes mesmo do consumo de CPU aumentar. Quando os novos Pods ficam pendentes por falta de recursos, o Karpenter entra em ação provisionando novos nós computacionais em menos de 90 segundos.

Escala Baseada em Métricas de Negócio (KEDA)

Diferente do autoscaling tradicional (CPU/Memória), aqui a escala é acionada pelo tamanho da fila de processamento. O KEDA detecta o acúmulo de mensagens e ordena a criação imediata de dezenas de réplicas da aplicação consumidora, garantindo que o SLA de processamento seja mantido mesmo durante picos repentinos de demanda.

Provisionamento de Infraestrutura Just-in-Time

O Karpenter observa os Pods em estado "Pending" e calcula a capacidade exata necessária para atendê-los. Ele escolhe as instâncias EC2 mais adequadas e as provisiona diretamente, eliminando a complexidade e a lentidão dos antigos Auto Scaling Groups (ASG) e Cluster Autoscaler

Simulação de Cenário "Black Friday"

Validação de robustez através de scripts de estresse que injetam milhares de transações na fila SQS em poucos segundos. O teste comprova a capacidade do cluster de sair do estado de repouso (custo mínimo) para capacidade máxima de processamento de forma totalmente automatizada e resiliente.

Otimização de Custos e Consolidação

Tão importante quanto escalar é "desescalar". Assim que a fila é drenada, o KEDA reduz os Pods e o Karpenter identifica nós subutilizados. Ele move cargas de trabalho remanescentes (Consolidation) e encerra as instâncias EC2 desnecessárias imediatamente, garantindo que você pague apenas pelos segundos de computação utilizados.

Stack Core

AWS EKS 1.31, Karpenter v1.0, KEDA v2.15

Autoscaling & Compute

EC2 Spot Instances, Amazon SQS, DynamoDB

Automação & IaC

Helm Charts, Bash Scripting, Python (Boto3)