Blog de Amazon Web Services (AWS)

Gestión de entornos informáticos para investigadores con Service Workbench en AWS

Por Henner Dierks y Anthony Antonuccio.

 

A través de la automatización de la nube, los investigadores deben ser capaces de soportar de forma rápida y segura entornos de investigación basados en la nube que les permitan dejar de preocuparse por la tecnología que están utilizando y en su lugar, centrarse en su investigación y colaborar con colegas de cualquier institución. Una vez que los investigadores han obtenido financiación para un proyecto, deben elegir entre una gama de tecnologías para llevar a cabo su investigación. Los investigadores a menudo no tienen la experiencia necesaria para aprovechar las capacidades de la nube para mejorar sus experimentos. En estos casos, una opción es un proceso de varios pasos que implica trabajar con el personal de TI, para descubrir y diseñar entornos de investigación que satisfagan las necesidades específicas de métodos y, controles de intercambio de datos que también funcionen eficazmente con investigadores externos.

Otra opción es que los investigadores preparen sus propias soluciones. Por ejemplo, esto podría implicar la instalación, configuración y mantenimiento de herramientas de código abierto, la adquisición de datos experimentales y la definición de métodos de colaboración y uso compartido. Esta segunda opción podría eludir las directrices de seguridad del departamento de TI y plantea un riesgo para las prácticas de seguridad y cumplimiento de normas de una organización. Además de esto, el costo por la tecnología en la nube que se necesita es adjudicado a los investigadores lo que plantea desafíos para cumplir con presupuestos fijos. ¿Podría gastarse mejor este tiempo y dinero en investigación?

Automatizar la creación de configuraciones de investigación de referencia, la simplificación del acceso a los datos y la transparencia del gasto, permite que el personal de TI se centre en la evolución de las prácticas recomendadas en la nube junto con la reproducibilidad de la investigación a lo largo del tiempo; en paralelo, proporciona a los investigadores soluciones rápidas y repetibles.

El 28 de agosto de 2020, AWS lanzó Service Workbench on AWS, una solución de código abierto para que los investigadores implementen la gestión datos y herramientas necesarias en entornos de TI seguros, en cuestión de minutos. Service Workbench en AWS no introduce nuevos servicios de AWS, por el contrario, orquesta servicios ya existentes, como Amazon CloudFront, AWS Lambda, AWS Step Functions, etc. Esta orquestación implementa entornos informáticos desde AWS Service Catalog, lo que permite a los investigadores iniciar, acceder y administrar la solución de manera simple, con pocos clics.

Service Workbench ofrece diferentes opciones de plantillas para los entornos: Hail on Amazon EMR, Jupyter Notebooks en Amazon SageMaker, Amazon Elastic Compute Cloud (Amazon EC2) con sistema operativo Amazon Linux ó Microsoft Windows, y, Amazon EC2 con RStudio sobre Amazon Linux. En el futuro, habrá más plantillas de espacio de trabajo disponibles, pero el uso de Service Catalog también permite a los administradores crear sus propias plantillas e, incluso, compartirlas con otras organizaciones.

Para controlar los costos, Service Workbench en AWS incluye la integración con AWS Cost Explorer, AWS Budgets y AWS Organizations. De esta forma, los investigadores tienen acceso rápido a los paneles que muestran el uso actual de los servicios de AWS en relación con sus presupuestos, les permite pre-establecer umbrales de costos, los cuales, si son alcanzados, notifican de forma automatizada a los administradores. También, pueden abrir nuevas cuentas de AWS para lograr una mayor transparencia en los costos. Los colaboradores externos pueden traer sus propias cuentas de AWS para aumentar el poder de computo con su presupuesto propio, mientras utilizan entornos informáticos definidos por el investigador principal (PI) y el almacenamiento proporcionado por ellos.

Service Workbench en AWS se integra con diferentes proveedores de identidades, su naturaleza de código abierto permite agregar integraciones existentes (o personalizadas) cuando sea necesario. Siempre que sea posible, Service Workbench imita conceptos conocidos por los usuarios de entornos locales para facilitar el cambio a la tecnología en la nube. Esto incluye lograr que los datos almacenados en Amazon Simple Storage Service (Amazon S3) estén disponibles como puntos de montaje al sistema de archivos, lo cual permite dar la impresión de que la estación de trabajo lo administra localmente.

Service Workbench en AWS se ha diseñado y construido en colaboración con una institución de investigación médica de los Estados Unidos, donde se utiliza para apoyar a investigadores o para gestionar y facilitar aulas virtuales.

 

Tutorial

