Implementación de Modelos en Entornos Productivos con AWS y Docker

Clase 28 de 35Curso de MLOPS: Despliegue de Modelos de Machine Learning

Resumen

¿Cómo simular un entorno productivo en AWS?

Simular un entorno productivo es crucial para asegurarse de que nuestra aplicación pueda funcionar correctamente en un ambiente real. AWS ofrece un servicio adecuado para este propósito, utilizando instancias EC2. Aquí te explicamos cómo configurar una instancia EC2 para simular un entorno productivo:

  1. Configuración de la instancia EC2:
  • Elige un tamaño de instancia mínimo de small basado en Ubuntu.
  • Deja los demás parámetros por defecto.
  1. Reglas de seguridad:
  • Configura la conexión por SSH.
  • Abre los puertos necesarios:
    • 5004 para la aplicación desde cualquier IP.
    • Puerto de la base de datos Postgres para que las predicciones se almacenen automáticamente.
    • 3000 relacionado con Grafana para monitoreo.
  1. Conexión a la instancia:
  • Genera y descarga las llaves para conexión SSH.
  • Modifica los puertos mencionados.
  • Asegúrate de que las llaves están en el mismo directorio al abrir la terminal.

¿Qué debes tener en cuenta antes de hacer pruebas en producción?

Antes de comenzar a realizar pruebas en un entorno productivo, es esencial asegurar la correcta configuración de los permisos y preparar el entorno con Docker.

  1. Permisos del servidor:
  • Dale permisos a la instancia de AWS en tu repositorio de producción.
  • Genera llaves SSH para el acceso.
  • Asegúrate de que el servidor tiene acceso a los recursos necesarios.
  1. Configuración con Docker:
  • Realiza una actualización de la instancia y la instalación de Docker.
  • Sigue los comandos detallados en el archivo de recursos del repositorio.
  • Ejecuta Docker Compose Build y Docker Compose App para construir y levantar la imagen.

¿Cómo crear y utilizar colecciones y ambientes en Postman?

El uso de Postman para simular un entorno productivo y realizar pruebas es una herramienta poderosa. Aquí te explicamos cómo configurar los ambientes necesarios.

  1. Crear una colección:
  • En Postman, crea una nueva colección, por ejemplo, mleopsticket.
  • Añade un nuevo método POST utilizando la IP y puerto configurados.
  1. Configurar ambientes:
  • Define dos ambientes: local y productivo.
  • En el ambiente local, usa tu IP pública con el puerto configurado.
  • Para el ambiente productivo, utiliza la dirección IP de tu instancia en AWS.
  1. Realizar pruebas:
  • Especifica el entorno al hacer la petición.
  • Asegúrate de alternar entre el entorno local y productivo al realizar las pruebas.

Usar Postman para realizar estas pruebas te permite asegurarte de que el servidor responde correctamente a las solicitudes en ambos entornos. Esto no solo ayuda a verificar el correcto funcionamiento sino también a identificar posibles mejoras.