Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #2253

aws-serverless-eda

Ajuda seu agente a criar arquiteturas serverless e orientadas a eventos na AWS. É útil para construir APIs, funções Lambda e fluxos de trabalho assíncronos seguindo as melhores práticas.

O que ela faz

Este guia ajuda você a construir aplicações na nuvem da Amazon (AWS) que são escaláveis e respondem a eventos. Ele ensina como fazer funções pequenas e focadas, usar eventos para conectar serviços e garantir que tudo funcione mesmo se algo der errado.

Quando usar

  • ✓Ao criar aplicações que rodam sem servidores dedicados (usando Lambda).
  • ✓Ao projetar sistemas que reagem a eventos (como um arquivo sendo carregado).
  • ✓Ao construir serviços menores que se comunicam entre si (microsserviços).

Exemplo do que pedir para a IA

“Como posso garantir que minha função Lambda não tente fazer a mesma coisa duas vezes se receber o mesmo evento?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/aws-serverless-eda/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/aws-serverless-eda/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele usa os princípios do 'Well-Architected Framework' da AWS para dar conselhos. Isso significa seguir boas práticas para criar aplicações robustas, seguras e eficientes na nuvem.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill aws-serverless-eda

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/aws-serverless-eda/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

AWS Serverless e Arquitetura Orientada a Eventos

Esta habilidade fornece orientação abrangente para construir aplicações serverless e arquiteturas orientadas a eventos na AWS, com base nos princípios do Well-Architected Framework.

Requisito de Documentação AWS

Sempre verifique fatos da AWS usando as ferramentas MCP (mcp__aws-mcp__* ou mcp__*awsdocs*__*) antes de responder. A dependência aws-mcp-setup é carregada automaticamente — se as ferramentas MCP não estiverem disponíveis, guie o usuário pelo fluxo de configuração dessa habilidade.

Servidores MCP Serverless

Esta habilidade utiliza o servidor MCP do CDK (fornecido pela dependência aws-cdk-development) e a Documentação AWS MCP para orientação serverless.

Observação: Os seguintes servidores MCP da AWS estão disponíveis separadamente através do Servidor MCP Completo da AWS (veja a habilidade aws-mcp-setup) e não estão incluídos neste plugin:

  • AWS Serverless MCP — Ciclo de vida do SAM CLI (init, deploy, local test)
  • AWS Lambda Tool MCP — Invocação direta do Lambda
  • AWS Step Functions MCP — Orquestração de fluxos de trabalho
  • Amazon SNS/SQS MCP — Gerenciamento de mensagens e filas

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Construir aplicações serverless com Lambda
  • Projetar arquiteturas orientadas a eventos
  • Implementar padrões de microsserviços
  • Criar fluxos de trabalho de processamento assíncrono
  • Orquestrar transações multi-serviço
  • Construir pipelines de processamento de dados em tempo real
  • Implementar padrões saga para transações distribuídas
  • Projetar para escalabilidade e resiliência

Princípios de Design Serverless Well-Architected da AWS

1. Rápido, Simples, Singular

Funções devem ser concisas e com propósito único

// ✅ GOOD - Single purpose, focused function
export const processOrder = async (event: OrderEvent) => {
  // Only handles order processing
  const order = await validateOrder(event);
  await saveOrder(order);
  await publishOrderCreatedEvent(order);
  return { statusCode: 200, body: JSON.stringify({ orderId: order.id }) };
};

// ❌ BAD - Function does too much
export const handleEverything = async (event: any) => {
  // Handles orders, inventory, payments, shipping...
  // Too many responsibilities
};

Mantenha as funções eficientes em termos de ambiente e custo:

  • Minimize tempos de inicialização a frio (cold start)
  • Otimize a alocação de memória
  • Use concorrência provisionada apenas quando necessário
  • Aproveite a reutilização de conexões

2. Pense em Requisições Concorrentes, Não em Requisições Totais

Projete para concorrência, não para volume

O Lambda escala horizontalmente — as considerações de design devem focar em:

  • Limites de execução concorrente
  • Limitação (throttling) de serviços downstream
  • Contenção de recursos compartilhados
  • Dimensionamento de pools de conexão
// Consider concurrent Lambda executions accessing DynamoDB
const table = new dynamodb.Table(this, 'Table', {
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, // Auto-scales with load
});

// Or with provisioned capacity + auto-scaling
const table = new dynamodb.Table(this, 'Table', {
  billingMode: dynamodb.BillingMode.PROVISIONED,
  readCapacity: 5,
  writeCapacity: 5,
});

// Enable auto-scaling for concurrent load
table.autoScaleReadCapacity({ minCapacity: 5, maxCapacity: 100 });
table.autoScaleWriteCapacity({ minCapacity: 5, maxCapacity: 100 });

3. Não Compartilhe Nada

Ambientes de execução de funções são de curta duração

// ❌ BAD - Relying on local file system
export const handler = async (event: any) => {
  fs.writeFileSync('/tmp/data.json', JSON.stringify(data)); // Lost after execution
};

// ✅ GOOD - Use persistent storage
export const handler = async (event: any) => {
  await s3.putObject({
    Bucket: process.env.BUCKET_NAME,
    Key: 'data.json',
    Body: JSON.stringify(data),
  });
};

Gerenciamento de estado:

  • Use DynamoDB para estado persistente
  • Use Step Functions para estado de fluxo de trabalho
  • Use ElastiCache para estado de sessão
  • Use S3 para armazenamento de arquivos

4. Assuma Nenhuma Afinidade de Hardware

Aplicações devem ser agnósticas de hardware

A infraestrutura pode mudar sem aviso:

  • Funções Lambda podem rodar em hardware diferente
  • Instâncias de contêiner podem ser substituídas
  • Nenhuma suposição sobre a infraestrutura subjacente

Projete para portabilidade:

  • Use variáveis de ambiente para configuração
  • Evite otimizações específicas de hardware
  • Teste em diferentes ambientes

5. Orquestre com Máquinas de Estado, Não com Encadeamento de Funções

Use Step Functions para orquestração

// ❌ RUIM - Encadeamento de funções Lambda
export const handler1 = async (event: any) => {
  const result = await processStep1(event);
  await lambda.invoke({
    FunctionName: 'handler2',

…
Perguntas frequentes

O que são 'microsserviços'?

São como pequenas aplicações independentes que trabalham juntas para formar um sistema maior. Cada uma faz uma tarefa específica.

O que significa 'arquitetura orientada a eventos'?

É um jeito de construir sistemas onde as ações (eventos) disparam outras ações, em vez de um programa pedir diretamente para outro fazer algo.

O que é 'Lambda'?

É um serviço da AWS que permite rodar código sem precisar gerenciar servidores. Você só paga pelo tempo que seu código está em execução.

Detalhes

Descrição original do autor

AWS serverless and event-driven architecture expert based on Well-Architected Framework. Use when building serverless APIs, Lambda functions, REST APIs, microservices, or async workflows.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2253
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas