Este instructivo está destinado a quienes estén comenzando a compilar apps en la nube, como ingenieros y desarrolladores web, y quieran aprender conceptos clave del desarrollo de apps en Google Cloud.
Objetivos
- Aprender sobre las herramientas básicas de Google Cloud, como Google Cloud Console y
gcloud
- Implementar una aplicación en el entorno estándar de App Engine
- Almacenar tus datos con Firestore
- Almacenar archivos subidos en Cloud Storage
- Supervisar la app mediante Google Cloud's operations suite
Si quieres ver instructivos de lenguajes específicos para compilar apps, consulta las siguientes guías:
Costos
En este instructivo, se usan los siguientes componentes facturables de Google Cloud:
El instructivo está diseñado para que puedas mantener el uso de los recursos dentro de los límites del nivel Siempre gratuito de Google Cloud. Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud sean aptos para obtener una prueba gratuita.
Cuando finalices este instructivo, podrás borrar los recursos creados para evitar que se te siga facturando. Para obtener más información, consulta cómo hacer una limpieza.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- Para crear una base de datos de Firestore en modo nativo, sigue los pasos a continuación:
-
En Cloud Console, dirígete a la página del visualizador de Firestore.
Ir al visualizador de Firestore - Desde la pantalla Selecciona un modo de Cloud Firestore, haz clic en Seleccionar modo nativo.
- Selecciona una ubicación para tu base de datos de Firestore. Esta configuración corresponde a la ubicación predeterminada de los recursos de Google Cloud que definiste en el proyecto de Cloud. La configuración de la ubicación se usa en los servicios de Google Cloud del proyecto que la requieren; en particular, el bucket predeterminado de Cloud Storage y la aplicación de App Engine.
- Haz clic en Crear base de datos.
-
En Cloud Console, dirígete a la página del visualizador de Firestore.
- Habilita las API de App Engine Admin, Cloud Storage, Cloud Logging, and Error Reporting.
-
En Cloud Shell, abre el código fuente de la app.
Ir a Cloud ShellCloud Shell brinda acceso de línea de comandos a tus recursos de Google Cloud directamente desde el navegador.
- Para descargar el código de muestra y cambiar al directorio de la app, haz clic en Continuar.
-
En Cloud Shell configura la herramienta de
gcloud
para que use tu proyecto de Google Cloud nuevo de la siguiente manera:# Configure gcloud for your project gcloud config set project PROJECT_ID
Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud que creaste mediante Cloud Console.
La herramienta de línea de comandos de
gcloud
es la forma principal en la que interactúas con tus recursos de Google Cloud desde la línea de comandos. En este instructivo, usarás la herramientagcloud
para implementar y supervisar tu aplicación.
Ejecuta la app
- Instala las dependencias de la app con el comando
npm
:npm install
-
Ejecuta la app:
npm start
- En Cloud Shell, haz clic en Vista previa en la Web y selecciona Vista previa en el puerto 8080. Se abrirá una ventana nueva con tu app en ejecución.
Implementa la app en App Engine
Google Cloud ofrece varias opciones para ejecutar tu código. Para este ejemplo, usa App Engine a fin de implementar una aplicación escalable en Google Cloud. Debido a que App Engine te libera de la necesidad de configurar implementaciones y administrar servidores, puedes enfocarte en escribir código. Además, App Engine cuenta con el ajuste de escala automático para admitir incrementos de tráfico repentinos.
El archivoapp.yaml
es el archivo de configuración principal para implementar en App Engine:
- Implementa la app en App Engine desde la ventana de la terminal con la herramienta
gcloud
:# on the command-line gcloud app deploy
- En el navegador web, ingresa la siguiente URL:
https://PROJECT_ID.REGION_ID.r.appspot.com
Reemplaza los siguientes elementos:
PROJECT_ID
: el ID del proyecto de Google CloudREGION_ID
: un código que App Engine asigna a la app
Para obtener más información sobre la implementación en App Engine, consulta Entorno de ejecución de Node.js 10.
Almacena tus datos con Firestore
No se puede almacenar información en tus instancias de App Engine porque se perderá si se reinicia la instancia, además de que no existirá cuando se creen instancias nuevas. En su lugar, debes usar una base de datos en la que todas tus instancias puedan realizar operaciones de lectura y escritura.
Google Cloud ofrece varias opciones para almacenar tus datos. En este ejemplo, usarás Firestore para almacenar los datos de cada libro. Firestore es una base de datos de documentos NoSQL, completamente administrada y sin servidores que te permite almacenar y consultar datos. Firestore escala de manera automática para cumplir las necesidades de tu aplicación y escala a cero cuando no la estás usando. Agrega el primer libro.
- En el navegador web, ingresa la siguiente URL:
https://PROJECT_ID.REGION_ID.r.appspot.com
Reemplaza los siguientes elementos:
PROJECT_ID
: el ID del proyecto de Google CloudREGION_ID
: un código que App Engine asigna a la app
-
Si deseas crear un libro para la app implementada, haz clic en Add book.
- En el campo Title, ingresa
Moby Dick
. - En el campo Author, ingresa
Herman Melville
. -
Haz clic en Save. Ya tienes una entrada en la aplicación Bookshelf.
-
Para actualizar la página de Firestore, en Cloud Console, haz clic en Actualizar refresh.
Los datos aparecen en Firestore. La aplicación Bookshelf almacena cada libro como un documento de Firestore con un ID único, y todos estos documentos se almacenan en una colección de Firestore.
Para los propósitos de este instructivo, la colección se llama “books”.
Firestore almacena los libros mediante la biblioteca cliente de Firestore. Aquí hay un ejemplo de recuperación de un documento de Firestore:
Para obtener más información sobre el uso de Firestore, consulta cómo agregar datos a Firestore.
Almacena archivos subidos en Cloud Storage
Ahora que agregaste un libro, es momento de agregar su imagen de portada. No puedes almacenar archivos en tus instancias. Una base de datos no es la opción correcta para archivos de imagen. En cambio, debes usar Cloud Storage.
Cloud Storage es el almacenamiento de BLOB principal de Google Cloud. Puedes usar Cloud Storage a fin de alojar elementos de aplicaciones que deseas compartir en Google Cloud. Para usar Cloud Storage, debes crear un bucket de Cloud Storage, un contenedor básico en el que se guardan tus datos.
- En Cloud Console, ve a la página Navegador de Cloud Storage.
- Haz clic en Crear bucket.
- En el cuadro de diálogo Crear bucket, adjunta el ID del proyecto de Google Cloud a la string
_bucket
para ingresar un nombre del bucket, de manera que sea similar aYOUR_PROJECT_ID_bucket
. Este nombre está sujeto a los requisitos de nombres de los buckets. En el resto de los campos, se pueden conservar los valores predeterminados. - Haz clic en Crear.
- Una vez que se haya creado el bucket, debe permitirse el acceso público a los objetos para que puedan consultarlos los usuarios. Si quieres permitir el acceso público a tus objetos, consulta el artículo Haz públicos los datos.
-
Haz clic en Edit book y selecciona una imagen para subirla como la portada del libro. Por ejemplo, puedes usar esta imagen de dominio público:
-
Haz clic en Save. Se te redireccionará a la página principal, en la que encontrarás una entrada a la app de Bookshelf.
La app de Bookshelf envía los archivos subidos a Cloud Storage a través de la biblioteca cliente de Cloud Storage.
Para obtener más información sobre cómo usar Cloud Storage, consulta la lista de guías prácticas.
Supervisa la app con Google Cloud's operations suite
Ya implementaste la app y creaste y modificaste libros. A fin de supervisar estos eventos para los usuarios, usa la administración del rendimiento de las aplicaciones.
Supervisa los registros con Cloud Logging
Cloud Console
-
En el navegador, ve a la URL
/logs
en tu app:https://PROJECT_ID.REGION_ID.r.appspot.com/logs
Se envía una entrada personalizada a Cloud Logging. La entrada tiene una gravedad de registro de
NOTICE
y contiene el mensaje “Hey, you triggered a custom log entry. Good job!”. -
Ve al Visor de registros, donde puedes supervisar tu aplicación en tiempo real. Cuando algo sale mal, este es uno de los primeros lugares que debes revisar.
- En la lista desplegable de recursos, selecciona
GAE Application
. - En la lista desplegable de registros, selecciona All logs.
Verás una fila de tu entrada de registro personalizada.
gcloud
-
En la ventana de la terminal, usa la herramienta de línea de comandos de
gcloud
para escuchar las entradas de registro nuevas y supervisar los registros de tu app:gcloud app logs tail
-
En el navegador, ve a la URL
/logs
en tu app:https://PROJECT_ID.REGION_ID.r.appspot.com/logs
Se envía una entrada personalizada a Cloud Logging. La entrada tiene una gravedad de registro de
NOTICE
y contiene el mensaje “Hey, you triggered a custom log entry. Good job!”.El resultado del comando
gcloud
muestra la entrada de registro nueva:Waiting for new log entries... 2019-03-27 22:17:01 default[20190327t151430] "Hey, you triggered a custom log entry. Good job!"
Supervisa los errores con Error Reporting
-
En Cloud Console, ve a la página Error Reporting.
Ir a la página Error Reporting
Error Reporting destaca los errores y las excepciones de la app y te permite configurar alertas basadas en ellos. - En el navegador, ve a la URL
/errors
de la app.https://PROJECT_ID.REGION_ID.r.appspot.com/errors
Esto genera una nueva excepción de prueba y la envía al Google Cloud's operations suite.
-
En Cloud Console, regresa a la página de Error Reporting y podrás ver el error nuevo en unos instantes. Haz clic en Volver a cargar automáticamente para no tener que actualizar la página de forma manual.
Realice una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
- En Cloud Console, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.