Cada trilha começa por um tema e se divide em três níveis: iniciante, intermediário e avançado. O nível não é tempo de casa nem dificuldade técnica, é maturidade da prática. Leia os "sinais de que você está neste nível" antes de escolher por onde começar: quase sempre o nível certo é o anterior ao que a gente gostaria de estar.

A ordem dos temas segue a demanda real de quem se inscreveu na Jornada AWS, do mais pedido ao menos pedido. IA aplicada ao negócio foi o tema mais pedido, e por isso abre a lista. Cada trilha fecha com a oferta da RFX correspondente, ancorada num padrão público da AWS que você pode conferir na fonte.

Filtrar trilhas por tema e por nível

Tema
Nível

Trilha 1

IA aplicada ao negócio

IA aplicada ao negócio não é escolher um modelo. É escolher um problema. Na prática, o que separa uma empresa que tirou valor de IA de uma que só acumulou pilotos é quase sempre a mesma coisa: a primeira sabia qual processo estava doendo, quanto custava aquele processo e qual dado descrevia ele. A segunda começou pela tecnologia e foi procurar onde encaixar.

Existe um segundo deslocamento em curso, e ele muda o desenho da solução. A primeira onda de IA generativa respondia: você perguntava, o modelo devolvia texto, e um humano decidia o que fazer com aquilo. A onda atual executa: o sistema consulta uma API, lê um registro, abre um chamado, atualiza um pedido. Isso troca a natureza do problema. Um sistema que responde erra e produz um texto ruim. Um sistema que executa erra e produz um efeito no mundo: um pedido errado, um crédito liberado indevidamente, um dado exposto. Por isso, quando a IA passa a agir, identidade, permissão, política e rastreabilidade deixam de ser detalhe de infraestrutura e viram o coração do projeto. A AWS reconhece isso na própria arquitetura do Amazon Bedrock AgentCore, que trata identidade, política, observabilidade e avaliação como serviços de primeira classe, não como acessório.

Daí a ordem de prioridade que usamos nesta trilha: a decisão pesa mais que o modelo. O modelo virou commodity intercambiável e melhora sozinho a cada trimestre, sem que você faça nada. O que não vira commodity é conhecer o seu processo, ter o seu dado organizado, saber o que é resposta certa no seu contexto e conseguir provar isso. Modelo se troca com uma linha de configuração. Dado ruim, processo mal entendido e ausência de critério de qualidade não se trocam. Os três níveis abaixo estão organizados por essa maturidade, não por dificuldade técnica.

Iniciante

Você usa IA gerenciada para resolver uma dor pontual e concreta, sem treinar modelo e sem projeto de plataforma. O objetivo aqui é tirar trabalho manual repetitivo do caminho e criar o primeiro caso de sucesso interno.

O que fazer na prática

  • Escolha um processo que hoje é digitação, leitura ou triagem manual, com volume conhecido e resultado verificável (nota fiscal, guia, contrato, ficha de atendimento, gravação de ligação).
  • Meça o "antes" antes de automatizar: quantos documentos por dia, quanto tempo por documento, qual a taxa de erro atual. Sem essa linha de base, não existe como afirmar depois que a IA melhorou algo.
  • Comece por serviços de IA gerenciados de tarefa específica, que resolvem um problema fechado com API, em vez de partir direto para modelo de fundação genérico.
  • Mantenha o humano na decisão final e use a IA como primeiro passe. O ganho inicial vem de reduzir o esforço de leitura, não de eliminar a revisão.
  • Trate o dado sensível desde o primeiro dia: identifique onde há CPF, dado de saúde ou dado financeiro no material que você vai processar, antes de mandar para qualquer serviço.

Serviços AWS

  • Amazon Textract: extrai texto, formulários e tabelas de documentos digitalizados e PDFs, preservando a estrutura de campo e valor.
  • Amazon Transcribe: converte áudio em texto, com suporte a português, útil para atendimento, reunião e call center.
  • Amazon Comprehend: identifica entidades, sentimento e informação pessoal identificável (PII) em texto livre.
  • Amazon Bedrock: acesso gerenciado a modelos de fundação de vários fornecedores por API única, para resumo, classificação e redação.

Caso de uso

Uma clínica recebe guias e pedidos de exame em PDF e foto, e hoje uma pessoa digita cada campo no sistema de agendamento. O Textract extrai os campos estruturados do documento, o Comprehend sinaliza onde há dado pessoal, e o sistema apresenta o formulário já preenchido para a recepcionista confirmar. A pessoa deixa de digitar e passa a revisar. O ganho é medível porque a clínica sabia quanto tempo levava a digitação antes.

Sinais de que você está neste nível

  • A empresa ainda não tem nenhuma carga de IA em produção, e o uso atual é alguém copiando e colando texto em um chat no navegador, por conta própria e sem registro.
  • Existe trabalho manual de leitura ou digitação que todo mundo reconhece como gargalo, mas ninguém mediu.
  • Não há clareza sobre qual dado a empresa tem, onde ele está e quem pode acessar.

Intermediário

Você ancora a IA no dado da sua empresa e passa a se preocupar com qualidade e controle da resposta. É aqui que a maioria dos projetos trava: o piloto encanta na demonstração e desmorona quando encontra a pergunta real do usuário real.

O que fazer na prática

  • Implemente RAG (geração aumentada por recuperação) para que o modelo responda com base nos seus documentos e cite a fonte, em vez de responder com o conhecimento genérico dele.
  • Defina o critério de resposta certa antes de construir: monte um conjunto de perguntas reais com as respostas esperadas e use isso como régua a cada mudança de prompt ou de modelo.
  • Aplique guardrails explícitos: filtro de conteúdo, bloqueio ou mascaramento de PII e verificação de embasamento da resposta na fonte, para reduzir alucinação.
  • Resolva a permissão do dado antes de indexar. Se o documento do RH e o do jurídico entram no mesmo índice sem controle de acesso, você acaba de construir um vazamento com interface de chat.
  • Para problema de previsão ou recomendação com dado tabular, avalie ML clássico em vez de IA generativa. Nem todo problema é problema de linguagem.

Serviços AWS

  • Amazon Bedrock Knowledge Bases: RAG gerenciado, da ingestão do documento ao armazenamento vetorial e à recuperação, sem você operar banco de vetores. A variante Managed Knowledge Base, disponível de forma geral desde junho de 2026, opera o armazenamento vetorial inteiro pela AWS e traz busca híbrida, conectores prontos e recuperação agêntica para consultas de múltiplos passos.
  • Amazon Bedrock Guardrails: filtros de conteúdo, detecção e redação de PII e verificação de embasamento contextual, aplicáveis a vários modelos.
  • Amazon SageMaker Canvas: construção de modelo de previsão a partir de dado tabular em interface visual, sem escrever código.
  • Amazon Personalize: recomendação e ranqueamento personalizado a partir do histórico de interação dos seus usuários.

Caso de uso

Uma operação de suporte tem centenas de páginas de política, contrato e procedimento, e o time novo demora semanas para achar a resposta certa. Uma base de conhecimento indexa esse material, o assistente responde citando o trecho e o documento de origem, e o guardrail bloqueia resposta que não esteja embasada na fonte. O atendente confere a citação em vez de confiar no texto gerado. A permissão do índice segue a permissão original do documento, então quem não podia ler o contrato continua não podendo.

Sinais de que você está neste nível

  • Você já tem um piloto que funciona na demonstração, mas ele inventa resposta quando sai do roteiro, e ninguém consegue afirmar com dado se ele está melhorando ou piorando.
  • O dado que a IA precisa existe, porém espalhado entre SharePoint, Drive, S3 e a cabeça de duas pessoas.
  • A pergunta "e se ele responder errado para um cliente?" ainda não tem dono nem resposta.

Avançado

Você sai de "responder" para "executar". O sistema passa a agir em outros sistemas, e o problema deixa de ser qualidade de texto e vira governança, permissão, custo e auditoria de uma coisa que age sozinha.

O que fazer na prática

  • Trate o agente como um ator com identidade própria, não como um usuário genérico com credencial compartilhada. Quem agiu, com qual permissão e sobre qual recurso precisa ser respondível depois do fato.
  • Exponha os sistemas existentes como ferramentas governadas, com política determinística sobre o que o agente pode chamar e sob quais condições, em vez de deixar o modelo decidir sozinho o limite dele.
  • Defina onde o humano aprova. Ação com efeito financeiro, contratual ou irreversível passa por aprovação explícita, por regra, não por confiança no modelo.
  • Instrumente antes de escalar: rastreie cada passo do agente, o caminho de execução e as saídas intermediárias, e avalie qualidade de forma contínua, não só no dia do lançamento.
  • Trate custo e latência como requisito de projeto. Agente que raciocina em vários passos multiplica chamadas de modelo, e a conta cresce em cima de volume, não de licença.

Serviços AWS

  • Amazon Bedrock AgentCore: plataforma para construir, implantar e operar agentes com qualquer framework e modelo, sem gerenciar infraestrutura.
  • AgentCore Gateway: transforma APIs, funções Lambda e serviços existentes em ferramentas compatíveis com MCP para o agente usar.
  • AgentCore Identity: identidade e autenticação do agente, compatível com provedores existentes como Cognito, Okta e Entra ID.
  • AgentCore Policy: regras determinísticas, em linguagem natural ou Cedar, que interceptam cada chamada de ferramenta antes da execução.
  • AgentCore Observability: rastreamento e depuração do fluxo do agente em produção, em formato compatível com OpenTelemetry.
  • AgentCore Evaluations: avaliação automatizada de qualidade do agente sobre sessões e traces, antes e depois da implantação.
  • Amazon SageMaker AI: construção, treino e implantação de modelo próprio, quando o problema não é resolvido por modelo de fundação.

Caso de uso

Uma distribuidora recebe pedido por e-mail em texto livre, em formatos diferentes por cliente. Um agente interpreta o pedido, consulta preço e estoque no ERP através de ferramentas expostas por um gateway, verifica a situação de crédito do cliente e prepara a ordem. A política determina que pedido acima de um limite, ou de cliente com restrição, para para aprovação humana. Cada passo fica rastreado, e a avaliação contínua compara o que o agente decidiu com o que o time comercial decidiria. O agente não "tem acesso ao ERP": ele tem acesso a quatro operações específicas, com identidade própria e registro.

Sinais de que você está neste nível

  • Você tem vários pilotos que funcionam e nenhum em produção de verdade, porque ninguém assina embaixo do risco de deixar aquilo agir sozinho.
  • Já existe pergunta de auditoria, jurídico ou compliance sobre quem respondeu o quê, e a resposta hoje é "está no log de alguém".
  • Custo e latência viraram assunto de reunião, e o time começou a discutir qual passo do fluxo realmente precisa de modelo.
Fontes oficiais desta trilha
Trilha 2

Modernização

Modernizar não é trocar de servidor. Mover o mesmo binário de um servidor físico para uma instância EC2 muda a fatura e o contrato de infraestrutura, mas não muda o que trava a entrega: o acoplamento entre os módulos, o tempo entre o commit e a produção, o raio de alcance de uma falha e quem consegue mexer no código sem medo. Se a resposta para "quanto tempo leva uma mudança pequena chegar em produção?" continua igual depois da mudança de infraestrutura, o que aconteceu foi mudança de endereço.

Quem vende a plataforma é explícito sobre isso. O guia prescritivo da AWS sobre as 7 estratégias de migração (os 7 Rs: retire, retain, rehost, relocate, repurchase, replatform, refactor) afirma que refatorar não é recomendado em migrações grandes, porque significa modernizar durante a migração, e que a recomendação é rehost, relocate ou replatform primeiro, modernizando a aplicação depois que a migração terminar. O mesmo guia coloca retire e retain como estratégias legítimas, com casos de uso próprios: aplicação sem valor de negócio se aposenta, aplicação que depende de hardware sem equivalente na nuvem fica onde está. Nem tudo que roda precisa ser modernizado, e decidir não modernizar é uma decisão de arquitetura como qualquer outra.

A escolha certa em cada caso é um trade-off entre custo, capacidade do time e confiabilidade, não uma posição na escala de "moderno". E existe um quarto eixo que raramente entra na conta: a longevidade da abstração que você adota. Quanto mais conveniente e mais alto o nível do serviço, menos código de infraestrutura você escreve e menos controle você tem sobre o que acontece se aquele serviço parar de evoluir. O AWS App Runner é o exemplo vivo disso, e está detalhado no nível iniciante desta trilha.

Iniciante O gargalo é operacional

Neste nível o problema não é a arquitetura do software. É o custo de manter o software no ar. O time é consumido por patch de sistema operacional, deploy manual, servidor que ninguém sabe recriar e ambiente que só funciona porque alguém ajustou algo à mão há dois anos. Modernizar aqui significa tirar do time o trabalho que não diferencia o negócio.

O que fazer na prática

  • Empacotar a aplicação em container e tirar o build da máquina de alguém. Imagem versionada no ECR, build no pipeline, artefato reproduzível. Isso vale mesmo que o destino final continue sendo uma única instância: o ganho é o ambiente deixar de ser um bicho vivo.
  • Fazer replatform onde existe equivalência direta. Banco SQL Server em VM vira RDS for SQL Server; a aplicação não muda, quem opera backup, patch e failover muda. Esse é o "lift, tinker and shift" do guia dos 7 Rs, e é o melhor retorno por unidade de risco neste nível.
  • Descrever em IaC o que já existe, antes de redesenhar qualquer coisa. CloudFormation, CDK ou Terraform sobre o estado atual. Ambiente que não pode ser recriado por código não pode ser testado nem auditado, e todo passo seguinte fica mais caro.
  • Escolher o plano de compute pelo perfil do processo, não pela moda. Este é o corte mais objetivo que existe: uma função Lambda tem timeout máximo de 900 segundos (15 minutos), cota fixa que não se aumenta. A documentação oficial da própria AWS compara os dois com "execution time limit: no hard limit" para Fargate e "15 minutes maximum" para Lambda. Processo que às vezes passa de 15 minutos não é candidato a Lambda, por mais elegante que a arquitetura pareça no diagrama.
  • Pesar a longevidade da abstração antes de adotar a mais conveniente. Ver o quadro abaixo.

O trade-off da abstração conveniente: o caso App Runner

O AWS App Runner era a porta de entrada mais simples para subir um container web na AWS: você entrega a imagem, ele resolve build, deploy, balanceamento e escala. A AWS fechou o App Runner para novos clientes. A página oficial de mudança de disponibilidade diz, textualmente, que após consideração cuidadosa a decisão foi fechar o App Runner para novos clientes, que os clientes existentes continuam usando o serviço normalmente, inclusive criando novos recursos, que a AWS segue investindo em segurança e disponibilidade, e que não há plano de introduzir novos recursos. O destino indicado pela própria AWS é o Amazon ECS Express Mode, e a documentação inclui um guia de migração com blue/green por peso de DNS no Route 53.

Dois aprendizados práticos saem daqui, e nenhum deles é "não use serviço gerenciado":

  1. Serviço em modo de manutenção é uma decisão de arquitetura, não um detalhe. Continuar rodando funciona; o custo aparece no dia em que você precisa de um recurso que nunca vai chegar.
  2. A documentação da AWS não é uniformemente atualizada, e isso é responsabilidade de quem decide. O decision guide oficial "Choosing an AWS container service", com data de última atualização em 16/05/2025, ainda lista o App Runner na camada de soluções verticais e afirma que ele "oferece o caminho mais direto para você implantar sua aplicação na internet sem gerenciar ou customizar a infraestrutura subjacente". Não há nota de fechamento e não há menção ao ECS Express Mode. Ler o decision guide isolado hoje leva a uma recomendação errada. Sempre confira a página do serviço, não só o guia comparativo.

Serviços AWS

  • Amazon ECR: registro de imagens de container, com scan de vulnerabilidade e política de ciclo de vida.
  • AWS Fargate: compute serverless para containers, sem limite rígido de duração de execução e com controle fino de vCPU e memória.
  • Amazon ECS Express Mode: GA desde 21/11/2025, provisiona service no Fargate, Application Load Balancer, auto scaling e rede a partir de uma imagem e duas roles IAM, sem cobrança adicional pelo recurso (você paga os recursos AWS subjacentes).
  • AWS Lambda: compute por evento, com teto de 15 minutos por invocação e escala por requisição.
  • Amazon RDS: banco relacional gerenciado, alvo natural de replatform de banco em VM.
  • AWS CloudFormation / AWS CDK: infraestrutura como código para descrever o que já existe antes de mudar o que existe.

Caso de uso

Uma aplicação web em .NET rodando em duas instâncias EC2 que ninguém reinicia sem avisar no grupo. O deploy é feito por acesso remoto à máquina, copiando arquivos publicados. O banco é um SQL Server na mesma VPC, em instância própria, com backup por script agendado. O sistema funciona. O problema é que a cada patch de sistema operacional o time perde uma noite, o ambiente de homologação divergiu do de produção há mais de um ano e a pessoa que montou o servidor original saiu da empresa.

O caminho neste nível não é quebrar em microsserviços. É: containerizar a aplicação como está, colocar a imagem no ECR, subir em Fargate atrás de um ALB, mover o banco para RDS, e descrever tudo isso em IaC. A arquitetura lógica continua a mesma. O que muda é que o ambiente vira código, o deploy vira pipeline e o patch vira responsabilidade da AWS.

Sinais de que você está neste nível

  • Deploy exige alguém acessar um servidor, e existe uma ordem de passos que mora na cabeça de uma pessoa.
  • Você não conseguiria recriar o ambiente de produção do zero em um dia se precisasse.
  • A pergunta "qual versão está em produção?" não tem resposta imediata e verificável.

Intermediário O gargalo é de acoplamento

Aqui a operação já está razoável: existe pipeline, existe IaC, o time não apaga incêndio de servidor toda semana. O que trava agora é o desenho do sistema. Uma mudança de uma tela exige regressão do sistema inteiro. Um módulo secundário com vazamento de memória derruba a aplicação toda. Todos os times escrevem no mesmo banco, então nenhum time consegue mudar um schema sem reunião. Modernizar aqui significa separar o que precisa mudar em ritmos diferentes.

O que fazer na prática

  • Separar por fronteira de negócio e taxa de mudança, não por camada técnica. O corte útil é entre o que muda toda semana e o que muda uma vez por ano. Separar "controllers" de "services" gera dois artefatos que continuam sendo deployados juntos, e nada melhora.
  • Aplicar strangler fig com roteamento na borda. Regra por caminho no ALB ou no API Gateway envia /checkout para o serviço novo e todo o resto para o monólito. O monólito encolhe por subtração, com rollback disponível a cada passo, em vez de um big bang com data marcada.
  • Quebrar o acoplamento de dados antes do de código. Dois serviços "independentes" que escrevem na mesma tabela são um sistema só, com deploy separado e todos os riscos do distribuído sem nenhum dos benefícios. Definir dono da escrita por agregado vem antes de separar o deployable.
  • Dimensionar o custo real da mudança de banco antes de decidir por ela. Se a hipótese é sair de SQL Server, o Babelfish Compass analisa os scripts T-SQL e DDL e produz um relatório de compatibilidade detalhado, listando o que o Babelfish for Aurora PostgreSQL suporta e o que não suporta. É um utilitário standalone e open source, roda no cliente e não armazena informação sensível além do que está nos scripts de entrada. Rodar o Compass transforma "acho que dá para migrar o banco" em uma lista de itens incompatíveis. Essa lista costuma ser a informação que decide entre replatform e refactor.
  • Introduzir assincronia onde a chamada síncrona só existe por inércia. Fila (SQS) ou evento (EventBridge) entre módulos que não precisam de resposta imediata reduz o acoplamento temporal e o raio da falha. Onde há orquestração de vários passos com estado, Step Functions evita reimplementar máquina de estado dentro da aplicação.

Serviços AWS

  • Amazon API Gateway / Application Load Balancer: ponto de roteamento por caminho que viabiliza o strangler fig com corte incremental de tráfego.
  • Amazon SQS: fila gerenciada para desacoplar produtor e consumidor no tempo.
  • Amazon EventBridge: barramento de eventos para integração por publicação, sem o produtor conhecer o consumidor.
  • AWS Step Functions: orquestração de fluxos com estado, retry e compensação declarados fora do código de negócio.
  • Amazon Aurora: banco relacional compatível com PostgreSQL e MySQL. Na modalidade Aurora serverless (a documentação atual já usa esse nome, sem o "v2"), a capacidade mínima pode ser definida como 0 ACU, e a instância pausa automaticamente quando fica sem conexões de usuário pelo tempo configurado, sem cobrança de capacidade enquanto pausada. O scale-to-zero exige versão mínima do engine (Aurora PostgreSQL 13.15+, 14.12+, 15.7+, 16.3+ e Aurora MySQL 3.08+) e o retorno da pausa tem latência, o que o torna adequado para ambientes intermitentes e não para todo workload de produção.
  • Babelfish for Aurora PostgreSQL + Babelfish Compass: camada de compatibilidade T-SQL e a ferramenta de avaliação que dimensiona o esforço antes da decisão.
  • AWS DMS: replicação de dados durante a transição, permitindo cutover com janela curta.

Caso de uso

Um monólito de faturamento com cerca de 15 pessoas no time e release mensal com janela de madrugada. O sistema tem um módulo de emissão fiscal que muda toda semana por mudança de regra, e um módulo de cadastro que não muda há dois anos. Os dois são deployados juntos, então a regra fiscal nova espera a janela mensal, e a janela mensal é arriscada porque leva junto tudo o que foi mexido no mês.

O corte aqui é pela taxa de mudança: emissão fiscal sai primeiro, atrás de uma regra de path no ALB, com o próprio banco para o que é dela e evento no EventBridge avisando o monólito do que foi emitido. Antes disso, o time roda o Babelfish Compass sobre as procedures T-SQL, porque metade da regra fiscal vive em stored procedure, e o relatório é o que vai dizer se a regra viaja para o serviço novo ou se fica no SQL Server por mais um ciclo.

Sinais de que você está neste nível

  • Um deploy carrega mudanças de vários times que não têm relação entre si, e por isso todo release é uma negociação.
  • Existe pelo menos um módulo que muda toda semana preso ao ritmo de um que não muda nunca.
  • Uma falha em uma funcionalidade secundária consegue derrubar a funcionalidade principal.

Avançado O gargalo é de plataforma e governança

Neste nível o sistema já está separado e o time já entrega rápido. O problema mudou de escala: existem dezenas de serviços e vários times, cada um resolveu observabilidade do seu jeito, ninguém sabe dizer o custo de um produto específico, e o upgrade do cluster virou um projeto trimestral com dono relutante. O gargalo não está em nenhum serviço; está no caminho comum que todos os times percorrem. Modernizar aqui significa tratar a plataforma como produto interno, com contrato e dono.

O que fazer na prática

  • Construir um golden path opinativo em vez de documentação. Template de serviço que já nasce com pipeline, IaC, logging estruturado, métrica, alarme e política de IAM mínima. O caminho padrão precisa ser o mais fácil, senão a padronização vira PDF que ninguém lê.
  • Reduzir o custo recorrente de operar Kubernetes, ou assumi-lo com clareza. O decision guide oficial de containers da AWS aponta o custo estrutural: Kubernetes tem três releases maiores por ano e deprecia versões antigas, o que exige time de SRE dedicado a upgrades frequentes. EKS Auto Mode transfere parte disso para a AWS (ver quadro abaixo). Se a decisão for manter o EKS padrão, isso é legítimo, desde que o custo de time entre no orçamento em vez de aparecer como surpresa.
  • Tornar o custo visível por workload antes de tentar otimizar. Alocação por tag, cost categories e showback por time ou produto. Showback é a exposição do custo a quem o gerou, sem transferência financeira; chargeback é a cobrança efetiva entre centros de custo. Trocar os dois de nome em uma reunião com finanças custa credibilidade. Sem alocação confiável, toda discussão de otimização vira opinião.
  • Padronizar observabilidade e SLO no nível da plataforma. Log estruturado, trace propagado entre serviços e SLO por serviço com error budget. Alarme que ninguém sabe o que fazer quando dispara é ruído, e ruído treina o time a ignorar alarme.
  • Fazer governança de arquitetura recorrente, não pontual. Revisão Well-Architected por workload, com milestone a cada mudança relevante, em vez de uma avaliação única que envelhece em três meses. Detalhe na oferta desta trilha.

O quadro do EKS Auto Mode

EKS Auto Mode entrou em disponibilidade geral no re:Invent de dezembro de 2024. Ele estende o gerenciamento da AWS para além do control plane, assumindo compute, storage, rede, load balancing e autoscaling (com Karpenter) como componentes centrais em vez de add-ons que você mantém. Pontos que mudam a decisão:

  • Pode ser habilitado em cluster existente, desde que o cluster rode Kubernetes 1.29 ou superior. Não é decisão exclusiva de greenfield.
  • Os nós usam variantes de AMI Bottlerocket, tratadas como imutáveis, com software restrito, SELinux em modo enforcing e sistema de arquivos raiz somente leitura.
  • Não há acesso direto ao nó: SSH e SSM são bloqueados. Se o seu runbook de incidente inclui "entrar no nó e olhar", ele precisa ser reescrito antes, não durante o incidente.
  • Os nós têm vida máxima de 21 dias (você pode reduzir), e depois são substituídos automaticamente. Isso não é um detalhe de infraestrutura: é um requisito imposto ao workload. A aplicação precisa tolerar substituição de nó, o que significa PodDisruptionBudget bem definido, nenhum estado local no nó e desligamento gracioso. A documentação é explícita ao dizer que, até o limite de 21 dias, pode ser necessária intervenção se um PDB bloqueante impedir a atualização. Ou seja: um PDB mal configurado não adia a troca do nó para sempre, ele só transforma a troca em um chamado.

O trade-off é direto: você entrega controle sobre o nó e ganha um ciclo de patch que acontece sem projeto. Vale para quem tem workload que já é (ou pode ser) verdadeiramente stateless no nó. Não vale para quem depende de agente instalado no host ou de acesso interativo ao nó.

Serviços AWS

  • Amazon EKS com Auto Mode: Kubernetes gerenciado com compute, rede, storage e autoscaling operados pela AWS, nós Bottlerocket imutáveis e vida máxima de nó de 21 dias.
  • Karpenter: autoscaling por pod pendente, embutido como componente central no Auto Mode.
  • AWS Well-Architected Tool: registro do workload, revisão por pilar, risco classificado e milestones ao longo do ciclo de vida.
  • AWS Organizations + Cost Categories: separação por conta e alocação de custo que torna showback e chargeback possíveis.
  • Amazon CloudWatch + AWS X-Ray + ADOT: métrica, log e trace padronizados no golden path em vez de escolha por time.
  • AWS Service Catalog: distribuição de produtos aprovados de infraestrutura como caminho padrão.

Caso de uso

Uma plataforma com seis times de produto e cerca de 40 serviços em EKS. Cada time montou seu próprio Helm chart, três padrões de log convivem, o upgrade de versão do Kubernetes é empurrado há dois ciclos porque ninguém quer ser o dono da quebra, e a conta consolidada da AWS não é atribuível a nenhum produto específico, então a conversa sobre custo termina sempre em "vamos pedir para todo mundo economizar".

O trabalho aqui não é técnico no sentido de escrever código novo. É definir o workload como unidade (cada serviço de produto é um workload registrado), avaliar o EKS Auto Mode contra o requisito de vida de nó de 21 dias, publicar um template de serviço que já nasce no padrão e ligar alocação de custo por tag antes de qualquer promessa de economia.

Sinais de que você está neste nível

  • Existe mais de uma forma "oficial" de subir um serviço novo, e a escolha depende de qual time você perguntar.
  • O upgrade de versão do cluster foi adiado pelo menos uma vez porque virou projeto sem dono.
  • Ninguém consegue responder, com dado, quanto custa um produto específico por mês.
Fontes oficiais desta trilha
Trilha 3

Segurança em IA

O medo mais comum sobre IA generativa é o de que o modelo "vaze" a informação sozinho, absorvendo o que a empresa digita e devolvendo isso para outra pessoa. Na plataforma gerenciada, essa não é a parte frágil. A página oficial do Amazon Bedrock afirma que prompts e respostas não são usados para treinar os modelos de fundação da Amazon, com uma ressalva que merece leitura literal: "unless a customer consents". A garantia existe, é contratual e é verificável, mas ela cobre o comportamento do serviço, não o que a sua empresa construiu em volta dele.

O que quebra, na prática, são três descuidos de higiene bem conhecidos, aplicados a um workload novo. Shadow AI: times adotando ferramentas de IA sem que segurança saiba que existem. Permissão larga: a aplicação de IA recebe acesso amplo porque ninguém sabia ainda qual era o mínimo necessário. Ausência de registro: a chamada ao modelo acontece e não fica rastro nenhum. Nenhum dos três é um problema de IA. São problemas de governança de acesso e de auditoria, que já sabemos resolver, apontados para um componente que entrou em produção rápido demais para passar pelo processo de sempre.

Os dados de mercado sustentam o recorte. Segundo o Cost of a Data Breach Report 2025 da IBM (conduzido pelo Ponemon Institute, 600 organizações, março/2024 a fevereiro/2025), uma em cada cinco organizações relatou violação ligada a Shadow AI; entre as que reportaram violação de modelos ou aplicações de IA, 97% afirmaram não ter controles de acesso adequados para IA; e 63% das organizações violadas não tinham política de governança de IA ou ainda estavam desenvolvendo uma. O detalhe técnico que fecha o argumento vem da própria AWS: o model invocation logging do Bedrock é desabilitado por padrão. Quem subiu uma aplicação e não tocou nessa configuração está operando sem registro de prompt e resposta, por default, sem ter escolhido isso.

A trilha abaixo separa o problema em três níveis. Não é maturidade por tempo de casa, é por natureza do controle: primeiro enxergar, depois controlar na arquitetura, depois governar agentes que agem sozinhos.

Iniciante Visibilidade

Antes de qualquer controle, a pergunta é factual: quem na sua empresa chama um modelo hoje, com qual dado, e o que fica registrado disso? A maioria dos programas de segurança de IA começa errado porque começa escrevendo política sobre um uso que ninguém mapeou.

O que fazer na prática

  • Levantar o uso real antes de normatizar. Cruze fatura por serviço, CloudTrail e conversas com os times. Uso de IA aparece no billing e no plano de controle mesmo quando não aparece no inventário oficial.
  • Ligar o model invocation logging do Bedrock. Ele é desabilitado por padrão e precisa de um destino (CloudWatch Logs ou S3) configurado antes de ser habilitado. Sem ele, não há conteúdo de prompt e resposta para auditar depois.
  • Classificar cada uso com a Generative AI Security Scoping Matrix. Um funcionário usando chatbot público (Escopo 1) e uma aplicação sua sobre modelo pré-treinado (Escopo 3) têm superfícies de risco diferentes e não devem ser tratados pela mesma regra.
  • Decidir a posição sobre uso de conteúdo para melhoria de serviço. Serviços de IA da AWS têm política de opt-out centralizada no AWS Organizations. Essa é uma decisão de governança, e ela precisa ser tomada explicitamente, não herdada por omissão.
  • Publicar política de uso aceitável junto com uma alternativa sancionada. Proibir sem oferecer caminho corporativo é o que gera Shadow AI em primeiro lugar.

Serviços AWS

  • AWS CloudTrail: registra as chamadas de plano de controle (quem criou guardrail, quem alterou a configuração de logging, quem liberou acesso a modelo).
  • Amazon Bedrock model invocation logging: captura metadados de invocação e os corpos de entrada e saída; desabilitado por padrão; destinos CloudWatch Logs e S3.
  • Amazon CloudWatch Logs e Amazon S3: destino, retenção e consulta dos registros de invocação.
  • AWS Organizations (AI services opt-out policy): controle central para recusar o uso de conteúdo em melhoria de serviços de IA, por serviço ou para todos os suportados.
  • AWS Cost Explorer com tags: consumo de Bedrock na fatura é um indicador prático de uso que não passou pelo inventário.

Caso de uso

Uma empresa de serviços suspeita que a IA "ainda não chegou" na operação. Ao cruzar Cost Explorer com CloudTrail, aparecem chamadas a modelos em três contas diferentes, de times distintos, nenhuma com registro de invocação habilitado e nenhuma com política publicada. O primeiro entregável não foi bloquear nada. Foi produzir a lista: qual conta, qual time, qual dado, qual finalidade. A decisão de o que permitir veio depois, e veio informada.

Sinais de que você está neste nível

  • Você não consegue listar, com confiança, quais aplicações da sua empresa invocam um modelo hoje.
  • Consultar a configuração de logging de invocação nas suas contas retorna vazio ou você não sabe a resposta.
  • Existe conversa sobre IA na empresa, mas não existe política de uso publicada nem alternativa corporativa oficial.

Intermediário Controle na arquitetura

Aqui o uso já é conhecido e a pergunta muda: o controle está no código e na configuração, ou está na boa vontade de quem escreveu o prompt? Instrução no system prompt não é controle de segurança. Ela é sugestão para um componente probabilístico.

O que fazer na prática

  • Configurar Guardrails e aplicá-los em toda invocação, com versão fixa. Guardrail criada mas não referenciada na chamada não protege nada. Os seis componentes disponíveis são filtros de conteúdo (texto e imagem), tópicos negados, filtros de palavra, filtros de informação sensível, contextual grounding check e Automated Reasoning checks.
  • Escopar a permissão por caso de uso, não por serviço. A role da aplicação deve poder invocar o modelo específico daquele caso de uso, e não bedrock:InvokeModel em *. Restringir por ARN de modelo é o mínimo defensável.
  • Usar contextual grounding check em RAG. Ele avalia se a resposta está ancorada na fonte recuperada e se é relevante para a pergunta, o que ataca alucinação como controle de arquitetura e não como revisão manual.
  • Estender a mesma guardrail para modelos fora do Bedrock. A ApplyGuardrail API avalia entradas e saídas sem invocar o modelo de fundação, o que permite manter um único conjunto de regras mesmo com modelo hospedado em outro lugar.
  • Fechar o caminho de rede e a chave. VPC endpoints via PrivateLink para o tráfego não sair para a internet, e chave gerenciada pelo cliente no KMS onde o dado justificar.

Serviços AWS

  • Amazon Bedrock Guardrails: filtros de conteúdo por categoria (Hate, Insults, Sexual, Violence, Misconduct e Prompt Attack) com força ajustável, sobre texto e imagem.
  • Tópicos negados: até 30 por guardrail, cada um com definição de até 200 caracteres e até cinco frases de exemplo; bloqueiam tema, não palavra solta.
  • Filtros de informação sensível: bloqueiam ou mascaram PII por detecção de entidades (documento, data de nascimento, endereço) e aceitam regex customizado.
  • ApplyGuardrail API: aplica a guardrail sem invocar o FM, viabilizando o mesmo controle para modelos fora do Bedrock.
  • Automated Reasoning checks: valida respostas contra regras lógicas declaradas, indicado onde a resposta errada tem custo alto.
  • AWS IAM: escopo por ARN de modelo e condições; é onde a permissão larga é corrigida.
  • AWS KMS, AWS PrivateLink e Amazon Macie: chave gerenciada pelo cliente, caminho privado de rede e descoberta de dado sensível no S3 que alimenta a base de conhecimento.

Caso de uso

Um assistente interno responde dúvidas sobre contratos, com RAG sobre uma base documental. Três controles mudam o perfil de risco: o filtro de informação sensível mascara PII na saída, evitando que um dado pessoal presente no documento fonte seja repetido para quem não deveria vê-lo; o contextual grounding check derruba resposta que não está sustentada no trecho recuperado; e a role da aplicação enxerga apenas o índice daquele caso de uso, de modo que uma pergunta criativa não alcança documento de outra área. O prompt continua importando, mas ele deixou de ser a única linha de defesa.

Sinais de que você está neste nível

  • Você tem guardrail criada, mas não sabe afirmar se toda invocação em produção passa por ela, na versão certa.
  • A política IAM da sua aplicação de IA usa wildcard em modelo ou em ação.
  • Existe RAG em produção e a checagem de ancoragem da resposta é feita por leitura humana, quando é feita.

Avançado Agentes

Agente não é chatbot com mais passos. É software que decide sozinho qual ferramenta chamar e em que ordem, e cada ferramenta é uma permissão real em um sistema real. O risco muda de categoria: sai de "o que o modelo diz" e entra em "o que o modelo faz".

A AWS nomeia esse risco de forma direta. Na SRA para IA, a Capacidade 4 (ferramentas) descreve a escalada de privilégio que emerge quando a aplicação encadeia múltiplas ferramentas com níveis distintos de permissão: quem compromete uma ferramenta de baixo privilégio pode se apoiar na capacidade de orquestração da IA para alcançar ferramentas de privilégio maior, através de combinações não previstas. O documento observa que o risco se intensifica em cenários de agente autônomo, justamente onde a IA decide sozinha a sequência. Cada ferramenta passa na revisão isolada. O encadeamento é que não passou por revisão nenhuma.

O que fazer na prática

  • Tirar o controle do prompt e colocar em política determinística. AgentCore Policy permite escrever regras em Cedar e integra com o Gateway para interceptar cada tool call antes da execução, definindo quais ferramentas o agente acessa, quais ações pode executar e sob quais condições.
  • Modelar o encadeamento, não só a ferramenta. Avalie combinações de ferramentas de baixo privilégio que produzem efeito de alto privilégio. A SRA recomenda permission boundaries exatamente para barrar escalada por combinação não prevista.
  • Separar autenticação de entrada de autorização de saída. AgentCore Identity atua como broker de credencial, recuperando credencial em runtime sem expô-la à aplicação e sem repassar a credencial do usuário para o serviço de destino.
  • Garantir isolamento de sessão e rastro reconstruível. Sessão isolada evita contaminação entre execuções; tracing permite reconstruir a sequência exata de tool calls de um incidente, que é a pergunta que a auditoria vai fazer.
  • Rodar a Agentic AI Lens do Well-Architected. Ela existe além da Generative AI Lens e trata autonomia, prompt injection, escalada de privilégio e supervisão humana como questões arquiteturais de primeira classe.

Serviços AWS

  • Amazon Bedrock AgentCore Gateway: converte APIs, Lambdas e serviços em ferramentas compatíveis com MCP, com registro explícito de qual aplicação invoca qual ferramenta.
  • AgentCore Policy: regras em linguagem natural ou Cedar, interceptando todo tool call no Gateway antes da execução.
  • AgentCore Identity: broker de credencial com token vault cifrado por KMS, compatível com IdP existente, separando ingresso de egresso.
  • AgentCore Runtime: hospedagem serverless com isolamento de sessão em microVM (CPU, memória e filesystem separados), com término e limpeza de estado ao fim da sessão.
  • AgentCore Observability: trace do caminho de execução do agente, auditoria de saídas intermediárias e detecção de padrão anômalo de uso de ferramenta.
  • AWS Secrets Manager e IAM permission boundaries: credencial de ferramenta externa com rotação, e teto de privilégio que a role do agente não ultrapassa.

Caso de uso

Um agente de atendimento consulta pedido, escreve nota no CRM e dispara e-mail ao cliente. Cada ferramenta, isolada, é inofensiva e passou na revisão. Encadeadas, elas permitem que uma entrada manipulada leve o agente a ler o dado de um cliente, gravá-lo onde não deveria e enviá-lo para fora, sem que nenhuma permissão individual tenha sido violada. O controle que endereça isso não é um prompt melhor: é política no Gateway que barra a combinação antes da execução, permission boundary que limita o teto da role, e trace que permite reconstruir o que aconteceu.

Sinais de que você está neste nível

  • Seu agente tem acesso a ferramenta que escreve em sistema de produção ou envia comunicação para fora.
  • Se alguém perguntar o que impede o agente de executar uma ação sensível, a resposta honesta aponta para uma instrução no system prompt.
  • Você não consegue reconstruir, para uma execução específica de ontem, a sequência de ferramentas que o agente chamou e com quais parâmetros.
Fontes oficiais desta trilha
Trilha 4

Startup e AWS Activate

A startup em validação tem dois inimigos, e eles não atacam ao mesmo tempo. O primeiro é queimar caixa antes de achar o produto. O segundo é ter que reescrever tudo quando o produto finalmente aparece. O AWS Activate ataca o primeiro inimigo com crédito. Ele não faz nada contra o segundo. Quem trata os dois como o mesmo problema resolve o mais barato e adia o mais caro.

O crédito é uma anestesia contábil, e essa é a parte que quase ninguém enxerga a tempo. Enquanto ele cobre a fatura, o consumo continua acontecendo: a instância superdimensionada continua superdimensionada, o banco ocioso continua ligado, o log sem retenção continua crescendo. Nada disso dói, porque o número que chega no fim do mês está zerado ou perto disso. A conta real aparece inteira, de uma vez, no primeiro ciclo depois que o crédito expira. E esse mês costuma ser exatamente o mês em que a startup está levantando a próxima rodada, ou seja, o pior mês possível para descobrir que a arquitetura custa três vezes o que o modelo de negócio suporta.

Esta trilha trata o Activate pelo que ele é: fôlego de caixa com prazo de validade e regras próprias, não um plano de infraestrutura. Os três níveis abaixo separam o que fazer antes de pedir o crédito, o que fazer enquanto ele cobre a fatura, e o que fazer para que o dia em que ele acabar seja um evento previsto em planilha, e não uma surpresa.

Iniciante

Objetivo: não se desqualificar sozinho e não construir dívida onde ela é evitável.

O que fazer na prática

  • Verifique o plano da sua conta AWS antes de qualquer outra coisa. A escolha entre Free account plan e Paid account plan é feita no cadastro e tem consequência direta na elegibilidade a crédito promocional. Contas criadas a partir de 15/07/2025 caem nesse modelo novo; contas anteriores seguem o Free Tier legado.
  • Separe as contas por finalidade desde o primeiro dia (produção, desenvolvimento, sandbox), com AWS Organizations, mesmo com um único fundador. Refazer isso depois de ter dado e tráfego dentro é migração, não configuração.
  • Ative um orçamento e um alerta de custo antes do primeiro deploy, com AWS Budgets. Enquanto o crédito cobre a fatura, o alerta de custo é o único sinal de que o consumo existe.
  • Marque tudo com tags desde o começo (ambiente, produto, responsável). Tag é retroativa apenas para o que vem depois: gasto não marcado hoje é gasto que você não consegue explicar em nenhum relatório futuro.
  • Não deixe nada ligado sem dono. Ambiente de teste que fica de pé no fim de semana é a fonte mais comum de queima silenciosa de crédito.

Serviços AWS

  • AWS Organizations: separa contas por finalidade e consolida a cobrança na raiz.
  • AWS Budgets: define orçamento e dispara alerta por email/SNS quando o consumo passa do limiar.
  • AWS Cost Explorer: visualiza consumo por serviço, conta e tag, com granularidade diária.
  • AWS Billing and Cost Management console: mostra o saldo de crédito e a data de expiração.
  • Amazon EC2 / Amazon S3: as duas linhas que mais aparecem em fatura de startup em validação.

Caso de uso

Uma startup de SaaS B2B com dois fundadores sobe o MVP em uma única conta AWS, criada no cadastro padrão, sem prestar atenção no plano escolhido. Roda três meses, valida a hipótese e decide aplicar ao Activate para escalar. Na aplicação, esbarra no requisito de plano da conta e descobre que a conta em que está todo o produto não é a conta que deveria ter criado. O problema não foi técnico: foi uma caixa de seleção no cadastro, marcada quando ninguém estava pensando em crédito.

Sinais de que você está neste nível

  • Você não sabe dizer, sem abrir o console, se sua conta está no Free account plan ou no Paid account plan.
  • Produção, testes e experimentos convivem na mesma conta AWS.
  • Você descobre quanto gastou quando a fatura chega, não durante o mês.

Intermediário

Objetivo: fazer o crédito durar mais tempo do que a arquitetura naturalmente permitiria, sem construir nada que precise ser jogado fora depois.

O que fazer na prática

  • Elimine capacidade ociosa em vez de negociar desconto. Nesta fase o tráfego é irregular e imprevisível: o ganho vem de não pagar pelo que fica parado, não de comprar antecipado.
  • Coloque o banco de dados para escalar a zero na janela ociosa. O Aurora serverless aceita capacidade mínima de 0 ACUs, o que liga o auto-pause: sem conexão de usuário pelo intervalo configurado (de 300 segundos até um dia), a instância pausa e a cobrança de instância vai a zero. O armazenamento continua sendo cobrado, e o retorno leva tipicamente cerca de 15 segundos, mais se a pausa passar de 24 horas. Ajuste o timeout do cliente e implemente retry na conexão.
  • Saiba o que impede a pausa antes de contar com ela. RDS Proxy, replicação lógica/binlog, zero-ETL para Redshift e Aurora Global Database mantêm a instância acordada. Conexão aberta por ferramenta de desenvolvimento também impede a pausa.
  • Prefira o que cobra por requisição ao que cobra por hora ligada, enquanto o padrão de uso ainda não existe. Compute e banco sob demanda com pausa preservam crédito exatamente nas horas em que a startup não tem usuário.
  • Coloque retenção em tudo que cresce sozinho: log, backup, versão antiga em bucket. Sem política de ciclo de vida, essas linhas só sobem, e sobem para sempre.
  • Acompanhe o saldo e a data de expiração do crédito no console de Billing, e trate a expiração como um marco no roadmap, não como uma data administrativa.

Serviços AWS

  • Amazon Aurora serverless: banco relacional que escala por ACU e pausa em 0 ACU quando não há conexão de usuário.
  • AWS Lambda: cobra por invocação e duração, custa zero quando ninguém usa.
  • Amazon S3 Lifecycle: move ou expira objeto por idade, sem intervenção manual.
  • Amazon CloudWatch Logs: retenção configurável por grupo de log (o padrão é reter para sempre).
  • AWS Cost Anomaly Detection: detecta desvio de padrão de gasto e avisa antes de virar fatura.
  • AWS Compute Optimizer: aponta rightsizing com base no uso real, não no palpite do deploy inicial.

Caso de uso

Uma plataforma de agendamento tem uso concentrado em horário comercial e praticamente nenhum tráfego à noite, no fim de semana e em feriado. O banco provisionado fica ligado 24 por 7 e responde pela maior fatia do consumo, mas isso está invisível porque o crédito absorve tudo. Ao migrar para Aurora serverless com mínimo de 0 ACU e auto-pause, a instância passa a pausar nas janelas ociosas, e o crédito para de ser consumido por horas em que a empresa não tem cliente ativo. O crédito não aumentou: o desperdício por hora ociosa diminuiu, e o prazo até a expiração passou a cobrir mais experimentos.

Sinais de que você está neste nível

  • Seu crédito está ativo e você não sabe dizer qual serviço consome a maior fatia dele.
  • Você tem banco ou instância ligado em horário sem nenhum usuário.
  • Alguém já sugeriu comprar Savings Plans ou Reserved Instances antes de a curva de uso estabilizar.

Avançado

Objetivo: chegar ao fim do crédito com a fatura já modelada, a unidade econômica conhecida e a decisão de compromisso tomada com dado, não com esperança.

O que fazer na prática

  • Projete a fatura pós-crédito com antecedência de pelo menos um trimestre. Pegue o consumo atual, remova a camada de crédito e responda: com o tráfego de hoje, quanto custa o mês seguinte à expiração? Compare com a receita e com o runway. Esse número é uma entrada de board, não um detalhe de infraestrutura.
  • Padronize o dado de custo em FOCUS 1.0 via Data Exports. O FOCUS é a especificação aberta da FinOps Foundation que normaliza colunas e valores de custo e uso, o que permite comparar AWS com outros provedores e com SaaS sem escrever normalização própria. Quando precisar do detalhe exclusivo da AWS, como Split Cost Allocation para ECS/EKS, use o CUR 2.0 ao lado.
  • Meça custo por tenant e por feature, não só por serviço. Custo por serviço explica a AWS; custo por tenant e por feature explica o negócio e responde as perguntas que importam: qual cliente dá prejuízo, qual funcionalidade não paga o próprio consumo, qual plano está mal precificado. Com Organizations, tags e allocation sobre dado FOCUS, isso vira relatório recorrente.
  • Trate IA como linha de produto com unidade econômica própria. Token de inferência é custo variável que escala com uso, e não com receita, a menos que você faça essa amarração explícita. Meça custo por chamada, por usuário e por conversa, defina limite de consumo por conta e decida se a feature se paga antes de colocá-la no plano padrão.
  • Assuma compromisso apenas depois que o padrão de consumo estabilizar. Savings Plans e Reserved Instances trocam flexibilidade por desconto em cima de uma baseline. Sem baseline estável, o compromisso vira custo afundado em capacidade que você não usa. Note também que o pagamento antecipado desses instrumentos está fora do que o crédito promocional cobre.
  • Implemente showback antes de chargeback. Mostre a cada squad ou linha de produto o custo que ela gera, sem cobrar internamente ainda. Showback muda comportamento sem criar disputa política; chargeback só funciona quando o dado já é confiável e aceito.

Serviços AWS

  • AWS Data Exports (FOCUS 1.0): exporta custo e uso no schema aberto FOCUS para S3.
  • AWS Cost and Usage Report 2.0: detalhe máximo de custo e uso na granularidade da AWS.
  • Amazon Athena / Amazon QuickSight: consulta e visualização sobre o export em S3, sem infraestrutura de BI dedicada.
  • AWS Cost Categories + Cost Allocation Tags: agrupa custo por tenant, produto ou feature.
  • Amazon Bedrock: inferência gerenciada, com custo por token que precisa entrar na conta de margem do produto.
  • AWS Compute Optimizer + Savings Plans recommendations: informa a baseline antes da decisão de compromisso.

Caso de uso

Um SaaS multi-tenant com plano único descobre, ao alocar custo por tenant sobre dado padronizado em FOCUS, que uma minoria de contas grandes concentra a maior parte do consumo de compute e inferência, enquanto paga o mesmo que as contas pequenas. A conclusão não é técnica: é de pricing. A empresa passa a ter, na mesma tabela, o custo por tenant, o custo por feature e a projeção da fatura sem crédito. Com isso, entra na negociação da rodada com margem por cliente conhecida, em vez de com um custo agregado que não explica nada.

Sinais de que você está neste nível

  • Você sabe a data de expiração do crédito, mas não sabe qual será a fatura no mês seguinte a ela.
  • Sua receita cresce por cliente, mas você não consegue dizer o custo de servir cada cliente.
  • Você tem feature de IA em produção sem custo por chamada medido e amarrado ao plano.
Fontes oficiais desta trilha
Trilha 5

Migração

Copiar os bits tem ferramenta madura pra isso. A engine de replicação da AWS trabalha em nível de bloco, mantém o servidor de origem servindo usuários enquanto replica, permite testar o destino sem tocar na produção e concentra a indisponibilidade numa janela curta de cutover. Ela carrega certificação FedRAMP High, HIPAA, PCI DSS, ISO e SOC 1/2/3, e roda em todas as regiões comerciais. Mover uma carga de trabalho pra AWS é um problema com solução conhecida e caminho documentado.

O que define o resultado do projeto é outra coisa: a decisão de portfólio. Cada carga de trabalho recebe um destino entre os 7 Rs, e o conjunto dessas decisões determina o custo, o prazo e o risco da migração inteira. Aposentar um servidor que ninguém usa vale mais que migrá-lo com perfeição técnica. Migrar antes da carga da qual ela depende quebra a onda seguinte. Escolher refatorar dez aplicações ao mesmo tempo transforma uma migração em dez projetos de engenharia simultâneos. A própria AWS recomenda fazer rehost, relocate ou replatform primeiro e modernizar depois que a migração termina, justamente porque a decisão errada de portfólio custa mais do que qualquer ganho técnico na execução.

Essa decisão se toma com inventário, não com achismo. Utilização real de CPU e memória, dependências de rede, licenças em uso, quem consome cada aplicação: são esses dados que classificam cada carga, montam as ondas e sustentam o business case. A trilha abaixo separa os três níveis dessa competência, do inventário até a modernização pós-migração.

Iniciante Inventário, dependências, retire e business case

Este nível responde uma pergunta só: o que você tem, e o que disso merece ir pra nuvem. Antes de escolher ferramenta de replicação, você precisa de uma lista defensável.

O que fazer na prática

  • Levantar o inventário com dado de utilização, não com planilha de memória. Colete CPU e memória médias por servidor ao longo de um período representativo (a AWS trabalha com janelas de 90 dias na avaliação de aplicações a aposentar). Planilha herdada não sabe o que está ligado.
  • Mapear dependências de rede antes de agrupar qualquer coisa. As conexões entre servidores revelam a aplicação real, que quase nunca é a do organograma. É a dependência que define a onda: migrar A sem B derruba as duas.
  • Aplicar o retire primeiro. Aplicação com uso médio de CPU e memória abaixo de 5% é uma aplicação zumbi, candidata natural a desligar. Entre 5% e 20% ao longo de 90 dias, a AWS classifica como aplicação ociosa. Sem conexão de entrada nos últimos 90 dias é outro sinal forte. Cada servidor aposentado é um servidor que não precisa de migração, de teste, de cutover nem de licença.
  • Separar o retain com critério escrito. Residência de dados, dependência de hardware especializado sem equivalente em nuvem, sistema recém atualizado, aplicação com SaaS previsto pelo fornecedor: são motivos legítimos de manter onde está. Retain decidido é diferente de retain por omissão.
  • Montar o business case com dado de utilização e de licença. O custo de destino depende do que a carga realmente consome e do que você paga de licença hoje. Business case construído sobre o tamanho provisionado on-premises superdimensiona a nuvem e mata o projeto na aprovação.

Atenção: o ponto de partida mudou, e a maior parte do conteúdo em português ainda não atualizou

Se um artigo, curso ou consultor manda você começar pelo AWS Migration Hub, esse conteúdo está desatualizado para quem começa agora.

O detalhe que expõe o tamanho da defasagem: a própria Prescriptive Guidance da AWS ainda lista App2Container e Porting Assistant for .NET como ferramentas de replataforma na página das estratégias de migração, mesmo depois do fechamento. Se a documentação oficial carrega recomendação vencida, conteúdo de terceiro reciclado carrega mais ainda. Verifique o estado de cada serviço na página de disponibilidade dele antes de desenhar arquitetura em cima.

O que continua valendo: o Migration Evaluator segue aberto a novos clientes e continua sendo caminho oficial pro business case. E o AWS Transform MGN é o mesmo Application Migration Service de sempre, só renomeado (ver nível Intermediário).

Serviços AWS

  • AWS Transform: serviço agêntico de descoberta, planejamento e execução; é o caminho oficial pra quem começa hoje, cobrindo avaliação de prontidão, análise de ambiente VMware e mapeamento automatizado de dependências, sem custo adicional de uso.
  • Migration Evaluator: monta o business case combinando descoberta on-premises (provisionamento de hardware, configuração de SQL Server, utilização real) com recomendações e custo projetado, separando infraestrutura de licença.
  • AWS Cloud Adoption Readiness Tool (CART): autoavaliação de prontidão com um subconjunto das perguntas do MRA, útil pra medir a temperatura antes de mobilizar o time.
  • AWS Cloud Adoption Framework (CAF): não é ferramenta, é o vocabulário de prontidão em seis perspectivas (business, people, governance, platform, security, operations) que organiza as lacunas.

Caso de uso

Uma indústria de médio porte pediu orçamento pra migrar 140 servidores de um datacenter próprio. O inventário com utilização real mostrou que 30 estavam abaixo de 5% de CPU e memória, sem nenhuma conexão de entrada em 90 dias: sistemas de um ERP substituído anos antes, que ninguém desligou por medo. Outros 12 rodavam uma aplicação cujo fornecedor já tinha versão SaaS contratada em outro departamento. O escopo real de migração caiu bem abaixo dos 140 antes de qualquer bit ser copiado, e o business case foi aprovado sobre o consumo real, não sobre o tamanho provisionado.

