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-v1 para consultas simples y amazon.nova-pro-v1 para 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

ComponenteVersión afectadaDetalle
AWS Transform2.15.0+Requiere CLI instalado (BLOCK24).
Amazon BedrockTodos 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.
LangChain0.2.0+Soporte para agentes y chains.
LiteLLM1.37.0+Permite migrar modelos abiertos como Llama 3.
### Vectores de migración

El agente soporta los siguientes patrones de integración:

  1. 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("...")
   
  1. 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")
   
  1. 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

  1. Instalar la CLI de AWS Transform:
   pip install aws-transform-cli
   atx --version  # Verificar >= 2.15.0
   
  1. 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álisis

El 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

  1. Revisar equivalentes:
– Ejemplo: Si el código usa 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).

  1. 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

  1. 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
   
  1. Migrar permisos en IAM:
– Reemplazar políticas de proveedores externos por roles de Bedrock:
     # 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"
         }]
       })
     }
     
  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *