Despliega Agentes de IA a Producción en 15 Minutos (Sin Docker, Sin Kubernetes, Sin Dolor de Cabeza)

Despliega Agentes de IA a Producción en 15 Minutos (Sin Docker, Sin Kubernetes, Sin Dolor de Cabeza)

🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram Youtube Linktr

{% embed https://dev.to/elizabethfuentes12 %}

🤯 El Problema de Despliegue en Producción que Todo Desarrollador Enfrenta

Has construido un agente de IA increíble. Funciona bien en tu laptop.

Ahora necesitas desplegarlo a producción.

Esto es lo que usualmente pasa:

  • 3 semanas configurando infraestructura ⏰
  • Pesadillas con Docker y Kubernetes 🐳
  • Configuraciones de seguridad que te hacen llorar 🔐
  • Políticas de escalado que apenas entiendes 📈
  • Gestión de sesiones… ¿qué es eso siquiera? 🤷

¿Te suena familiar?

Amazon Bedrock AgentCore lo cambia todo.

Despliega agentes de IA listos para producción con solo 2 comandos. No se requiere título en DevOps. Sin dolores de cabeza de infraestructura.

Este tutorial práctico te muestra exactamente cómo - desde pruebas locales hasta endpoint de producción en menos de 15 minutos.

Este tutorial está basado en el blog de Mike Chambers: Turn Your AI Script into a Production-Ready Agent, ¡Gracias Mike :)

🎯 Lo Que Construirás

  • ✅ Un agente de IA calculadora con Strands Agents y Claude como proveedor del modelo
  • ✅ Gestión segura de APIKey con AgentCore Identity
  • ✅ Despliegue en producción con auto-escalado
  • ✅ Conversaciones con conciencia de sesión
  • ✅ Monitoreo y observabilidad completa

Image description

Descripción General de los Servicios AgentCore

ServicioPropósitoCaracterísticas Clave
AgentCore RuntimeEjecución serverlessAuto-escalado, Gestión de sesiones, Orquestación de contenedores
AgentCore IdentityGestión de credencialesAPI keys, Tokens OAuth, Bóveda segura
AgentCore MemoryPersistencia de estadoMemoria a corto plazo, Almacenamiento a largo plazo
AgentCore Code InterpreterEjecución de códigoSandbox seguro, Análisis de datos
AgentCore BrowserInteracción webNavegador en la nube, Auto-escalado
AgentCore GatewayGestión de APIDescubrimiento de herramientas, Integración de servicios
AgentCore ObservabilityMonitoreoTrazabilidad, Dashboards, Depuración

⭐ Usado en este tutorial: Los servicios Runtime e Identity manejan el despliegue y la gestión de credenciales.

Image description

Requisitos Previos

Antes de comenzar, verifica que tienes:

Los nuevos clientes de AWS reciben hasta $200 en créditos
Comienza sin costo con AWS Free Tier. Obtén $100 USD al registrarte más $100 USD adicionales explorando servicios clave.

Convirtamos tu prototipo en producción. 🚀

Hoja de Ruta del Tutorial:

  1. Configuración ⚙️ → 2. Código del Agente 💻 → 3. Prueba Local ✅ → 4. Despliegue 🚀 → 5. Invocación ⚡

Tiempo estimado: 15 minutos

Crear Usuario IAM

Crea un usuario IAM de AWS y adjunta la política administrada BedrockAgentCoreFullAccess.

Image description

Configurar AgentCore Identity

Crea proveedores de credenciales a través del menú Identity de la consola AgentCore. Almacena tu API key de Claude de forma segura usando la bóveda encriptada de AgentCore Identity.

Image description

AgentCore Identity proporciona gestión integral de credenciales con almacenamiento seguro, soporte OAuth y control de acceso a través de múltiples sistemas de autenticación.

Image description

Instalar Dependencias

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt

Paquetes requeridos:

  • bedrock-agentcore - SDK de AgentCore
  • strands-agents - Framework de agentes
  • bedrock-agentcore-starter-toolkit - Kit de herramientas de despliegue
  • strands-agents-tools - Funcionalidad de calculadora

Implementación del Agente

Punto de Entrada de AgentCore

El decorador @app.entrypoint hace que tu agente sea desplegable:

@app.entrypoint
def invoke(payload, context):
    """Punto de entrada de AgentCore Runtime"""
    agent = create_agent(calculator)
    
    prompt = payload.get("prompt", "Hello!")
    result = agent(prompt)
    
    return {
        "response": result.message.get('content', [{}])[0].get('text', str(result))
    }

Gestión Segura de Credenciales

@requires_api_key(provider_name="ClaudeAPIKeys")
async def retrieve_api_key(*, api_key: str):
    os.environ["CLAUDE_APIKEY"] = api_key

AgentCore Identity recupera las API keys de forma segura sin exponer credenciales en tu código.

Configuración del Modelo

def create_model():
    return AnthropicModel(
        client_args={"api_key": os.environ["CLAUDE_APIKEY"]},
        max_tokens=4000,
        model_id="claude-3-5-haiku-20241022",
        params={"temperature": 0.3}
    )

Optimización de Rendimiento

Inicializa los agentes una vez por sesión para preservar el estado y reducir la latencia:

agent = None
def create_agent(tools):
    global agent
    if agent is None:
        agent = Agent(
            model=create_model(),
            tools=[tools],
            system_prompt="You are a helpful assistant that can perform calculations. Use the calculate tool for any math problems."
        )
    return agent

AgentCore proporciona aislamiento de sesión en contenedores dedicados que se ejecutan hasta 8 horas.

Probar Localmente

Inicia tu agente:

python3 my_agent.py

Prueba la funcionalidad:

curl -X POST http://localhost:8080/invocations \
  -H "Content-Type: application/json" \
  -d '{"prompt": "What is 50 plus 30?"}'

Desplegar a Producción

Despliega con dos comandos:

Configurar Agente

agentcore configure -e my_agent.py

Proporciona tu ARN de rol IAM cuando se te solicite.

Image description

Lanzar a Producción

agentcore launch

Image description

AgentCore automáticamente:

  • Crea el entorno de ejecución
  • Configura el auto-escalado
  • Configura la seguridad
  • Proporciona el endpoint de producción

Verificar Despliegue

agentcore status

Ve el estado del agente, información del endpoint y dashboards de observabilidad.

Image description

También puedes monitorear el progreso del despliegue en la consola de AgentCore:

Image description

Invocar Tu Agente

Pruebas en Terminal

agentcore invoke '{"prompt": "What is 50 plus 30?"}' --session-id session-123 --user-id user-456
agentcore invoke '{"prompt": "Now multiply that result by 2"}' --session-id session-123 --user-id user-456

Integración en Producción

Usa el SDK de AWS para integración de aplicaciones:

import boto3
import json

client = boto3.client('bedrock-agentcore-runtime', region_name='us-west-2')
agent_arn = "arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/your-agent-name"

response = client.invoke_agent_runtime(
    agentRuntimeArn=agent_arn,
    sessionId="production_session_2024_user456",
    inputText="What is 25 * 4 + 10?"
)

result = json.loads(response['body'].read())
print(result['response'])

Requisitos de Producción:

  • Obtén el ARN del Agente desde agentcore status
  • Los IDs de sesión deben tener 33+ caracteres
  • Usa credenciales de AWS para autenticación
  • Soporta respuestas en streaming

¿Por Qué AgentCore vs Despliegue Tradicional?

Despliegue TradicionalDespliegue AgentCore
❌ 3 semanas✅ 15 minutos
❌ Docker + K8s✅ Serverless
❌ Escalado manual✅ Auto-escalado
❌ Seguridad compleja✅ Seguridad integrada
❌ Experiencia DevOps✅ 2 comandos

Limpieza

Elimina todos los recursos:

agentcore destroy

Esto elimina el despliegue de AgentCore, el repositorio ECR, los roles IAM y los logs de CloudWatch.

🎉 ¡Acabas de Desplegar Tu Primer Agente de IA en Producción!

Ahora viene la parte divertida: ¿Qué vas a construir? 🚀

💡 Llevándolo Más Lejos

He estado construyendo varios agentes de IA con Strands Agents - desde procesamiento de contenido multimodal hasta sistemas multi-agente. Ahora los estoy llevando todos a producción con AgentCore.

Si tienes curiosidad sobre lo que es posible, revisa algunos de los agentes que he construido:

🎨 Agentes de IA Multimodales

Procesa imágenes, videos y texto juntos:

🤝 Sistemas Multi-Agente

Agentes trabajando juntos:

🧠 RAG y Memoria

Haz que los agentes recuerden y aprendan:

Próximamente: Mostraré cómo desplegar estos agentes avanzados a producción con AgentCore.


❤️ Si Esto Te Ayudó

  • ❤️ Dale corazón - ayuda a otros a descubrir este tutorial
  • 🦄 Dale unicornio - si te voló la mente
  • 🔖 Guárdalo - para cuando lo necesites más tarde
  • 📤 Compártelo - con tu equipo o en redes sociales

📚 Recursos

AgentCore:

AWS Free Tier:

Mis Otros Tutoriales:


Happy building! 🚀

🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram Youtube Linktr

{% embed https://dev.to/elizabethfuentes12 %}