Service Workbench en AWS es un entorno completamente administrado, sin servidores, el cual se implementa mediante un marco de APIs, basado en eventos. Sus componentes se distribuyen en múltiples funciones Lambda, páginas web estáticas presentadas por CloudFront y Amazon S3 como origen, e integra Amazon Cognito para la autenticación y autorización. Service Workbench se basa en Service Catalog para alojar y administrar Plantillas de CloudFormation que definen los espacios de trabajo disponibles para los usuarios. Esto facilita la generación de nuevos tipos de entornos y el uso de las capacidades nativas de Service Catalog para compartir definiciones de espacios de trabajo con otras instituciones. El acceso a los datos de un espacio de trabajo se facilita a través de Fuse, que permite a los investigadores almacenar sus datos en repositorios de Amazon S3, y, utilizarlos en sus espacios de trabajo, como si estuvieran montados en sistemas de archivos.

 

 

Puede encontrar más detalles sobre la arquitectura, la instalación y la configuración en el archivo Readme.md del repositorio, el cual explica cómo implementar la documentación disponible en el repositorio, en formato Docusaurus. La documentación también detalla los conceptos subyacentes al sistema, por ejemplo, cómo integrar la solución con Active Directory, instancias Auth0 u otros medios de autenticación que el cliente utilice.

 

Autenticación/Autorización

De forma predeterminada, Service Workbench en AWS utiliza Amazon Cognito como fuente de autenticación. Cognito, a su vez, puede federarse con diferentes servicios de autenticación, lo que facilita, por ejemplo, la integración con Active Directory, Auth0 u otros proveedores de identidad (IDP). Si un IDP no es compatible con la federación de Cognito, la naturaleza de código abierto de Service Workbench en AWS nos permite agregar funcionalidad personalizada que conecta con terceros.

 

Almacenamiento

Service Workbench distingue entre tres tipos de datos de estudios de investigación: Mis estudios, Estudios organizacionales y Datos abiertos. Aunque los dos primeros son conjuntos de datos almacenados y mantenidos por el usuario individual, por la organización o por grupos generales, Open Data hace referencia a los datos disponibles a través de Open Data en AWS. Los análisis frecuentes en el conjunto de datos abierto, garantizan que siempre sean los mas recientes los que estén disponibles para los usuarios.

En el formulario actual, Service Workbench en AWS almacena conjuntos de datos relevantes para la investigación de los dos primeros tipos de datos, como estudios en un depósito central de Amazon S3. Los permisos y una estructura de carpetas separan los datasets entre sí. En versiones futuras, será posible escribir datos desde entornos para datos individuales y organizativos en los mismos repositorios de Amazon S3, o separados y reutilizar los ya existentes como fuentes de datos de estudio lo que permitirá una mayor flexibilidad y rentabilidad; se estima que esta funcionalidad este disponible en diciembre de 2020.

 

Catálogo de servicios

El núcleo de la gestión del espacio de trabajo en Service Workbench es AWS Service Catalog. Aquí, el sistema encuentra y administra las plantillas que se utilizan para definir los espacios de trabajo necesarios. Cuando un usuario desea utilizar un nuevo tipo de espacio de trabajo, puede crearse como una plantilla de CloudFormation dentro del catálogo de servicios, o copiarse de otra organización, para, después, ponerlo a disposición de los usuarios para su consumo. En este paso, los administradores tienen la oportunidad de validar la seguridad y el cumplimiento de la plantilla para definir diferentes definiciones de tamaño dependiendo el tipo de usuarios. Una vez que un administrador habilita una plantilla como una definición de espacio de trabajo, los investigadores pueden hacer uso de ellas, a su discreción, para sus estudios.

 

Administración de espacios de trabajo

Además de aprovisionar entornos nuevo mediante plantillas, los investigadore tiene la capacidad, en cualquier momento, de acceder a sus espacios de trabajo, ver detalles de facturación o decomisionarlos.

 

 

Los investigadores también pueden pausar y reanudar los espacios de trabajo de SageMaker y RStudio de forma manual o automática después de un tiempo de inactividad configurable, para obtener aún mayor control sobre los costos, por ejemplo, en caso de no estar disponibles por vacaciones.

 

Control de costos

Cuentas, índices y proyectos

Service Workbench utiliza cuentas de AWS para administrar donde se inician y gestionan los espacios de trabajo de computo. De esta forma, el usuario puede utilizar diferentes cuentas para diferentes proyectos, centros de costos u otro propósito, pero administrar los costos a detalle. Con la capacidad de venta, un administrador puede generar nuevas cuentas de AWS en las mismas organizaciones de AWS desde la interfaz de Service Workbench, sin tener que cambiar a una interfaz de usuario diferente.

A cada cuenta se le puede asignar uno o varios índices, o centros de costos. Esto permite abstraer las cuentas de AWS y crear un medio para que el administrador o el usuario agreguen los costos de varios entornos en una unidad más tangible de lo que representa una cuenta de AWS.

Más allá de los índices, se puede asociar una unidad más granular de uno o más proyectos por cada índice. De esta manera es posible crear unidades de trabajo más pequeñas y mantener la facturación resguardada de los usuarios finales. Por ejemplo, supongamos que hay un proyecto de investigación con dos grupos de investigación, los grupos A y B. Cuando los usuarios de un grupo crean y utilizan espacios de trabajo, debe ser posible asociarlo con el grupo respectivo. Ambos grupos están presupuestando con el mismo centro de costo/índice. En el panel, ver el costo acumulado bajo el índice es importante. Finalmente, todos los gastos generados por estos grupos de proyectos se facturarán con una cuenta central de AWS que se haya creado y asociado al índice.

 

