Por Srini Kadamati, Dataquest.io

Si se está quedando sin memoria en su máquina local o simplemente quiere que su código se ejecute más rápido en una máquina más potente, la ciencia de los datos tiene muchos beneficios. en un servidor de nube. Un servidor en la nube es solo una computadora, como la que está usando ahora, que se encuentra en otro lugar.

En esta publicación, veremos cómo configurar un entorno en Google Cloud, Google Cloud Platform (GCP). Google compra cientos de miles de computadoras individuales, las gestiona en centros de datos que se encuentran en todo el mundo utilizando software personalizado y ofrece alquiler de estas computadoras. Debido a la economía de escala que ofrecen las empresas de alojamiento en la nube, las personas o los equipos pueden acceder de forma asequible a computadoras potentes con gran cantidad de CPU y memoria a pedido.

¿Por qué usar Google Cloud Platform?

Al pasar de una configuración de computadora portátil / escritorio a un entorno en Google Cloud de ciencia de datos en la nube, es importante pensar qué criterio es el más importante para usted. Para trabajar con conjuntos de datos más grandes en pandas, por ejemplo, es importante tener una gran cantidad de memoria. Para trabajar con Spark y procesar grandes conjuntos de datos, necesitamos alquilar un conjunto de muchas computadoras con una gran cantidad de memoria total para compartir la carga.

Como otra nube proveedores Google Cloud Platform contiene muchos productos y servicios

 Características / servicios GCP

Para tener la libertad de instalar cualquier biblioteca o herramienta que deseemos, necesitamos acceso a una computadora virtual en Google Cloud Platform. Esto se denomina instancia de máquina virtual . Alquilar una instancia de máquina virtual no nos da acceso a nuestra propia computadora dedicada (los proveedores de la nube cobran mucho más por alquilar una computadora dedicada) sino solo la CPU y la memoria que queremos:

 Dedicado vs Compartido

Google Compute Engine (GCE) ofrece precios razonables para instancias de memoria alta. Aquí hay una captura de pantalla de los precios en diciembre de 2017:

 Precios de GCE

Si bien este precio puede parecer alto al principio, Google Cloud Platform tiene una versión de prueba de 12 meses con $ 300 de crédito cada mes para gastar en productos de Google Cloud Platform y servicios. Puede obtener más información e inscribirse aquí .

Esto significa que puede alquilar un servidor con 52 gigabytes de memoria y ejecutarlo constantemente durante un mes completo. Debido a que el costo de alquiler se calcula por minuto, puede alquilar un servidor mucho más potente (con 256 gigabytes de memoria) durante un corto período de tiempo (pocas horas) para una tarea específica.

Este tipo de flexibilidad es muy potente y le permite realizar grandes flujos de trabajo de cómputo sin la sobrecarga de comprar y administrar el hardware usted mismo.

Lanzamiento de una instancia de GCE

Navegue a la página de instancias de VM . Se le pedirá que inicie sesión con sus credenciales de Google y cree un proyecto. Una vez hecho esto, se lo dirigirá a la página de instancias de VM:

 Instancias de VM GCP

Para crear una nueva instancia virtual, haga clic en Crear instancia . Se le dirigirá a una página donde puede personalizar las diferentes propiedades de la instancia que desea alquilar:

  • Nombre : Nombrar su instancia. Acabamos de usar el nombre predeterminado.
  • Zona : Cuál zona geográfica vive su servidor . Usamos us-east1-b pero siéntase libre de seleccionar una instancia más cercana a su lugar de residencia o trabajo.
  • Tipo de máquina : la potencia de una máquina que desea alquilar. Recuerde que puede leer sobre los diferentes tipos de máquinas de esta página . ¡Elija uno dentro de su presupuesto mensual!
  • Boot Disk : el sistema operativo con el que desea iniciar la instancia virtual. Usamos Ubuntu 16.04 LTS que es una versión popular de Linux.
  • Firewall : qué tráfico de Internet debe permitirse. Déjelo con la configuración predeterminada.

Haga clic en Crear cuando esté listo.

Configuración del entorno en Google Cloud

Después de lanzar una instancia de Google Compute Engine, puede iniciar una consola directamente desde la página de Google Compute Engine :

 GCE Cloud Console

Usaremos esta consola para configurar el resto del entorno en Google Cloud. Si no está familiarizado con la línea de comandos, le recomiendo que consulte nuestros línea de comandos: Principiante y Línea de comando: Intermedio cursos.

Primero, instalemos anaconda . Desde la línea de comandos, la forma más fácil de descargar el archivo de configuración binaria usando curl . La herramienta Unix curl descarga un archivo de una URL especificada y usa el indicador -O escribe en un archivo (en lugar de mostrar el contenido de la descarga inmediatamente):

 curl - O https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh

Una vez que finaliza la descarga, puede usar bash para iniciar el proceso de instalación:

 bash Anaconda3-5.0.1-Linux-x86_64.sh

Habrá algunas veces en las que deberá escribir para aceptar licencias. Una vez finalizada la instalación, debe agregar el programa conda a su RUTA . El PATH le permite especificar en qué directorios queremos que el sistema operativo busque programas.

Ahora que hemos instalado Anaconda, podemos crear un nuevo entorno de anaconda . Enseñamos usar Python 3.5 en Dataquest, así que también utilizaremos esa versión aquí:

 conda create --name ds python = 3.5

Anaconda seguirá adelante e instalará muchas de las bibliotecas de ciencia de datos populares para usted (como numpy y jupyter notebook ) cuando cree un entorno en Google Cloud. Una vez que finalice el proceso de instalación, puede activar su entorno de la siguiente manera:

Exponiendo Jupyter Notebook

En este momento, no podemos acceder al servidor Jupyter Notebook que tenemos en este momento. el navegador web desde nuestra computadora local. Para comprender por qué, pensemos en lo que sucede cuando ejecutamos Jupyter Notebook localmente en nuestra propia computadora; solo nuestra computadora local puede acceder al servidor Jupyter Notebook (generalmente en localhost: 8888 ) a través del navegador web. 19659003] Sin embargo, si alguien más en nuestra red wifi (o ethernet) conoce nuestra dirección IP y en qué puerto estamos ejecutando Jupyter Notebook (de nuevo, generalmente en 8888 ), pueden acceda a él a través del navegador web navegando a http: // NUESTRO_INDICADOR_IP: 8888 .

Al hacer dos ajustes principales, también podemos replicar esta capacidad de acceso para nuestra instancia en la nube. De forma predeterminada, el firewall de nuestra instancia en la nube está configurado para evitar el acceso a la red entrante. Además, la mayoría de los proveedores de servicios en la nube cambian la dirección IP de nuestra instancia a menudo (¡realmente cuando les da la gana!). Esto significa que si la dirección IP actual de nuestra instancia es 35.227.18.17 no podemos confiar en que esto permanezca igual en unos pocos minutos.

Sin embargo, podemos cambiar de una dirección IP dinámica a una dirección IP estática.

Configuración de una dirección IP estática

Para cambiar la dirección IP de nuestra instancia a una estática, vaya a Redes> Red VPC> Direcciones IP externas en el menú de Google Cloud Platform a la izquierda -hand side.

 VPC Network

También puede ir directamente a la página esta URL .

Tenga en cuenta que Google cobra una pequeña tarifa si reclama una dirección IP estática pero no tiene una máquina en ejecución asociada con la dirección IP estática. En la región de Iowa para diciembre de 2017, este costo es de 1 centavo por hora, como se muestra en la figura siguiente:

 Costo de IP estático

Puede obtener más información sobre los precios de IP estáticos no utilizados navegando a la página de precios de GCE y desplazarse hacia abajo hasta Precios de direcciones IP no utilizados .

Agregar excepciones de firewall

Ahora que tenemos una dirección IP estática, nuestra computadora local puede hablar con nuestra instancia en la nube. Desafortunadamente, la mayoría de los proveedores de la nube tienen un firewall en funcionamiento que desactiva el acceso entrante a la mayoría de los puertos. Afortunadamente, podemos agregar manualmente una excepción para el puerto 8000 que el servidor Jupyter Notebook usa para aceptar solicitudes entrantes.

Ahora, una regla de firewall personalizada para que los paquetes de red entrantes puedan acceder a nuestro servidor en un sitio específico Puerto. Navegue a la página reglas de firewall y haga clic en Crear regla de firewall :

 Crear firewall

En la página resultante, complete los siguientes campos: [19659021] Nombre : agregue un nombre para esta regla de firewall

  • Rangos de IP de origen : 0.0.0.0/0
  • Protocolos y puertos permitidos : tcp: 8000

 

Por último, necesitamos configurar Jupyter Notebook para usar el puerto TCP que especificamos anteriormente para el firewall.

Configuración del puerto Jupyter Notebook escucha

Ejecute este comando para generar un archivo de configuración.

 jupyter notebook --generate-config

Ahora que tenemos todo configurado, comencemos Jupyter Notebook con los siguientes indicadores:

 jupyter notebook --no-browser --port = 8000

En su computadora local, navegue a la URL http: // YOUR_STATIC_IP_ADDRESS: 8000 y verá la página de bienvenida de Jupyter Notebook.

 Jupyter Notebook [19659003] Incluso puede cargar archivos directamente en su Jupyter Notebook en la nube, utilizando el botón Cargar .

Próximos pasos

¡Felicitaciones! ¡Acaba de configurar su primer entorno en Google Cloud! Éstos son algunos de los próximos pasos que quizás desee considerar:

Bio: Srini Kadamati es Director de Contenido en Dataquest.io .

Original . Repostado con permiso.

Relacionado:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *