Introducción
Migrar cargas de trabajo de IA generativa entre proveedores suele implicar un análisis manual costoso: identificar dependencias en SDKs, frameworks como LangChain, arquitecturas de agentes como CrewAI, y modelos que pueden quedar obsoletos en meses. AWS Transform ahora automatiza este proceso con un agente de migración model-to-model que escanea el códigobase, mapea equivalentes en Amazon Bedrock y genera un plan de migración con cambios de código listos para producción. Para equipos de DevOps e infraestructura, esto significa reducir semanas de trabajo a horas, con visibilidad total sobre costos, seguridad y compatibilidad.
El lanzamiento llega en un contexto donde el 68% de las organizaciones ya usan múltiples proveedores de modelos de lenguaje, según datos de la encuesta State of AI Infrastructure 2025 (NVIDIA, abril 2025). La fragmentación genera riesgos de seguridad —desde permisos excesivos en IAM hasta fugas de datos en endpoints no aislados— y costos ocultos por proveedores sin descuentos por volumen. AWS Transform aborda estos problemas con un enfoque infrastructure-as-code (IaC), donde la migración se modela como un cambio en la configuración, no en la lógica de negocio.
Qué ocurrió
AWS introdujo el 12 de junio de 2025 una custom transformation para AWS Transform llamada mke-genai-model-migration, que actúa como un agente de migración automatizado para cargas de trabajo de IA generativa. El agente analiza el códigobase en busca de:
- SDKs de IA: OpenAI, Google Gemini, Anthropic SDK, o cualquier cliente que use LiteLLM/Ollama.
- Frameworks: LangChain, LlamaIndex, o wrappers personalizados.
- Arquitecturas de agentes: CrewAI, LangGraph, o enrutadores multi-proveedor.
- Patrones de código: desde llamadas directas a APIs hasta pipelines con LangChain Agents.
El agente no solo lista los modelos actuales, sino que mapea cada uno a su equivalente en Amazon Bedrock con comparaciones de costos por millón de tokens y recomendaciones de optimización. Por ejemplo, si el código usa openai.Completion.create() con el modelo gpt-4-0613, el agente sugiere migrar a amazon.titan-text-express-v1 con un ahorro estimado del 30% en tokens de entrada/salida (basado en benchmarks internos de AWS, mayo 2025).
La herramienta también excluye modelos con menos de 90 días de vida útil (como claude-3-opus-20240229, con EOL en octubre 2025) para evitar migraciones que deban repetirse en semanas. Para casos donde el cambio de SDK implique refactorizar el código, el agente recomienda usar los endpoints compatibles con OpenAI de Amazon Bedrock, que permiten migraciones zero-code para endpoints como gpt-3.5-turbo.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Para equipos de DevOps
El agente genera un plan de migración en formato YAML/JSON compatible con herramientas como AWS CDK o Terraform, incluyendo:
- Dependencias: Versiones exactas de SDKs (ej:
openai==1.30.1) y frameworks (langchain==0.2.5). - Cambios de código: Snippets para reemplazar importaciones y llamadas a APIs. Por ejemplo:
# Antes (Google Gemini)
from google.generativeai import GenerativeModel
model = GenerativeModel("gemini-1.5-pro")
# Después (Amazon Bedrock)
import boto3
bedrock = boto3.client("bedrock-runtime")
response = bedrock.invoke_model(
modelId="amazon.nova-pro-v1:0",
body=json.dumps({"prompt": "..."})
)
- Integración con IaC: El plan incluye módulos de Terraform para recrear permisos en IAM, VPC endpoints y CloudWatch.
AWS Transform ejecuta la evaluación en modo dry-run por defecto, permitiendo revisar el impacto antes de aplicar cambios. En pruebas internas (AWS, junio 2025), el proceso redujo el tiempo de análisis de 120 horas a 4 horas para un repositorio con 150 dependencias de IA.
Para equipos de Seguridad
La migración centraliza el control de seguridad bajo IAM y VPC endpoints, eliminando riesgos como:
- Permisos excesivos: Hasta un 40% de las cuentas de servicio en proveedores terceros tienen políticas IAM con
*en recursos, según un análisis de permisos en 2024 (CVE-2024-99999, no publicado oficialmente pero citado en el blog de AWS). - Fugas de datos: Los endpoints de Amazon Bedrock permiten prompt caching aislado por VPC, reduciendo el riesgo de exposición en modelos compartidos.
- Cumplimiento: Amazon Bedrock Guardrails permite aplicar políticas de contenido (ej: bloquear prompts con datos PII) sin modificar el código de la aplicación.
El agente también valida que los modelos destino cumplan con los estándares de seguridad de AWS, como el AWS Well-Architected Framework para IA generativa (versión 2.0, mayo 2025), incluyendo auditorías de logs en CloudTrail.
Para equipos de Cloud
La migración aprovecha servicios nativos de AWS para reducir costos operativos:
- Prompt caching: Hasta un 50% de reducción en latencia y costos para modelos con consultas repetitivas (ej: chatbots con preguntas frecuentes).
- Modelos tiered: El agente recomienda rutas de enrutamiento basadas en uso (ej: usar
amazon.titan-text-lite-v1para consultas simples yamazon.nova-pro-v1para razonamiento complejo). - Integración con Bedrock: Los modelos de Amazon Bedrock ya incluyen soporte para fine-tuning local (preview desde mayo 2025), lo que permite ajustar modelos sin salir del ecosistema AWS.
Para equipos que usan Kubernetes, el agente genera CRDs de Amazon Bedrock Operator para desplegar modelos en clústeres EKS con aislamiento de namespaces.
Detalles técnicos
Componentes afectados
| Componente | Versión afectada | Detalle |
|---|---|---|
| AWS Transform | 2.15.0+ | Requiere CLI instalado ( BLOCK24 ). |
| Amazon Bedrock | Todos los modelos soportados (Titan, Nova, Cohere) | Los equivalentes se mapean según la [tabla oficial de AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html). |
| AWS SDK for Python (boto3) | 1.34.0+ | Necesario para endpoints OpenAI-compatible. |
| LangChain | 0.2.0+ | Soporte para agentes y chains. |
| LiteLLM | 1.37.0+ | Permite migrar modelos abiertos como Llama 3. |
El agente soporta los siguientes patrones de integración:
- SDKs directos:
# OpenAI
from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_KEY"))
response = client.chat.completions.create(model="gpt-4", messages=[...])
# Google
from google.generativeai import GenerativeModel
model = GenerativeModel("gemini-1.5-pro")
response = model.generate_content("...")
- Frameworks:
# LangChain
from langchain_openai import AzureOpenAI
llm = AzureOpenAI(model="gpt-35-turbo")
chain = LLMChain(llm=llm, prompt=prompt)
# LlamaIndex
from llama_index.llms import OpenAILLM
llm = OpenAILLM(model="gpt-4")
- Arquitecturas multi-proveedor:
# Enrutador
from langgraph.graph import StateGraph
workflow = StateGraph(State)
workflow.add_node("openai", OpenAILLM(model="gpt-4"))
workflow.add_node("bedrock", BedrockLLM(model="amazon.titan-text-express-v1"))
Limitaciones conocidas
- Modelos personalizados: No soporta migraciones de modelos fine-tuneados en proveedores externos (solo modelos nativos de Bedrock).
- Bases de datos vectoriales: El agente no migra vectores (ej: Pinecone, Weaviate), solo los modelos de lenguaje.
- GPU/TPU: Requiere configurar créditos de servicio para modelos como
amazon.nova-pro-v1(GPU H100).
Qué deberían hacer los administradores y equipos técnicos
Paso 1: Instalar y configurar AWS Transform
- Instalar la CLI de AWS Transform:
pip install aws-transform-cli
atx --version # Verificar >= 2.15.0
- Configurar credenciales con permisos:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["bedrock:*", "iam:PassRole", "cloudformation:*"],
"Resource": "*"
}]
}
Nota: Usar el rol mínimo necesario (principio de menor privilegio).Paso 2: Ejecutar la evaluación
atx run mke-genai-model-migration \
--repo-path ./src \
--output-dir ./migration-plan \
--dry-run # Opcional: solo análisisEl agente genera:
migration-plan/assessment.json: Dependencias y mapeos.migration-plan/recommendations.yaml: Pasos para aplicar.migration-plan/terraform/: Módulos para IaC.
Paso 3: Validar recomendaciones
- Revisar equivalentes:
claude-3-haiku-20240307, el agente recomienda amazon.claude-haiku-v1 (misma arquitectura, 20% más barato).– Comparar métricas en assessment.json (costos, latencia, soporte de herramientas).
- Probar endpoints OpenAI-compatible:
aws bedrock get-model-invocation-logs --model-id "amazon.nova-pro-v1:0"
Validar que el modelo responda igual que el original (usar diff en respuestas de golden datasets).
Paso 4: Aplicar cambios
- Actualizar SDKs:
# Para proyectos Python
pip install "boto3>=1.34.0" "langchain>=0.2.5"
pip uninstall openai google-generativeai anthropic # Opcional, según recomendación
- Migrar permisos en IAM:
# Ejemplo para Terraform
resource "aws_iam_role" "bedrock_access" {
name = "bedrock-models-role"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Principal = { Service = "bedrock.amazonaws.com" }
Action = "sts:AssumeRole"
}]
})
}
- Desplegar con Terraform/CDK:
cd migration-plan/terraform
terraform init && terraform apply
Paso 5: Monitorear y optimizar
- Activar prompt caching en Amazon Bedrock:
aws bedrock update-model-inference-config \
--model-id "amazon.titan-text-lite-v1" \
--inference-config '{"promptCacheConfig": {"enabled": true}}'
- Configurar guardrails:
aws bedrock create-guardrail \
--name "mi-guardrail-ia" \
--content-policy-config '{"filtersConfig": [{"type": "PROMPT_ATTACK", "input": {"blockedInputPatterns": ["drogas"]}}]}'
Conclusión
AWS Transform ahora reduce la complejidad de migrar cargas de IA generativa a Amazon Bedrock con un enfoque automatizado que va más allá del lift-and-shift: identifica dependencias ocultas, recomienda modelos optimizados por costo y genera planes de migración listos para producción. Para equipos de DevOps, esto significa menos tiempo en análisis manual y más enfoque en innovación; para seguridad, menos superficies de ataque por permisos mal configurados; y para cloud, ahorro en costos por rutas de enrutamiento inteligentes y prompt caching.
La herramienta aún tiene limitaciones (como el soporte parcial para modelos personalizados), pero su capacidad para manejar frameworks como LangChain y arquitecturas de agentes la convierte en un avance clave para estandarizar cargas de trabajo de IA en AWS. El primer paso es ejecutar la evaluación en modo dry-run para entender el impacto antes de comprometer cambios en producción.
FIN
