Como usar AWS Bedrock em produção: guia completo pra devs

Como usar AWS Bedrock em produção: guia completo pra devs

A Amazon ultrapassou os US$ 3 trilhões de valor de mercado — e olha, o número em si não importa tanto. O que importa pra nós, devs, é o porquê: AWS voltou a crescer de forma agressiva puxada por IA, e isso muda completamente o cenário de infraestrutura na nuvem. Quando a fonte de lucro número um de uma empresa trilionária é uma plataforma que a gente usa todo dia, vale prestar atenção. Segundo o Olhardigital.com.br, as ações subiram 5,5% num único pregão após a divulgação do maior crescimento da AWS em mais de quatro anos. Não é só Wall Street celebrando — é o mercado confirmando que a aposta em IA generativa como produto de infraestrutura funcionou.

O que realmente aconteceu nos bastidores da AWS

A AWS estava sendo questionada nos últimos trimestres. Azure (Microsoft) ganhou musculozinho com a parceria exclusiva com a OpenAI, e o Google Cloud começou a crescer forte com o Vertex AI e os TPUs. Muita gente já dava como certa uma ultrapassagem. Só que a Amazon jogou duas cartas pesadas que reverteram o jogo:

  • Bedrock — serviço de modelos fundacionais gerenciados, com Claude (Anthropic), Llama (Meta), Mistral e os próprios Titan da Amazon.
  • Trainium e Inferentia — chips próprios da Amazon voltados pra treino e inferência de modelos. Aqui é onde está a virada estrutural: a Amazon passou a vender silício próprio como diferencial de custo.

Quando uma hyperscaler investe em hardware próprio, o sinal é claro: ela quer controlar a cadeia inteira, do transístor ao prompt. Isso é a mesma lógica que a Apple tem com o chip M-series — margens maiores, menos dependência de Nvidia, e lock-in suave pro desenvolvedor.

Por que isso afeta você no dia a dia

Se você roda workloads de IA, o custo por token caiu e vai cair mais. A competição entre AWS, Azure e GCP está comprimindo os preços em ritmo acelerado. No começo de 2024, rodar um embedding com um modelo tipo text-embedding-3-small da OpenAI custava X. Hoje, o mesmo embedding num modelo aberto rodando em Trainium ou em GPU Hopper alugada está, em vários cenários, mais barato. E Bedrock cobra por token ingerido e gerado — você não provisiona GPU nenhuma, o que elimina aquela dor de cabeça clássica de “deixo a instância ligada por acidente e vem uma fatura de R$ 8 mil”.

Na minha experiência operando produção, três coisas mudaram de verdade nos últimos 18 meses:

  1. O tempo de P&D para um produto de IA caiu de meses para dias. Antes você precisava treinar tudo do zero. Hoje você pega um modelo do Bedrock, faz um prompt decente, e tem um MVP funcional na sexta-feira.
  2. O custo variável virou opressor — e isso é bom. Você paga por uso, não por capacidade ociosa. Pra startup, isso é libertador.
  3. Latência de inferência virou produto. Bedrock com provisioned throughput entrega SLA. Pra apps em produção servindo milhares de usuários, isso é diferencial real.

Na Prática: integrando o Bedrock em uma aplicação real

Vou te mostrar um exemplo direto, sem enrolação. Suponha que você tem um backend em Python e quer adicionar um classificador de tickets de suporte usando Claude 3 Sonnet via Bedrock. Esse é um caso clássico que todo mundo acaba implementando em algum momento:

import boto3
import json

# Inicializa o cliente do Bedrock Runtime
client = boto3.client(
    service_name="bedrock-runtime",
    region_name="us-east-1"
)

def classificar_ticket(texto: str) -> dict:
    prompt = f"""Classifique o ticket abaixo em uma destas categorias:
    - BUG
    - FINANCEIRO
    - CANCELAMENTO
    - DUVIDA
    - OUTRO

    Responda apenas em JSON válido no formato:
    {{"categoria": "X", "confianca": 0.0-1.0, "resumo": "..."}}

    Ticket: {texto}
    """

    response = client.invoke_model(
        modelId="anthropic.claude-3-sonnet-20240229-v1:0",
        contentType="application/json",
        accept="application/json",
        body=json.dumps({
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 512,
            "temperature": 0.2,
            "messages": [
                {"role": "user", "content": prompt}
            ]
        })
    )

    raw = json.loads(response["body"].read())
    return json.loads(raw["content"][0]["text"])

# Exemplo de uso
if __name__ == "__main__":
    ticket = "Não consigo fazer login desde ontem, já tentei resetar a senha 3 vezes."
    resultado = classificar_ticket(ticket)
    print(resultado)

Pronto. Com 30 linhas você tem um classificador em produção. Se você provisionar isso num Lambda com gatilho no SQS (quando um ticket chega), você paga centavos por classificação. Compare com treinar um BERT do zero, hospedar em EC2, monitorar, escalar… É outro mundo.

Erros Comuns que eu vejo devs cometendo com AWS e IA

Aqui é onde a maioria sangra dinheiro ou entrega software medíocre. São armadilhas reais, vindas de projetos que eu mesmo já ajudei a reestruturar:

1. Escolher SageMaker quando Bedrock resolve

SageMaker é excelente pra treinar modelos customizados em larga escala. Pra 95% dos casos de uso — RAG, classificação, sumarização, chat — você não precisa. Bedrock te dá modelo pronto, escalável, com cobrança por token. SageMaker exige você pensar em instância, endpoint, autoscaling, cold start. Pra MVP, Bedrock. Pra modelo proprietário de bilhões de parâmetros, aí sim SageMaker ou até EKS com KServe.

2. Esquecer de limitar max_tokens no prompt

Se você deixa max_tokens sem configurar, o default pode ser 4096 e o usuário paga por todos eles mesmo gerando resposta curta. Em produção, sempre defina um teto realista. Já vi cliente que queimava R$ 12 mil por mês porque um loop mal feito estava disparando requests sem limite.

3. Mandar o documento inteiro pro LLM em vez de fazer RAG

Mando a pergunta, mando os 200 parágrafos do manual, e torço pra caber na janela de contexto. Funciona? Às vezes. É eficiente? Não. Vetoriza os documentos com OpenSearch Serverless ou Pinecone, busca os top-k relevantes, e só então monta o prompt. É mais barato, mais rápido e as respostas ficam melhores.

4. Não versionar prompts como código

Prompt é código. Trata como código. Coloca em repositório, testa com golden dataset, versiona, faz rollback quando regride. Dev que joga prompt hardcoded dentro de função Python e fica “ajustando na mão em prod” está pedindo pra quebrar.

5. Ignorar região e soberania de dados

Bedrock não está disponível em todas as regiões da AWS. Se sua aplicação precisa ficar no Brasil (sa-east-1) por questão de LGPD, você pode ter que fazer roteamento pra us-east-1 ou esperar disponibilidade. Planeje isso na arquitetura, não descobre no dia do deploy.

Comparativo honesto: AWS vs Azure vs GCP pra IA

Critério AWS (Bedrock / SageMaker) Azure (OpenAI / Azure ML) GCP (Vertex AI)
Modelos disponíveis Claude, Llama, Mistral, Titan, Stability OpenAI (GPT-4o, o1), Phi, Llama Gemini, Claude, Llama, modelos do Model Garden
Hardware proprietário Trainium, Inferentia, Graviton ND H100, MI300X TPU v5e/v5p
Maturidade do ecossistema Maior (mais serviços, mais regiões) Forte integração com Microsoft 365 e .NET Forte em MLOps e BigQuery
Custo típico (inferencia Claude Sonnet) ~US$ 3 / MTok input ~US$ 3 / MTok input (OpenAI) ~US$ 3 / MTok input
Quando eu escolheria Stack já em AWS, multi-modelo, hardware alternativo Precisa de GPT-4o nível enterprise com SLA forte Pipeline de dados maduro em BigQuery

Nenhum dos três é objetivamente melhor. A escolha depende de onde sua stack já vive, qual modelo você precisa e quanto controle você quer sobre o stack de inferência.

FAQ — perguntas reais que devs fazem

Bedrock é mais barato que chamar a API da OpenAI direto?

Depende do modelo e do volume. Pra Claude 3 Sonnet e Haiku, os preços são competitivos. Pra embeddings, muitas vezes é mais barato rodar num modelo aberto na AWS do que pagar a OpenAI. Faça a conta com seu volume real, não confie em chute.

Preciso de cartão internacional pra usar a AWS?

Sim. AWS não aceita CPF direto, precisa de cartão internacional ou de um parceiro local como a NTT Data, Darede ou BRLink que fatura em reais e emite NF.

Quanto custa começar a testar Bedrock?

Custo de entrada é zero do ponto de vista de assinatura. Você paga apenas pelo que consome, e o Bedrock tem tier gratuito limitado pra vários modelos nos primeiros meses. Dá pra rodar um MVP de teste por poucos dólares.

Vale a pena aprender SageMaker em 2026?

Se você é engenheiro de ML que vai treinar modelos customizados ou servir modelos próprios em escala, sim. Se você é dev full-stack que só quer adicionar feature de IA no produto, Bedrock e Lambda resolvem e você não precisa descer pro SageMaker.

Como evitar fatura surpresa da AWS?

Três regras de ouro: (1) ativa o AWS Budgets com alerta em 50%, 80% e 100% do orçamento; (2) coloca tag de cost center em tudo e configura Cost Allocation Tags; (3) sempre que subir endpoint, configure auto-scale-down agressivo ou desligue fora do horário comercial se for ambiente de dev.

A corrida pelos US$ 3 trilhões é, no fundo, sobre quem controla a próxima camada da internet: a de modelos. E a mensagem clara do mercado é que a AWS voltou pra briga de igual pra igual. Se você é dev, isso significa mais opções, preços menores e feature parity entre os grandes players. Use isso a seu favor.

Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.

Y

Yuri Sousa

Front-End Developer / Designer

Desenvolvedor apaixonado por criar experiências digitais acessíveis e visualmente perfeitas. Escrevo sobre desenvolvimento web, design e tecnologia.