Conoce los beneficios que tu hub puede proporcionar a tu comunidad de usuarios y usuarias#

🔍 RESUMEN

Preguntas

  • ¿Qué es la computación interactiva en la nube?

  • ¿Cómo puede la computación interactiva en la nube servir a las comunidades del hub con respecto a investigación y/o educación?

  • ¿Cuál es el papel de un Campeón o Campeona del Hub?

Objetivos

  • Identificar los beneficios que proporciona un hub para la computación interactiva en la nube

  • Reconocer los casos de uso de la computación interactiva en la nube para la comunidad de usuarios de Campeones y Campeonas del Hub

  • Describir su rol y capacidad como Campeón o Campeona del Hub para administrar y apoyar a su hub

Introducción#

En este episodio se presenta el concepto de un hub para la computación interactiva en la nube, y cómo éste puede beneficiar a las comunidades de usuarios a las que apoya un Campeón o Campeona del Hub.

¿Cómo puede la computación interactiva en la nube beneficiar a mi comunidad?#

La computación interactiva es un método esencial en la que quienes investigan y educan utilizan un programa informático para llevar a cabo tareas que incluyen (pero no se limitan a)

  • generar datos a partir de experimentos o simulaciones, o recopilar datos de fuentes secundarias

  • procesar y analizar datos utilizando técnicas y algoritmos estadísticos

  • desarrollar modelos predictivos mecanístico y/o impulsados por datos

  • visualizar los resultados para revelar gráficamente ideas.

La interactividad en tiempo real ayuda a que la información fluya entre la persona y su trabajo, creando un entorno dinámico y productivo para la investigación y la actividad educativa. El Proyecto Jupyter es un ecosistema de herramientas de código abierto que puede proporcionar un entorno computacional interactivo basado en la web en forma de “notebooks”, para varios idiomas, por ejemplo, Julia, Python y R (de ahí el nombre del proyecto Jupyter).

Dibujo que representa casos comunes de computación interactiva como la recopilación de datos, el procesamiento y análisis de datos, los modelos predictivos y la visualización de datos.

Con la llegada del “big data”, muchas personas que investigan y educan se enfrentan a limitaciones en el uso de métodos tradicionales para manejar datos en una computadora portátil o máquina local. El tamaño y el número de los conjuntos de datos prevalentes en disciplinas como genómica, meteorología, salud y ciencias ambientales, por mencionar algunas, están creciendo a un ritmo exponencial y, por lo tanto, también aumenta la necesidad de tener una infraestructura a gran escala para apoyar los flujos de trabajo computacionales continuamente intensivos.

Icono de computación en la nube.

La computación en la nube es una forma de proporcionar los recursos necesarios al sistema para satisfacer esta demanda. Esto se basa en el uso compartido de los servicios “on-demand”, normalmente proporcionados por entidades comerciales como AWS, Google Cloud y Microsoft Azure. Quienes investigan y educan en la academia a menudo son limitados en su capacidad para administrar de forma sostenible la infraestructura en la nube a escala, y también tal vez quieran apoyar herramientas de código abierto e infraestructura de proveedores para proteger la reproducibilidad científica y fomentar una colaboración eficaz.

Aquí es donde una iniciativa sin fines de lucro como 2i2c puede ayudar. 2i2c se especializa en administrar la arquitectura abierta de Jupyter en la nube, diseñada especialmente para comunidades de práctica en investigación y educación, utilizando herramientas de código abierto que les permiten reproducir entornos, código y datos en diferentes máquinas. Las personas pueden acceder a las computadoras y al almacenamiento a gran escala según sea necesario y los flujos de trabajo son totalmente reproducibles y apoyados gracias a las tecnologías de código abierto impulsadas por la comunidad.

JupyterHubs en la nube#

En esta lección, nuestra definición de la palabra hub se refiere a un JupyterHub que está alojado en la infraestructura en la nube y administrado por 2i2c.

Diagrama que muestra una visión general de un hub de 2i2c, el cual incluye autenticación, contenido en línea, entornos personalizados, el hub de la comunidad, infraestructura en la nube, soporte y servicios.

Hub de la comunidad#

Un hub proporciona un punto de acceso a la computación interactiva en la nube para una comunidad de usuarios. El acceso al hub es mediante una URL del siguiente formulario

<hub-name>.<community-name>.2i2c.cloud

y la página de destino incluye el botón Iniciar sesión para continuar (ver la captura de pantalla)

Captura de pantalla de una página de inicio de un hub con el botón "Iniciar sesión para continuar'".

Autenticación#

El acceso al hub es controlado y permitido por los Campeones y Campeonas del Hub al agregar la cuenta de GitHub de una persona a un “GitHub Team” asociado al hub. La persona permitida introduce sus credenciales de GitHub para iniciar sesión en el hub (ver la captura de pantalla)

Captura de pantalla de la página de autenticación utilizando las credenciales de GitHub

Entornos personalizados#

Las personas pueden elegir entre varios tipos de máquinas con diferentes números de núcleos de CPU y RAM disponibles, y seleccionar el entorno de software que desean utilizando imágenes.

La captura de pantalla de las opciones del servidor disponibles incluyen las CPU compartidas, pequeña de 1-4, 8-32 GB RAM, pequeña de 4 CPU, 32 GB RAM, mediana 16 CPU, 128 GB RAM y grande de 64 CPU, 512 GB RAM.

