Prueba B
Servicio de clasificación de imágenes
Un modelo de machine learning sirviendo predicciones en 1.000 categorías de imágenes, desplegado como arquitectura de microservicios desacoplada en AWS y verificado bajo carga real.
- Categorías
- 1.000 clases de imágenes
- Arquitectura
- API desacoplada de los workers de ML
- Verificación
- Pruebas de carga con Locust
- Contexto
- Fellowship de ingeniería en Anyone AI
Python · FastAPI · TensorFlow · Redis · Docker · AWS EC2 · Locust
El problema
Servir un modelo de machine learning en producción es un trabajo distinto a entrenarlo: las respuestas deben volver rápido mientras el modelo — una red TensorFlow pesada — tarda segundos por lote. Acoplar la API directamente al modelo significa que una consulta lenta bloquea a todas las demás.
Qué construí
Una arquitectura de microservicios que separa las dos responsabilidades:
- Un servicio FastAPI recibe las consultas y responde de inmediato, sin tocar nunca el modelo.
- Una cola en Redis entre la API y el modelo: las consultas entran, los resultados salen, y cada lado escala por separado.
- Workers de TensorFlow consumen la cola y ejecutan la red (1.000 categorías de imágenes), aislados en sus propios contenedores.
- Docker Compose sobre AWS EC2 une todo de forma reproducible — el mismo stack corre idéntico en una laptop y en la nube.
El resultado
El servicio se sostuvo bajo pruebas de estrés con Locust, con la API respondiendo mientras los workers procesaban la cola — el patrón de arquitectura estándar detrás de los sistemas de ML en producción, construido de punta a punta: diseño de API, colas, servido del modelo, contenedores, despliegue en la nube y verificación de carga.