Panel de Control

Un panel de control, que se abre cómodamente al iniciar sesión, nos permite una rápida visión general del costo que nuestros espacios de trabajo o proyectos han acumulado. Esto puede ayudarnos a mantener el presupuesto y rastrear los espacios de trabajo que posiblemente utilicen más recursos de los necesarios.

 

 

Los espacios de trabajo se muestran por entorno y se agrupan por centros de costo/índices, lo que nos permite personalizar cómo se agrega el costo, ademas de alinearlo a la gestión de costes estrechamente con los requisitos asociados a una subvención o presupuesto fijo.

 

Tamaños de espacios de trabajo

Cuando un usuario crea un espacio de trabajo a partir de una plantilla, no solo elegimos el tipo de espacio de trabajo, sino que también se ofrecen varias opciones de tamaños de entorno para elegir.

Un administrador puede predefinir estos tamaños y asociarlos con los usuarios en función de los permisos individuales. De esta forma, un estudiante sólo puede recibir una opción (por ejemplo, XS: 1 núcleo, 16 GB de memoria), mientras que un investigador principal tiene acceso a una amplia gama de tamaños, incluyendo tipos de entorno grandes (y más costosos).

 

Acceso al código fuente

El repositorio de código fuente de Service Workbench en AWS está disponible públicamente en GitHub. Clone el repositorio para acceder a la totalidad de su código fuente y scripts. Para obtener documentación detallada, instale Docusaurus desde el repositorio como se describe en el archivo Readme.md.

 

Instalación

El repositorio de GitHub contiene un archivo Readme.md que se actualizará regularmente. El archivo Readme.md explica los requisitos previos y el proceso de instalación. Se recomienda utilizar una instancia estandar de Amazon EC2 Linux como base para la instalación para evitar posibles incompatibilidades con bibliotecas instaladas en un sistema local. El uso de estos scripts creará los servicios y ubicaciones de almacenamiento necesarios, alimentando previamente el sistema con la información requerida. También, integra Cognito para el inicio de sesión interno, además de Amazon DynamoDB, de modo que la implementación pueda funcionar inmediatamente después de la instalación.

El repositorio también contiene documentación en formato Docusaurus, que incluye instrucciones para configurar el sistema, conectividad con proveedores de identidad y orientación para el usuario final. Para implementar la documentación de Docusaurus, siga los pasos descritos en el archivo README.md.

 

Limpieza

Service Workbench en AWS también incluye scripts de limpieza para eliminar los servicios, configuraciones y datos generados por Service Workbench. Esto hace que sea más fácil, por ejemplo, instalar entornos de desarrollo o prueba y eliminarlos después de pruebas exitosas, al tiempo que determina la funcionalidad para propagarse a un entorno de producción.

 

Conclusión

Service Workbench en AWS es una interfaz web que abstrae la complejidad de administración de servicios de los usuarios finales, lo que permite a los investigadores centrarse en la labor de investigación, en vez de dedicar tiempo a la gestión de la infraestructura subyacente. Además, Service Workbench en AWS mejora la colaboración y la gestión de costos, esenciales en un entorno de investigación con un presupuesto fijo en proyectos multi-organizacionales.

Service Workbench en AWS también facilita el trabajo del personal de TI enfocado en labores de investigación, ya que les permite centrarse en la creación e mejora de plantillas para diferentes tipos de espacio de trabajo, en lugar de dedicar tiempo al aprovisionamiento de cada espacio de trabajo requerido por los usuarios finales.

Service Workbench en AWS se instala rápidamente y, dado que es software de código abierto, permite extensibilidad y modificaciones para adaptarse a las necesidades de una organización.

 

Mas información

https://aws.amazon.com/es/blogs/opensource/managing-compute-environments-for-researchers-with-service-workbench-on-aws/

 

Este artículo fue traducido del Blog de AWS en Inglés.

 

 


Sobre los autores

Henner Dierks es WWPS Solution Architecture en AWS US.

 

 

 

 

Anthony Antonuccio es Public SecSales en AWS US.

 

 

 

 

Sobre los traductores

José Lorenzo Cuéncar Garza es Arquitecto de Soluciones Sr. para Amazon Web Services en Sector Público. José colabora con Dependencias de Gobierno, Instituciones Educativas y Organizaciones sin fines de lucro en México, apoyándolos en su camino a la innovación y adopción tecnológica.

 

 

 

 

Manuel Cuellar es Arquitecto de Soluciones para Amazon Web Services en Sector Público. Manuel colabora con Dependencias de Gobierno, Instituciones Educativas y Organizaciones sin fines de lucro en el territorio de CentroAmerica y Caribe, apoyándolos en su camino a la innovación y adopción tecnológica.