Las imágenes disponibles de manera predeterminada incluyen

  • Handbook Authoring (interfaz de usuario de JupyterLab) - Los paquetes de Python instalados incluyen jupyter-book, jupyterlab_myst, ghp-import, numpy, matplotlib

  • Jupyter DataScience (Interfaz de usuario de JupyterLab) - Los paquetes de Python instalados incluyen dask, h5py, pandas, scikit-learn, scipy, sympy

  • Rocker Geospatial (Interfaz de usuario de RStudio) - Los paquetes de R instalados incluyen ncdf4, proj4, raster, rgdal, rgeos, sf, sp

  • Otra… - Especificar una imagen personalizada de JupyterLab/RStudio

Contenido en línea#

Hay muchas maneras de administrar el contenido en línea en el hub. Por ejemplo

  • cada persona tiene acceso a su propio sistema de archivos y a un directorio principal de hasta 10 GB

  • los Campeones y Campeonas del Hub pueden distribuir los datos a todos las personas del hub que estén en un directorio compartido

  • las personas pueden recibir (pull) y enviar código (push) de forma segura desde y hacia el hub mediante GitHub.

Infraestructura en la nube#

Los hubs están implementados en los proveedores comerciales en la nube de AWS, Google Cloud o Microsoft Azure. El código para la configuración e implementación de 2i2c sigue las prácticas recomendadas y es abierto y transparente para todos. Los hubs 2i2c están diseñados con el “Derecho a Replicar” (Right to Replicate) por cualquiera en su propia infraestructura en la nube.

Soporte y servicios#

2i2c proporciona soporte para operaciones dedicadas al hub, tales como

  • monitoreo continuo de la infraestructura

  • respuesta a incidentes

  • implementación de entornos en el hub

  • desarrollando código abierto que regresa a upstream

  • operaciones con clusters de Kubernetes.

Los Campeones y Campeonas del Hub son el primer punto de contacto para su comunidad de usuarios, el cual proporciona soporte y guía a los usuarios para hacer el mejor uso del hub. Entonces, los Campeones y Campeonas del Hub pueden representar y escalar las solicitudes de soporte a 2i2c para resolver problemas más técnicos.


¿Cuáles de las siguientes afirmaciones son verdaderas/falsas?

a. Los hubs administrados por 2i2c solo están disponibles mediante un único proveedor en la nube. b. Cualquier persona que conozca su URL puede acceder y utilizar el hub. c. Los entornos de software son inflexibles e irreproducibles. d. 2i2c proporciona soporte a las operaciones para su hub.

Define el éxito para tu comunidad#

Como Campeón o Campeona del Hub, tu objetivo principal es capacitar a tu comunidad para que utilice mejor los servicios del hub. Tú representas los intereses de tu comunidad y estás familiarizado con sus flujos de trabajo computacionales y necesidades de datos.

Para garantizar que el hub sirva a los intereses de su comunidad, los Campeones y Campeonas del Hub pueden llevar a cabo tareas administrativas comunes como:

  • controlar la política de acceso al hub

  • detener y reiniciar los servidores para los usuarios

  • guiar a los usuarios para que seleccionen las opciones apropiadas del servidor y las imágenes para su caso de uso

  • transferir y distribuir los datos en el hub

  • representar y escalar solicitudes de soporte a 2i2c para resolver problemas técnicos

  • facilitar la transferencia de conocimientos dentro de la comunidad, por ejemplo, eventos de capacitación, documentación y canales de comunicación


Ejercicio: ¿Cuáles son las necesidades de tu comunidad?

Dediquemos un tiempo para reflexionar y evaluar las necesidades de tu comunidad.

En parejas, discutan y compartan los siguientes puntos:

  • ¿Qué áreas del conocimiento tiene tu comunidad?

  • ¿Qué tan grande es tu comunidad? ¿Trabajan individualmente o necesitan colaborar?

  • ¿Tu comunidad trabaja con grandes conjuntos de datos?

  • ¿Tu comunidad necesita acceso a un poder computacional intensivo?

  • En los casos que aplique, ¿Las necesidades de colaboración, grandes conjuntos de datos y/o poder computacional son consistentes para toda tu comunidad?

  • ¿Cuáles son las principales aplicaciones de software que tu comunidad utiliza para llevar a cabo su trabajo?

  • ¿Qué tan familiarizada está tu comunidad con el control de versiones usando git/GitHub?

  • ¿Cómo puede un hub resolver los desafíos que enfrenta tu comunidad?

Prepárate para hacer un resumen y compartirlo con el resto del taller.

Ejercicio: ¿En cuál de las siguientes formas debe un Campeón o Campeona del Hub apoyar a su comunidad?

a. Proporcionar orientación a la comunidad sobre las prácticas recomendadas en investigación con software para las personas usuarias del hub. b. Solucionar problemas y brindar apoyo a problemas comunes. c. Comunicar solicitudes e incidentes a nivel de infraestructura a 2i2c. d. Supervisar la política de acceso al hub.

Próximos pasos#

La siguiente parte de la capacitación es un estudio autoguiado de los siguientes episodios

y concluye con una sesión sincrónica que cubre el episodio Solución de problemas y soporte al usuario.

Para completar la parte autoguiada del taller, debes ser capaz de acceder al Hub de muestra comunitario de 2i2c. Cuando trabajes en las secciones autoguiadas del taller, escribe tus respuestas a los ejercicios en nuestro documento de notas colaborativas.

Si no puedes acceder al hub, comunícate con el instructor de la formación.

🔑 PUNTOS CLAVE

  • Un hub es un JupyterHub en la nube administrado por 2i2c que proporciona un servicio de computación interactiva

  • Los Campeones y Campeonas del Hub impulsan a la comunidad para que utilicen mejor los servicios y son el primer punto de contacto para brindar soporte al usuario

  • Los Campeones y Campeonas del Hub pueden llevar a cabo tareas administrativas comunes y configurar el hub para preparar a su comunidad para el éxito