Amazon SageMaker Projects ha introducido una novedosa funcionalidad destinada a optimizar el acceso de los científicos de datos a las herramientas e infraestructura de Amazon Web Services (AWS), facilitando así la gestión integral del ciclo de vida del aprendizaje automático (ML). Este desarrollo tiene como objetivo ayudar a las organizaciones a estandarizar y restringir los recursos disponibles para sus equipos de ciencia de datos mediante el uso de plantillas preconfiguradas.
Pese a estas mejoras, los clientes de AWS que emplean Terraform para gestionar su infraestructura como código (IaC) enfrentan un desafío notable. La práctica recomendada para habilitar Amazon SageMaker Projects se basa en AWS CloudFormation, lo que restringe a las empresas que poseen políticas de TI que limitan el uso de herramientas específicas de proveedores y no pueden utilizar Terraform Cloud.
En respuesta a este problema, un nuevo artículo ha presentado una solución que permite habilitar SageMaker Projects mediante Terraform Cloud, eliminando así la dependencia de CloudFormation. Esta metodología se apoya en la asignación de los proyectos de SageMaker a productos del AWS Service Catalog. Para evitar el uso de CloudFormation, estos productos son designados como productos de Terraform que emplean el AWS Service Catalog Engine para Terraform Cloud, un módulo sostenido activamente por Hashicorp.
La integración requiere varios pre-requisitos, como disponer de una cuenta de AWS con los permisos adecuados para crear y gestionar proyectos de SageMaker, así como un dominio habilitado de Amazon SageMaker Studio. También es esencial un terminal Unix con la interfaz de línea de comandos de AWS (AWS CLI) y Terraform instalados, junto con una cuenta de Terraform Cloud con permisos suficientes.
Las fases de implementación comprenden clonar un repositorio específico de GitHub, iniciar sesión en Terraform Cloud, obtener el Amazon Resource Name (ARN) del rol del usuario de SageMaker y configurar los parámetros necesarios en un archivo de variables. Una vez que el espacio de trabajo de Terraform Cloud ha sido inicializado y aplicado, los usuarios pueden acceder a la consola de SageMaker para crear proyectos directamente, asegurando un flujo de trabajo más sencillo y con menor dependencia de herramientas externas.
Este enfoque no solo simplifica el proceso, sino que también proporciona una mayor personalización al permitir la inclusión de código Terraform personalizado en las plantillas de proyecto de SageMaker. De este modo, las organizaciones pueden gestionar y desplegar sus proyectos de ML de manera más efectiva dentro de su infraestructura de Terraform Enterprise.