Introducción
Hasta 2024, la ingeniería de plataformas en entornos cloud-native se centraba en resolver un problema claro: la complejidad operativa que surgía al escalar aplicaciones basadas en Kubernetes, microservicios y GitOps. Cada equipo de desarrollo debía dominar pipelines de despliegue, aprovisionamiento de infraestructura, redes, seguridad, observabilidad y cumplimiento. La solución fueron los Internal Developer Platforms (IDP): plataformas compartidas que encapsulaban estas complejidades detrás de flujos estandarizados, capacidades self-service y caminos dorados (golden paths).
Sin embargo, el modelo tradicional —diseñado para humanos— colapsa cuando el principal consumidor ya no es un desarrollador, sino un agente de IA. Según el informe de la CNCF de julio de 2026, esta transformación no es una evolución menor, sino un cambio de paradigma: las plataformas deben gestionar no solo aplicaciones y recursos, sino también agentes de IA como entidades de primer nivel.
Qué ocurrió
El supuesto roto: «La plataforma es para humanos»
Los IDP modernos (como Backstage de Spotify, Crossplane de Upbound o Argo Platform de Red Hat) asumían que:
- Los usuarios eran desarrolladores humanos interactuando via portales, CLIs o GitOps.
- Los agentes de IA eran herramientas auxiliares (ej.: bots de Slack o scripts de automatización).
- Las políticas de seguridad, gobernanza y auditabilidad se aplicaban solo a usuarios humanos.
Pero en 2026, los agentes de IA ya no son consumidores pasivos: son actores activos que:
- Provisiónan infraestructura (ej.: un agente crea un namespace en Kubernetes en respuesta a un ticket de Jira).
- Despliegan aplicaciones (ej.: un agente de GitHub Actions ejecuta
kubectl applytras una PR). - Investigan incidentes (ej.: un agente analiza logs en Grafana y sugiere playbooks de SRE).
- Automatizan flujos operativos (ej.: un agente escala un Deployment en función de métricas de Prometheus).
Según datos de Microsoft Research (2026), el 38% de las empresas con IDP reportan que al menos un agente de IA tiene permisos de producción, aunque el 62% admite que estos permisos no están alineados con los modelos de gobernanza tradicionales.
La nueva realidad: «La plataforma es para humanos y IA»
El cambio no es solo técnico, sino ontológico:
- Nuevos objetos de gestión:
– Recursos: ya no son infraestructura pasiva. Ejemplos:
– Bases de datos (PostgreSQL, MongoDB).
– Servicios de mensajería (Kafka, RabbitMQ).
– Almacenamiento de objetos (S3, MinIO).
– Modelos de IA (LLMs, embeddings).
– Proveedores de identidad (OAuth, LDAP).
– Agentes de IA: son software actors con:
– Ciclo de vida propio (versiones, dependencias).
– Políticas de seguridad (qué recursos pueden tocar).
– Historial de operaciones (auditoría).
– Identidad única (ej.: un agente ai-deploy-bot con un service account en Kubernetes).
- Nuevos consumidores:
– IA: agentes que interactúan via:
– APIs REST/GraphQL (ej.: un agente invoca POST /deployments).
– Protocolos estandarizados como MCP (Model Context Protocol), diseñado por Microsoft en 2025 para que agentes ejecuten comandos en entornos controlados.
– CLIs personalizadas (ej.: un agente usa kubectl con un context restringido).
Impacto para DevOps / Infraestructura / Cloud / Seguridad
DevOps: De «CI/CD para humanos» a «CI/CD para humanos y IA»
- Despliegues: Los agentes ya ejecutan el 15% de los despliegues en entornos Kubernetes (datos de CNCF 2026), pero el 40% de estos despliegues carecen de políticas de rollback cuando el agente detecta fallos. Ejemplo:
# Un agente ejecuta esto tras un PR en GitLab
kubectl apply -f deployment.yaml
kubectl rollout status deployment/my-app --timeout=5m
Problema: Si el agente no tiene permisos para ejecutar kubectl rollout undo, el sistema queda en un estado inconsistente.- GitOps: Herramientas como Argo CD o Flux CD deben extender su modelo de ApplicationSets para soportar agentes. Ejemplo en YAML:
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: ai-agents
spec:
generators:
- matrix: # Combina humanos y IA
generators:
- list:
elements:
- human: dev-team
- ai: ai-deploy-bot
template:
metadata:
name: '{{.ai}}-{{.human}}'
spec:
source:
repoURL: https://github.com/myorg/idp-templates
targetRevision: main
destination:
server: https://kubernetes.default.svc
namespace: '{{.ai}}'
Riesgo: Sin namespace isolation estricta, un agente podría afectar recursos de otros equipos.Infraestructura: Los recursos ya no son pasivos
- Bases de datos: Un agente que gestiona un StatefulSet de PostgreSQL debe cumplir con:
pg_dump cada 6 horas).– Límites de recursos (CPU/memoria) definidos en ResourceQuotas.
– NetworkPolicies para restringir conexiones (ej.: solo desde el namespace ai-agents).
- Modelos de IA: Los pods que corren LLMs (ej.:
vllm/vllm-openai:v0.4.0) deben:
– Usar Topology Spread Constraints para distribuir carga en nodos distintos.
– Cumplir con PodSecurityAdmission (requerido en Kubernetes 1.28+).
Cloud: La multicloud ya no es solo para aplicaciones
- Proveedores: AWS, GCP y Azure ya soportan agentes de IA via:
– GCP Workload Identity: Vincula service accounts de GCP con service accounts de Kubernetes.
– Azure Managed Identity: Permite a agentes en AKS interactuar con Azure API Management.
- Costos ocultos: Los agentes pueden generar gastos imprevistos. Ejemplo:
– Si el agente no tiene un PodDisruptionBudget o ResourceQuotas, podría escalar hasta agotar el presupuesto del proyecto.
Seguridad: La gobernanza ya no es opcional
- Principio de mínimo privilegio: Los agentes deben tener permisos estrictos. Ejemplo en Kubernetes:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: ai-deploy-bot
rules:
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "list", "watch", "create", "update"]
Problema: Si el rol incluye delete, un agente podría eliminar despliegues accidentalmente.- Auditabilidad: Cada acción de un agente debe quedar registrada. Herramientas como Fluent Bit + Loki deben:
actor=ai-deploy-bot y action=deploy.– Almacenar logs en un bucket de S3 con Object Lock (para cumplir con regulaciones como GDPR o HIPAA).
- Secretos: Los agentes no deben manejar secrets directamente. Usar:
– Kubernetes Secrets Store CSI Driver para montar secrets como volúmenes en pods.
Detalles técnicos
Componentes afectados
| Componente | Versión afectada | Vector de riesgo | Ejemplo de impacto |
|---|---|---|---|
| Kubernetes | 1.28+ | Agentes con permisos excesivos | Un agente escala un *Deployment* sin límites. |
| Argo CD | v2.10.0+ | Falta de soporte para *ApplicationSets* con agentes | Despliegues inconsistentes. |
| Backstage | v1.25.0+ | Plugins de seguridad no actualizados | Un agente accede a datos sensibles via un plugin obsoleto. |
| Crossplane | v1.14.0+ | Recursos gestionados por IA no auditados | Un agente crea un *RDS* en AWS sin etiquetas de costo. |
| MCP Server (Microsoft) | v0.3.0+ | Protocolos no estandarizados | Un agente ejecuta comandos no autorizados. |
| OPA/Gatekeeper | v3.12.0+ | Políticas de seguridad no adaptadas | Un agente viola una política de *networking*. |
- Agentes con permisos de cluster-admin:
– Mitigación: Usar Pod Security Admission y Kubernetes 1.28+ con ServiceAccount scoped.
- Inyección de comandos en MCP:
{
"method": "exec",
"params": {
"command": "rm -rf / --no-preserve-root"
}
}
– Solución: Validar comandos via MCP Server con políticas de allowlist.
- Abuso de ResourceQuotas:
kubectl create deployment ai-agent --image=nginx --replicas=10000
– Mitigación: Usar LimitRanges y ResourceQuotas con alertas en Prometheus.
Qué deberían hacer los administradores y equipos técnicos
1. Auditar permisos de agentes (pasos concretos)
- Listar todos los ServiceAccounts usados por agentes:
kubectl get serviceaccounts -A | grep ai-
- Verificar permisos con
kubectl auth can-i:
kubectl auth can-i create deployments --as=system:serviceaccount:ai-agents:ai-deploy-bot
- Aplicar el principio de mínimo privilegio:
# Crear un RoleBinding específico
kubectl create role ai-deploy-bot-role \
--verb=get,list,watch,create,update \
--resource=deployments.apps
kubectl create rolebinding ai-deploy-bot-binding \
--role=ai-deploy-bot-role \
--serviceaccount=ai-agents:ai-deploy-bot
2. Extender el IDP para soportar agentes
- Backstage: Añadir un plugin para gestionar agentes. Ejemplo de configuración en
app-config.yaml:
catalog:
providers:
aiAgents:
- target: https://github.com/myorg/ai-agents-catalog
rules:
- allow: [Component]
- Argo CD: Actualizar a v2.10.0+ y usar ApplicationSets con generadores para IA. Ejemplo:
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: agents
spec:
generators:
- list:
elements:
- agent: ai-deploy-bot
namespace: ai-agents
template:
metadata:
name: '{{.agent}}'
spec:
source:
repoURL: https://github.com/myorg/idp-templates
path: agents/{{.agent}}
destination:
server: https://kubernetes.default.svc
namespace: '{{.namespace}}'
3. Implementar gobernanza para IA
- Políticas de seguridad:
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequiredLabels
metadata:
name: require-ai-agent-labels
spec:
match:
kinds:
- apiGroups: [""]
kinds: ["Pod"]
namespaces: ["ai-agents"]
parameters:
labels: ["ai-agent-name", "ai-agent-version"]
– OPA: Definir políticas para restringir qué recursos pueden crear los agentes. Ejemplo:
package kubernetes.validating.agents
deny[msg] {
input.request.kind.kind == "Deployment"
not input.request.object.metadata.labels["ai-agent-name"]
msg := "Los despliegues de agentes deben tener el label ai-agent-name"
}
- Auditabilidad:
[FILTER]
Name modify
Match kube.*
Add actor ai-deploy-bot
Add action deploy
– Almacenar logs en Loki + Grafana con dashboards específicos para IA.
4. Actualizar herramientas de observabilidad
- Prometheus: Añadir métricas para agentes. Ejemplo de ServiceMonitor:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: ai-agents-monitor
spec:
selector:
matchLabels:
app: ai-deploy-bot
endpoints:
- port: metrics
path: /metrics
- Grafana: Crear paneles para:
– Recursos consumidos por agente (CPU, memoria, redes).
– Tiempo de respuesta de los agentes.
5. Capacitar a los equipos
- SREs: Documentar playbooks para incidentes causados por agentes. Ejemplo:
## Incidente: Agente escala *Deployment* sin control
1. Verificar logs del agente:
bashkubectl logs -n ai-agents deploy/ai-deploy-bot
2. Revisar permisos del *ServiceAccount*:
bashkubectl get rolebinding ai-deploy-bot-binding -o yaml
3. Aplicar un *PodDisruptionBudget*:
bashkubectl apply -f pdb.yaml
- **Desarrolladores**: Enseñar a interactuar con agentes via APIs/MCP. Ejemplo en Python:
pythonfrom mcp import MCPClient
client = MCPClient(«http://ai-deploy-bot:8080»)
response = client.call_tool(«deploy», {«app»: «my-app»})
«`
Conclusión
La ingeniería de plataformas ya no trata solo de abstraer complejidad para humanos: debe gestionar aplicaciones, recursos y agentes de IA bajo un modelo unificado. Este cambio exige:
- Rediseñar permisos: Los agentes no son usuarios, sino software actors con identidad propia.
- Extender el IDP: Soporte nativo para agentes en herramientas como Argo CD, Backstage o Crossplane.
- Fortalecer la gobernanza: Políticas de seguridad, auditabilidad y costos para IA.
- Capacitar equipos: SREs deben tratar a los agentes como SLOs (objetivos de nivel de servicio) y desarrolladores como API consumers.
El riesgo no es la IA en sí, sino la falta de adaptación. Las plataformas que no evolucionen quedarán obsoletas en 2-3 años, atrapadas en un modelo de 2020 donde los agentes eran herramientas y no actores principales.
FIN
