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).
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.
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.
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)
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)
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.
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.
Solución
a. Falso - Los hubs se construyen totalmente con herramientas de código abierto e impulsadas por comunidades. El “derecho a replicar” (Right to Replicate), concede a las comunidades el derecho a replicar completamente su infraestructura en cualquier otra parte b. Falso - Los Campeones y Campeonas del Hub pueden controlar quién puede acceder al hub mediante GitHub u otros métodos de autenticación. c. Falso - Los entornos de software son administrados por los Campeones y Campeonas del Hub y se despliegan automáticamente mediante contenedores, permitiendo la escalabilidad en la nube y entornos de usuario reproducibles. d. Verdadero - Los ingenieros de 2i2c mantienen la disponibilidad del servicio y las mejoras operativas. Los Campeones y Campeonas del Hub son responsables de la configuración y administración del hub para apoyar a su comunidad.
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.
Solución
Todo lo anterior son cosas que un Campeón o Campeona del Hub debe hacer para que su comunidad haga un mejor uso del 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