Saltar al contenido
Gontzal Bilbao
← proyectos

ia · aws

Plataforma para un servicio de IA

Un servicio de IA desplegado a mano en una sola máquina, convertido en tres entornos en código, con despliegue automático y sin claves.

tipo
profesional
rol
Diseño y construcción de la plataforma
stack
terraform · packer · codedeploy · gitlab ci/cd · secrets manager · bedrock
resultado
Tres entornos reproducibles desde código, con despliegue automático y vuelta atrás probada

Llevé un servicio de IA de una máquina montada a mano a tres entornos definidos en código: desarrollo, staging y producción. Cada cambio aprobado se despliega solo, y cada entorno se puede reconstruir igual. El código del servicio es del equipo de desarrollo; la plataforma que lo despliega y lo opera es mía.

El punto de partida

El equipo había construido un servicio de IA en Python, en contenedores y con un modelo gestionado de AWS. Se desplegaba por SSH en una sola máquina, y los secretos viajaban en las variables de la CI.

Funcionaba en desarrollo, pero no se podía llevar a producción así: no había forma de recrear la máquina, ni de separar entornos, ni de desplegar sin entrar a mano.

Qué hice

Construí la plataforma completa del servicio, sin tocar su código: red, imágenes, despliegue, secretos, acceso y documentación. El objetivo era que el equipo pudiera desplegar con un merge request, sin depender de mí ni de una máquina concreta.

Cómo lo hice

Red y permisos

El servicio vive en una subred privada. Solo la API de cada entorno puede hablar con él, por un puerto abierto entre sus grupos de seguridad. El acceso al modelo va por un rol de IAM, así que no hay claves de API que guardar ni rotar.

Despliegue sin SSH

La CI empaqueta el servicio en S3 y CodeDeploy lo instala con sus hooks de ciclo de vida. El fichero de configuración de cada entorno se lee de Secrets Manager durante el despliegue: cada entorno solo conoce lo suyo. Los cambios llegan a cada rama por merge request revisado, en el orden desarrollo → staging → producción.

Servidores que se recrean solos

Una imagen dorada hecha con Packer arranca en un grupo autoescalable de una sola instancia. No es para escalar: es para que, si el servidor cae, aparezca otro igual sin intervención. Los contenedores llevan límites de CPU y memoria, y sus logs van a CloudWatch.

Una dirección estable

La API encuentra el servicio siempre en el mismo nombre de DNS privado, aunque la máquina cambie. Lo actualiza el propio servidor al validar cada despliegue, sin necesidad de un balanceador interno.

Resultado

Tres entornos reproducibles desde código, con despliegue automático en pocos minutos y vuelta atrás automática probada.

  • Ningún secreto en la CI ni en la imagen: todo se lee del gestor de secretos con permisos por entorno.
  • Staging y producción quedan apagados hasta que la aplicación use la IA, y encenderlos es un comando.
  • El panel de prompts del equipo va detrás del balanceador, con el login corporativo de la empresa.
  • El flujo de ramas y un runbook están documentados en el propio repositorio.

Qué me llevo

Llevar IA a producción es, sobre todo, un problema de plataforma: red, secretos, despliegue y recuperación. El modelo es solo una pieza más que hay que operar.

Arquitectura

merge request → CI → paquete en S3 → CodeDeploy → imagen dorada en grupo autoescalable → DNS privado ← API de cada entorno