Sinais de que você está neste nível

  • Você tem uma lista de servidores, mas não tem dado de utilização nem de dependência por trás dela.
  • O business case da migração está sendo feito pelo tamanho provisionado on-premises (vCPU e RAM alocados), sem consumo real.
  • Ninguém consegue afirmar com segurança quais aplicações podem ser desligadas hoje.

Intermediário O R com racional registrado, ondas, banco e ensaio de cutover e rollback

Aqui o inventário vira plano. A competência deste nível não é conhecer os 7 Rs de cor: é conseguir defender, por escrito, por que cada carga recebeu o R que recebeu, e conseguir voltar atrás quando o cutover der errado.

O que fazer na prática

  • Classificar cada carga em um dos 7 Rs com racional registrado. São eles, na nomenclatura oficial: retire, retain, rehost, relocate, repurchase, replatform, refactor ou re-architect. Para migrações grandes, os comuns são rehost, replatform, relocate e retire. Registre a evidência que sustentou a escolha (utilização, dependência, licença, requisito de compliance) junto com o R. Sem o racional, a decisão vira opinião e é rediscutida a cada reunião.
  • Montar as ondas pela dependência, não pela criticidade. Cargas que conversam entre si migram juntas ou em ondas adjacentes. Latência entre a aplicação em AWS e o banco que ficou on-premises é o defeito clássico de onda mal montada. Comece por ondas de baixo acoplamento pra calibrar o processo antes das cargas difíceis.
  • Tratar banco de dados como trilha própria, com cronograma próprio. O banco tem replicação contínua, validação de dados, conversão de schema e janela de cutover que raramente coincidem com as do servidor de aplicação. Migração homogênea (mesmo engine) e heterogênea (engine diferente) são projetos de tamanho diferente: a heterogênea inclui conversão de schema e de código, e o que a ferramenta não converte automaticamente vira trabalho manual de engenharia.
  • Ensaiar o cutover em ambiente de teste antes da janela real. A engine de replicação permite lançar instâncias de teste sem impacto na origem, quantas vezes forem necessárias. Cutover ensaiado uma vez é palpite; ensaiado até o roteiro ficar previsível é plano.
  • Ensaiar o rollback com o mesmo rigor do cutover. A pergunta que decide a janela é: se em 40 minutos a aplicação não subir íntegra, como voltamos, quem decide e qual é o prazo limite pra decidir. Defina o critério de aborto, o responsável e o horário de corte antes de entrar na janela. Durante o rehost a origem continua no ar, o que dá margem de volta, mas essa margem precisa de roteiro testado, não de improviso às 3h da manhã.

Serviços AWS

  • AWS Transform MGN: o Application Migration Service (MGN) foi renomeado em 08/06/2026; mesmas APIs, mesma engine de replicação, mesmas certificações, disponível em todas as regiões comerciais e nas duas do GovCloud (US). É rebrand, não deprecação: seu conhecimento e sua automação de MGN continuam válidos.
  • AWS Transform (workflow agêntico): alternativa ao console do MGN em que agentes conduzem descoberta, planejamento de ondas, preparo de landing zone e rehost ou containerização, com aprovação humana nos pontos críticos.
  • AWS Database Migration Service (DMS): migra banco com replicação contínua via CDC, mantendo origem e destino em sincronia até o cutover, em cenário homogêneo ou heterogêneo.
  • AWS Schema Conversion Tool / DMS Schema Conversion: converte schema e código de banco quando o engine de destino muda, e aponta o que exige conversão manual.
  • Migration Evaluator: entrega dado por servidor e por SQL Server, que sustenta tanto a escolha do R quanto o corte de licença na onda.

Caso de uso

Um provedor de serviços com 60 servidores dividiu o portfólio em quatro ondas. O time levou o rehost de duas aplicações internas na primeira onda pra calibrar o roteiro, e a lição veio no ensaio: o cutover do banco precisava de 3 horas a mais que o da aplicação, porque a validação dos dados só terminava depois. A onda foi redesenhada com a trilha de banco em cronograma separado e um ponto de decisão de rollback definido no meio da janela. Nas ondas seguintes, o ensaio de rollback pegou uma regra de firewall que só existia no ambiente de origem e teria derrubado a integração com o parceiro logo após o corte.

Sinais de que você está neste nível

  • Você já classificou as cargas nos 7 Rs, mas o racional de cada escolha vive na cabeça de alguém, não num documento.
  • As ondas foram montadas por criticidade ou por área da empresa, e não pelo mapa de dependências.
  • O plano de cutover existe e está ensaiado, mas o de rollback nunca foi testado de ponta a ponta.

Avançado Modernizar depois de migrar, refactor por demanda de negócio e licenciamento como vetor

O erro caro deste nível é tratar modernização como parte da migração. A AWS é explícita: refatorar não é recomendado em migrações grandes, porque modernizar durante a migração é a estratégia mais complexa e cara, e fica complicado de gerenciar em muitas aplicações ao mesmo tempo. A recomendação oficial é fazer rehost, relocate ou replatform e modernizar depois que a migração terminar; em migração grande, refatorar só quando as outras estratégias não forem opção aceitável.

O que fazer na prática

  • Separar a migração da modernização em dois projetos com aprovação própria. Aplicação já rodando em nuvem é mais fácil de otimizar e de re-arquitetar, porque a integração com serviços AWS e a gestão da carga ficam ao alcance. Modernizar depois não é adiar valor: é retirar risco do caminho crítico da migração.
  • Refatorar só com demanda de negócio nomeada. Os casos que a AWS reconhece são específicos: mainframe que não atende mais a demanda ou custa caro demais pra manter, monolito que já trava a entrega de produto, aplicação legada sem ninguém que saiba mantê-la ou sem código-fonte disponível, aplicação difícil de testar com cobertura baixa, e separação de tabelas por exigência de compliance. Se a justificativa do refactor não cabe em uma dessas, ela provavelmente é preferência técnica, e preferência técnica não paga o custo do refactor.
  • Tratar licenciamento como vetor de decisão, não como detalhe do fim. A licença muda o R. Sair de Windows pra Linux, portar .NET Framework pra .NET multiplataforma, trocar um SQL Server autogerido por serviço gerenciado ou levar a carga pra processadores Graviton são decisões de replataforma que mexem direto na conta de licença. O modelo de licenciamento do fornecedor também define se a carga pode rodar em hardware compartilhado ou precisa de host dedicado, e isso muda o desenho da onda.
  • Escolher o destino de modernização pela carga, não pela moda. Container, serviço gerenciado e serverless resolvem problemas diferentes. Mover VM pra container sem mudar código é replataforma; quebrar o monolito em serviços é refactor. Chamar os dois de "modernização" na mesma frase é o que estoura cronograma.
  • Revalidar o estado dos serviços de modernização antes de padronizar ferramenta. As ferramentas .NET clássicas (Porting Assistant, App2Container, Toolkit for .NET Refactoring, Microservice Extractor) estão fechadas a novos clientes desde 07/11/2025, com AWS Transform como sucessor. Padronizar automação em cima de ferramenta fechada a novos clientes cria dívida no dia um.

Serviços AWS

  • AWS Transform: cobre modernização de .NET pra .NET multiplataforma pronto pra Linux, migração de VMware pra EC2 e modernização de mainframe IBM z/OS e Fujitsu GS21, com agentes conduzindo descoberta, planejamento e execução.
  • AWS Graviton: processadores próprios da AWS, alvo comum de replataforma quando a carga aceita mudança de arquitetura e a conta de licença ou de compute pesa.
  • Amazon RDS e Amazon Aurora: destino de replataforma pra banco autogerido, transferindo patch, backup e alta disponibilidade pro serviço gerenciado.
  • Amazon ECS, Amazon EKS e AWS Fargate: destinos de containerização, escolhidos pelo modelo operacional que o time consegue sustentar, não pelo mais moderno.
  • AWS License Manager: rastreia licenças e aplica regras de uso, incluindo cenários de BYOL que exigem host dedicado.

Caso de uso

Uma empresa de logística concluiu o rehost de um ERP em .NET Framework sobre Windows Server e só então abriu o projeto de modernização. A análise de licença mostrou que a conta de Windows e SQL Server era o item dominante do custo de destino, e a demanda de negócio existia e era nomeada: o time não conseguia entregar mudança no módulo de rastreamento em menos de um trimestre. A empresa portou a aplicação pra .NET multiplataforma sobre Linux e levou o banco pra serviço gerenciado, mantendo três módulos periféricos como estavam por não terem demanda de negócio que justificasse o trabalho. Se essa mesma sequência tivesse sido tentada durante a migração, o projeto teria virado dois projetos concorrentes disputando o mesmo time e a mesma janela.

Sinais de que você está neste nível

  • As cargas já estão em AWS e a discussão agora é sobre qual serviço gerenciado assume qual componente.
  • O custo de licença já apareceu como item dominante em alguma conta e passou a influenciar decisão de arquitetura.
  • Existe pressão pra refatorar, e o time consegue distinguir os casos com demanda de negócio real dos que são preferência técnica.
Fontes oficiais desta trilha
Trilha 6

Custos e FinOps

A fatura não sobe por acaso. Ela sobe porque alguém subiu um ambiente de teste em outubro e ninguém desligou, porque o volume que era temporário virou permanente, porque o log não tem retenção, porque a instância foi dimensionada no dia do deploy com o palpite mais seguro possível e nunca mais foi revisitada. Nenhuma dessas decisões foi errada isoladamente. Cada uma delas foi tomada por alguém competente, com pressa, resolvendo um problema real. O que acontece é que decisão de infraestrutura é acumulativa e quase nunca tem data de revisão. Um ano depois, a fatura é a soma de trezentas decisões pequenas, e ninguém no time consegue explicar mais do que umas dez.

Por isso o primeiro problema de custo nunca é preço, é visibilidade. Antes de negociar desconto, cortar recurso ou escolher instância mais barata, é preciso responder uma pergunta aparentemente trivial: quem gastou o quê, e por quê. O AWS Well-Architected trata isso como área própria dentro do pilar de Otimização de Custos, chamada Expenditure and usage awareness, e a ordem importa. Quem tenta otimizar sem atribuição corta o que é visível em vez do que é caro, mexe onde dói menos politicamente em vez de onde vaza mais dinheiro, e descobre três meses depois que o desperdício continuou intacto porque estava numa conta que ninguém olhava. Otimização sem visibilidade não é otimização, é chute com autoridade.

Duas coisas mudaram essa conversa recentemente, e ambas são específicas de quem está lendo isto. A primeira é o câmbio: se sua empresa tem CNPJ brasileiro, quem fatura é a Amazon AWS Serviços Brasil Ltda. (AWS SBL), a fatura sai em real, mas o preço de todos os serviços continua sendo definido em dólar no console, e a conversão usa a taxa da data de emissão da fatura. Isso significa que sua fatura em BRL pode subir num mês em que seu consumo técnico não mudou absolutamente nada. Sua engenharia não tem controle sobre essa variável, mas seu planejamento precisa saber que ela existe. A segunda é a IA: token de inferência é custo variável que escala com uso, não com receita, e os controles nativos de custo da AWS foram construídos para um mundo onde o gasto sobe devagar. Eles são lentos por natureza, e adiante fica claro por que isso importa mais para IA do que para qualquer outra linha da fatura.

Iniciante

Objetivo: enxergar a fatura durante o mês, e não quando ela chega.

O que fazer na prática

  • Ligue o Cost Explorer e aceite que ele é uma via de mão única. Ele mostra até 13 meses de histórico, o mês corrente e projeção para os 18 meses seguintes. A interface não é cobrada, mas cada requisição paginada da API custa US$ 0,01, e depois de habilitado ele não pode ser desabilitado. Habilite hoje: o histórico só começa a ser preparado a partir do momento em que você liga.
  • Ative tags de alocação de custo antes de precisar delas. Aplicar a tag no recurso não basta: a tag precisa ser ativada separadamente no console de Billing pela conta de gerenciamento, e pode levar até 24 horas para aparecer. Comece com um conjunto pequeno que você consiga sustentar: ambiente, produto, responsável. Tag que ninguém aplica com disciplina é pior que tag nenhuma, porque cria uma falsa sensação de cobertura.
  • Saiba o que o backfill de tag resolve e o que ele não resolve. A conta de gerenciamento pode retroagir a ativação de tags por até doze meses, uma vez a cada 24 horas. O detalhe que pega todo mundo: o backfill retroage a ativação, não a marcação. Se a tag não estava fisicamente no recurso naquele mês, não existe valor para recuperar. Gasto que passou sem tag é gasto que você nunca vai conseguir atribuir.
  • Crie um orçamento com alerta de gasto real e de gasto projetado. O AWS Budgets avisa tanto depois de estourar quanto antes, com base em previsão. O alerta de previsão é o que dá tempo de agir; o de gasto real é o que confirma que você não agiu a tempo.
  • Ligue o Cost Anomaly Detection e leia a letra miúda dele. Ele usa aprendizado de máquina para detectar desvio de padrão e aponta a causa raiz por serviço, conta, região ou tipo de uso. Ele também leva até 24 horas para detectar uma anomalia depois que o uso aconteceu, e precisa de 10 dias de histórico antes de monitorar um serviço novo.
  • Não confunda a fatura em real com o preço em dólar. O console mostra USD, a AWS SBL emite em BRL, e a fatura traz o valor em dólar, o valor em real e a taxa aplicada. Quando a fatura subir, a primeira pergunta é se subiu o consumo ou a taxa, e a resposta está na própria fatura.

Serviços AWS

  • AWS Cost Explorer: visualiza custo e uso por serviço, conta e tag, com 13 meses de histórico e projeção de 18 meses.
  • AWS Budgets: define orçamento de custo ou uso e dispara alerta por email ou SNS no gasto real e no projetado.
  • AWS Cost Anomaly Detection: detecta desvio de padrão de gasto por aprendizado de máquina e aponta a causa raiz.
  • Cost Allocation Tags: transforma tag de recurso em dimensão de custo nos relatórios de billing.
  • AWS Organizations: separa contas por finalidade e consolida a cobrança, criando a primeira fronteira de atribuição.
  • AWS Billing and Cost Management console: mostra a fatura, a taxa de câmbio aplicada e a NFS-e emitida pela AWS SBL.

Caso de uso

Uma empresa de software com cerca de quarenta pessoas recebe a fatura e percebe que ela cresceu de forma perceptível em relação ao mês anterior. Ninguém lançou funcionalidade nova, o número de clientes é o mesmo, e o time de engenharia não fez deploy relevante no período. A discussão consome duas reuniões e termina sem conclusão, porque a conta é uma só, os recursos não têm tag, e o Cost Explorer foi habilitado na semana passada, o que significa que não há histórico para comparar. A empresa acaba fazendo o que quase toda empresa nessa situação faz: escolhe o recurso mais caro da lista e pergunta se dá para diminuir. É a pergunta errada, feita sobre o dado errado, porque o dado certo nunca foi coletado. O custo do mês não foi o problema. O problema foi não ter como responder.

Sinais de que você está neste nível

  • Você descobre quanto gastou quando a fatura chega, não durante o mês.
  • Você não consegue dizer, sem abrir o console e investigar, qual produto ou time gerou qual fatia da fatura.
  • Sua conta AWS tem recursos sem tag, ou tem tags que existem mas nunca foram ativadas no console de Billing.

Intermediário

Objetivo: atribuir custo à estrutura real da empresa e eliminar desperdício, antes de discutir desconto.

O que fazer na prática

  • Use Cost Categories para mapear a fatura na estrutura da empresa, não na da AWS. Você cria regras que agrupam custo por conta, serviço, região, tag, tipo de uso ou entidade de faturamento, e o resultado vira uma dimensão nova no Cost Explorer, no Budgets, no CUR e no Cost Anomaly Detection. Duas propriedades importam: a regra de inherited value deriva o valor dinamicamente de uma chave de tag, o que salva quem tem cobertura de tag parcial, e as categorias valem desde o início do mês corrente, mesmo que você as crie no dia 15.
  • Distribua custo compartilhado com regra explícita, não com rateio de planilha. Cluster comum, NAT Gateway, observabilidade e conta de rede não pertencem a nenhum produto e pertencem a todos. As regras de split charge das Cost Categories aplicam esse rateio no próprio dado de custo. Rateio que mora numa planilha na máquina de alguém não sobrevive à segunda pessoa que discorda dele.
  • Faça rightsizing com dado de uso, e escolha o lookback conscientemente. O Compute Optimizer analisa métricas reais e recomenda para EC2, Auto Scaling groups, volumes EBS, funções Lambda, tarefas ECS no Fargate e bancos RDS e Aurora. O período de análise padrão é de 14 dias, com opções de 32 e 93 dias. Isso não é detalhe: workload com sazonalidade mensal ou fechamento trimestral avaliado em janela de 14 dias gera recomendação que quebra no pico.
  • Centralize as recomendações no Cost Optimization Hub em vez de somá-las manualmente. Ele consolida recomendações de rightsizing, recurso ocioso, Savings Plans e Reserved Instances entre contas e regiões, considera seus termos comerciais atuais e, o ponto que mais importa, deduplica economias sobrepostas: a mesma instância EC2 costuma aparecer numa recomendação de rightsizing e numa de recurso ocioso, e somar as duas produz um número que não existe. Está disponível sem custo adicional.
  • Padronize o dado de custo em FOCUS via Data Exports. O FOCUS é a especificação aberta da FinOps Foundation que normaliza colunas e valores de custo, permitindo comparar AWS com outro provedor ou com SaaS sem escrever normalização própria. Vale saber o estado real: o FOCUS 1.0 está em GA desde novembro de 2024, e o FOCUS 1.2 entrou em GA em novembro de 2025 mantendo compatibilidade com a estrutura de quatro colunas de custo do 1.0. Nem toda lacuna de conformidade foi fechada na GA, e a AWS publica quais permanecem: leia antes de assumir portabilidade total.
  • Implemente showback antes de chargeback. Showback mostra a cada time o custo que ele gera. Chargeback debita esse custo no orçamento dele. São coisas diferentes, e a ordem não é negociável: chargeback sobre dado que o time não confia vira disputa sobre a metodologia, não sobre o gasto, e queima a credibilidade do programa inteiro logo no primeiro mês.
  • Corte o que cresce sozinho antes de comprar desconto. Log sem retenção, snapshot órfão, volume desanexado, versão antiga em bucket, ambiente de homologação ligado no fim de semana. Comprometer-se com um ano de desconto sobre desperdício estrutural é financiar o desperdício com contrato.

Serviços AWS

  • AWS Cost Categories: agrupa custo por regra na estrutura da empresa e vira dimensão no Cost Explorer, Budgets, CUR e Anomaly Detection.
  • AWS Compute Optimizer: recomenda rightsizing e identifica recurso ocioso com base em métrica de uso real, com lookback de 14, 32 ou 93 dias.
  • AWS Cost Optimization Hub: consolida e deduplica recomendações de custo entre contas e regiões, sem custo adicional.
  • AWS Data Exports (FOCUS 1.0 e 1.2): exporta custo e uso no schema aberto FOCUS para o S3, na região US East (N. Virginia), cobrindo dados de todas as regiões comerciais.
  • AWS Cost and Usage Report 2.0: detalhe máximo na granularidade da AWS, para quando o FOCUS não expõe a coluna proprietária de que você precisa.
  • Amazon Athena e Amazon QuickSight: consulta e visualização sobre o export em S3, sem infraestrutura de BI dedicada.
  • AWS Trusted Advisor: checagens de otimização de custo, disponíveis nos planos de suporte pagos (Business Support+, Enterprise Support ou AWS Unified Operations); o plano Basic dá acesso apenas às checagens de Service Limits e a algumas de segurança e tolerância a falhas.

Caso de uso

Uma empresa com seis squads e uma única conta AWS decide que precisa reduzir custo, e a primeira proposta na mesa é comprar Savings Plans, porque alguém viu que o desconto chega a 72%. Antes disso, o time monta Cost Categories derivando valor da chave de tag de produto, aplica split charge para ratear a conta de rede e o cluster compartilhado, e roda o Compute Optimizer com lookback de 93 dias por causa do pico de fechamento mensal. O mapa que aparece muda a conversa: uma fatia relevante do compute está em ambiente de homologação que não tem uso fora do horário comercial, e dois dos maiores volumes EBS estão desanexados desde uma migração antiga. Nada disso é problema de preço, é problema de recurso ligado sem propósito. Comprar compromisso de um ano antes desse mapa teria congelado o desperdício dentro do contrato, e a empresa estaria pagando com desconto por capacidade que não deveria existir.

Sinais de que você está neste nível

  • Você tem tags e Cost Explorer funcionando, mas não consegue dizer o custo de um produto ou squad sem exportar para planilha e fazer conta na mão.
  • Alguém já propôs comprar Savings Plans ou Reserved Instances antes de existir um inventário de recurso ocioso.
  • Você soma economias de recomendações diferentes e chega a um número que ninguém consegue reconciliar com a fatura.

Avançado

Objetivo: comprometer capital com dado, governar de forma contínua e manter o custo de IA sob controle no código.

O que fazer na prática

  • Entenda a diferença real entre Savings Plans e Reserved Instances, porque não é desconto. Nos dois casos você troca flexibilidade por preço, e nenhum dos dois é um recurso: é um desconto aplicado sobre uso que casa com certos atributos. A diferença está no objeto do compromisso. Savings Plans comprometem um valor em dólar por hora; Reserved Instances comprometem uma configuração específica de instância (tipo, região, tenancy, plataforma). A tabela oficial de comparação mostra os tetos publicados pela AWS: Compute Savings Plans até 66% sobre On-Demand, aplicando automaticamente entre famílias, tamanhos, regiões, sistemas operacionais e também sobre Fargate e Lambda; EC2 Instance Savings Plans até 72%, presos a uma família dentro de uma região. Os equivalentes em RI são Convertible (até 66%) e Standard (até 72%). A própria documentação de EC2 recomenda Savings Plans no lugar de Reserved Instances. Trate esses percentuais como teto de mecânica de preço, não como expectativa.
  • Conheça as três assimetrias que decidem entre Savings Plans e RI na prática. Primeira, capacidade: Savings Plans não reservam capacidade, RI regional também não, e só o RI zonal reserva capacidade numa AZ específica. Se a necessidade é garantia de capacidade, o instrumento é On-Demand Capacity Reservation, e o Savings Plan se aplica por cima dela. Segunda, saída: Savings Plans não podem ser cancelados durante o prazo e não têm mercado secundário, enquanto RI Standard pode ser vendido no Reserved Instance Marketplace. Compromisso sem porta de saída é decisão diferente de compromisso com porta de saída, e isso raramente entra na planilha de comparação. Terceira, cobertura: Savings Plans não se aplicam a uso Spot nem a uso já coberto por RI.
  • Use Spot onde a interrupção é uma característica do workload, não uma exceção tolerada. A AWS publica desconto de até 90% sobre On-Demand para capacidade ociosa, e o preço dessa mecânica é a interrupção. Isso funciona para processamento em lote, CI/CD, workload containerizado com réplica e ambiente de teste. Não funciona porque alguém decidiu que o banco de produção aguenta.
  • Governe cobertura e utilização como métrica contínua, não como evento de compra. O Budgets suporta budgets específicos de utilização e cobertura de Savings Plans e de RI, com alerta quando a utilização cai abaixo do limiar. Compromisso comprado e esquecido vira capacidade paga e não usada, que é a forma mais silenciosa de desperdício, porque aparece na fatura como desconto.
  • Meça unidade econômica, não só custo por serviço. Custo por serviço explica a AWS. Custo por tenant, por transação e por funcionalidade explica o negócio e responde às perguntas que decidem preço: qual cliente dá prejuízo, qual funcionalidade não paga o próprio consumo, qual plano está mal precificado. Sobre dado FOCUS com Cost Categories, isso vira relatório recorrente em vez de investigação pontual.

Custo de IA sob controle no código

Este é o ponto em que a prática da RFX diverge do manual, e a razão é técnica. Os controles nativos de custo da AWS são projetados para gasto que sobe devagar, e todos eles são retrospectivos. O Budgets atualiza até três vezes por dia, com 8 a 12 horas entre atualizações, e a própria documentação avisa que existe atraso entre incorrer na cobrança e receber a notificação. O Cost Anomaly Detection leva até 24 horas para detectar uma anomalia depois do uso. Para uma frota de EC2, essa latência é irrelevante, porque instância não triplica sozinha em uma tarde. Para um endpoint de inferência exposto na internet, com loop de agente ou retry mal configurado do outro lado, vinte e quatro horas é uma eternidade. Quando o alerta chega, o gasto já aconteceu inteiro.

Existe um detalhe ainda menos conhecido, e ele é específico de IA. O Cost Anomaly Detection não monitora produtos de terceiros do AWS Marketplace, e isso inclui explicitamente modelos Claude da Anthropic no Amazon Bedrock, que aparecem na fatura sob a entidade de faturamento "Anthropic, PBC", além de qualquer modelo publicado via Bedrock Marketplace. Ou seja: o serviço que a maioria das empresas liga achando que está protegida contra disparada de gasto é justamente o que não cobre a linha de IA. A recomendação da própria AWS para esse caso é usar Budgets com filtro de Billing entity. Quem não sabe disso tem um monitor de anomalia ligado, um falso senso de cobertura, e nenhum alerta na linha que mais pode disparar.

A conclusão prática é que controle de custo de IA precisa morar no código, onde a decisão de gastar é tomada, e não apenas no console, onde ela é contabilizada horas depois.

  • Implemente budget e kill-switch por contador, no caminho da requisição. A API do Bedrock devolve, em toda resposta, um objeto TokenUsage com inputTokens, outputTokens, totalTokens e, quando há cache de prompt, cacheReadInputTokens e cacheWriteInputTokens. Isso é dado disponível no instante da chamada, não no dia seguinte. Acumule esse valor num contador atômico (é para isso que serve o UpdateItem com ADD do DynamoDB), com janela e TTL, e faça a integração recusar a chamada quando o teto da janela for atingido. O kill-switch precisa ser síncrono e anterior à chamada. Alerta que chega depois do gasto é relatório, não controle. É assim que os backends da própria RFX operam.
  • Defina limite de token de entrada e de saída por integração, explicitamente. Aqui está a pegadinha que mais custa dinheiro: no InferenceConfiguration da Converse API, o maxTokens tem como padrão o valor máximo permitido pelo modelo. Não definir o parâmetro não é escolher um meio-termo razoável: é escolher o teto de saída mais caro possível daquele modelo. Toda integração precisa de maxTokens explícito, dimensionado para a tarefa, e de limite de entrada aplicado antes da chamada, porque contexto que cresce sem corte (histórico de conversa, documento inteiro colado, resultado de ferramenta) é entrada paga em toda iteração do loop. Use stopSequences para encerrar geração que já entregou o que precisava.
  • Faça tiering de modelo e de tier de serviço por tarefa. Nem toda tarefa precisa do modelo mais capaz nem da resposta mais rápida. O Bedrock expõe isso como parâmetro de requisição: o service_tier aceita flex, default, priority e reserved. A página de preços publica a mecânica: Flex custa 50% menos que o Standard em troca de tempo de processamento maior, e Priority custa 75% a mais em troca de prioridade na fila. Classificação, sumarização, avaliação de modelo e trabalho de agente que roda em segundo plano são candidatos naturais a Flex; só o que está na frente do usuário justifica Priority. Inferência em lote também é cobrada com 50% de desconto sobre o On-Demand em modelos selecionados. Rodar tudo no tier padrão com o modelo mais caro é a configuração que ninguém escolheu e todo mundo tem.
  • Trate cache de prompt como decisão de arquitetura, não como otimização tardia. Token lido do cache tem preço distinto do token de entrada normal, e a resposta separa cacheReadInputTokens de cacheWriteInputTokens justamente para você medir isso. Prompt de sistema longo e repetido em toda chamada é o caso clássico: ele é pago inteiro, toda vez, até alguém olhar.
  • Amarre a unidade econômica da IA ao plano comercial. Custo por chamada, por usuário e por conversa, comparado ao que o cliente paga. Funcionalidade de IA em plano de preço fixo, sem teto por conta, é margem negativa esperando o usuário mais entusiasmado aparecer.

Serviços AWS

  • AWS Savings Plans: compromisso de valor por hora, em 1 ou 3 anos, com aplicação automática sobre EC2, Fargate e Lambda no caso do Compute Savings Plans.
  • Amazon EC2 Reserved Instances: compromisso por configuração de instância, com RI zonal reservando capacidade e RI Standard vendável no Reserved Instance Marketplace.
  • Amazon EC2 Spot: capacidade ociosa com desconto publicado de até 90% sobre On-Demand, em troca de interrupção.
  • On-Demand Capacity Reservation: reserva capacidade numa AZ sem exigir compromisso de prazo, e aceita Savings Plans por cima.
  • AWS Budgets (utilização e cobertura): monitora se o compromisso comprado está sendo efetivamente consumido.
  • Amazon Bedrock: inferência gerenciada, com TokenUsage na resposta, maxTokens no request e service_tier para escolher entre Flex, Standard, Priority e Reserved.
  • Amazon DynamoDB: contador atômico com TTL para budget e kill-switch de IA no caminho da requisição.
  • Amazon CloudWatch: métricas de Bedrock por ModelId, ServiceTier e ResolvedServiceTier, para verificar em que tier suas chamadas realmente foram servidas.

Caso de uso

Uma empresa coloca um assistente de IA em produção dentro do próprio produto, com Budgets configurado e Cost Anomaly Detection ligado na conta. Um cliente integra o assistente a uma automação que reprocessa a mesma base em loop. O consumo de token sobe em poucas horas. O Anomaly Detection não dispara, porque o modelo usado é de terceiro e aparece na fatura sob a entidade de faturamento do provedor do modelo, exatamente o caso que a documentação exclui do monitoramento. O Budgets dispararia, mas dentro da própria janela de atualização, que é medida em horas. Nenhum dos dois controles estava errado, e nenhum dos dois foi configurado de forma incompetente: os dois estavam fazendo exatamente o que a documentação diz que fazem. O que faltou foi o controle que roda antes da chamada: contador por janela, teto por conta, maxTokens explícito e recusa síncrona quando o limite é atingido. Esse controle não é do console, é do código, e ele é a diferença entre um incidente de custo e um erro 429 devolvido para uma automação que estava mal configurada de qualquer forma.

Sinais de que você está neste nível

  • Você tem Savings Plans ou RI comprados, mas não acompanha utilização e cobertura como métrica contínua.
  • Você tem funcionalidade de IA em produção sem teto de token por integração e sem contador que consiga recusar a chamada seguinte.
  • Você sabe seu custo por serviço, mas não sabe seu custo por cliente, por transação ou por funcionalidade.
Fontes oficiais desta trilha
  1. AWS Well-Architected Framework. Cost Optimization Pillar
  2. AWS Well-Architected Framework. Cost Optimization Pillar: Definition (cinco áreas de foco)
  3. AWS Well-Architected Framework. Cost Optimization Pillar: Design principles
  4. AWS Cost Management. Analyzing your costs and usage with AWS Cost Explorer
  5. AWS Cost Management. Managing your costs with AWS Budgets
  6. AWS Cost Management. Detecting unusual spend with AWS Cost Anomaly Detection
  7. AWS Billing. Organizing and tracking costs using AWS cost allocation tags
  8. AWS Billing. Backfill cost allocation tags
  9. AWS Billing. Organizing costs using AWS Cost Categories
  10. AWS Billing. Splitting charges within cost categories
  11. AWS Cost Management. Identifying opportunities with Cost Optimization Hub
  12. AWS Compute Optimizer. Rightsizing recommendation preferences
  13. AWS Support. AWS Trusted Advisor (planos de suporte e checagens disponíveis)
  14. AWS Savings Plans User Guide. Compute Savings Plans and Reserved Instances (tabela de comparação)
  15. AWS Savings Plans User Guide. What are Savings Plans?
  16. Amazon EC2 User Guide. Reserved Instances for Amazon EC2 overview
  17. Amazon EC2 User Guide. Regional and zonal Reserved Instances (scope)
  18. Amazon EC2 User Guide. Sell Reserved Instances in the Reserved Instance Marketplace
  19. AWS. Amazon EC2 Spot Instances
  20. FinOps Foundation. FOCUS: FinOps Open Cost & Usage Specification
  21. AWS Cloud Financial Management Blog. Data Exports for FOCUS 1.0 is now in general availability (25/11/2024)
  22. AWS. AWS Data Exports for FOCUS 1.2 is now generally available (19/11/2025)
  23. AWS Data Exports. FOCUS 1.0 with AWS columns
  24. Amazon Bedrock API Reference. TokenUsage
  25. Amazon Bedrock API Reference. InferenceConfiguration (maxTokens, stopSequences)
  26. Amazon Bedrock User Guide. Service tiers for optimizing performance and cost
  27. AWS. Amazon Bedrock Pricing
  28. AWS. AWS Brazil FAQs (AWS SBL, preço em USD, fatura em BRL, taxa de câmbio e NFS-e)

Já sabe em que nível está. E agora?

Cada trilha termina num assessment ancorado num padrão público da AWS. Conte qual tema é o seu e em que nível você se reconheceu, e a conversa começa daí.

Fale Conosco
Achou a sua trilha? O próximo passo é o assessment.