Paco aprendió a instalar el entorno local de desarrollo y completó los pasos necesarios para registrar su aplicación en Google App Engine.
El último paso que le resta para conectar todos los puntos consiste en hacer el despliegue o deployment de su aplicación, que básicamente quiere decir subir la aplicación para que la infraestructura escalable de Google App Engine comience a servir.
Paco debe diseñar una forma efectiva para actualizar el código de su aplicación cuando ésta se encuentre en producción. Necesita que las actualizaciones se anatómicas y así no correr el riesgo de que sólo algunos archivos se actualicen. También debe pensar en cómo propagar los cambios a las diferentes instancias http que se encuentran activas.
¿Cómo puede Paco mantener todo esto de manera consistente a la vez que su aplicación continúa sirviendo solicitudes?
La aplicación del censo de Paco consiste por ahora de tan sólo dos archivos app.yamo e index.html. Pero el proceso de despliegue será el mismo que cuando la aplicación sea más grande. Uno de los aspectos más importantes del despliegue es que el proceso se realiza dentro de una transacción, lo cual quiere decir que o bien se actualizan todos los archivos exitosamente o no se actualiza ninguna.
App Engine no realiza despliegues parciales, de esta manera, al realizar el proceso, todos los archivos se eliminan y se suben copias frescas de cada uno de ellos desde la carpeta local. Si el proceso falla por alguna razón, App Engine automáticamente revierte la última versión exitosamente subida.
El archivo app.yamo determina varios aspectos importantes del proceso de despliegue de la aplicación. Por ejemplo, el campo Application define la aplicación a la que se subirá el código fuente y debe corresponder con el identificador que Paco creó en la lección anterior. El campo versión define la Version de la aplicación que estamos subiendo. Esto le permite a Paco tener diferentes versiones de la aplicación corriendo simultáneamente. Pero es importante tener en cuenta que cada versión corre en una instancia independiente, de manera que si tenemos dos versiones de la aplicación, nuestra cuota gratuita de uso puede agotarse en la mitad del tiempo.
Paco tiene varias alternativas para realizar el despliegue de la aplicación con las herramientas incluidas en el SDK. Utilizando el Google App Engine Launcher. Tan sólo debe hacer clic en el botón Deploy. Para actualizar utilizando app config Paco abre una ventana de la terminal, navega a la carpeta que contiene la aplicación y ejecuta el siguiente comando.
A continuación ingresa las credenciales de su cuenta de Google. Hecho esto, App Config comienza a subir todos los archivos contenidos en la carpeta 0/1 Landing page a Google App Engine. Si Paco no desea escribir la contraseña de su cuenta de Google directamente en la terminal, resulta más fácil ejecutar el comando con la opción menos menos out 2. Esto le permite autorizar a App config para realizar cambios sobre la aplicación registrada en App Engine con tan solo un clic en su navegador.
Durante su ejecución AP config presenta varios mensajes que indican el progreso de la actualización. Paco sabrá que el proceso se ha completado con éxito si al final ve este mensaje en la terminal, éste indica que App config ha terminado de copiar todos los archivos a Google App Engine, ha compilado el código y ha verificado que la aplicación esté sirviendo solicitudes exitosamente. Ahora Paco puede entrar a su aplicación ingresando a esta dirección en su navegador.
Una vez que la aplicación de Paco sea servida en Google App Engine, hay varios aspectos importantes que debe tener en cuenta:
App Engine realiza optimizaciones adicionales, por ejemplo, sus archivos estáticos, tales como imágenes, hojas de estilo CSS o archivos JavaScript, se servirán desde una infraestructura diferente.
Dado que la aplicación se ejecuta dentro de un sandbox, no tendrá información acerca del hardware o el sistema operativo, incluyendo el sistema archivos. Aprenderemos con Paco cómo trabajar con archivos en la lección correspondiente a Google Cloud Storage.
Con app config, Paco también puede hacer otras cosas, por ejemplo, descargar rápidamente los logs o registros de su aplicación ejecutando este comando. Estos registros le dan información acerca de cómo está corriendo su aplicación en el ambiente de producción.
Tienen el formato apache common y están ordenados cronológicamente. Asegúrate de revisar algunas opciones y modos de ejecución en que puedes utilizar app config. Puedes obtener una descripción detallada de estás escribiendo este comando en la terminal.
En lecciones posteriores veremos cómo Paco utiliza app config para completar tareas como cargar datos al Data Store, crear o modificar tareas programadas o ajustar los índices de la base de datos.
Por ahora no dejes que Paco te tome ventaja y despliega tu aplicación ahora mismo.Descubrirás que Google App Engine te permite escalar tus aplicaciones a millones de usuarios sin configurar un solo servidor de aplicaciones.
Nos vemos a la próxima, sigan programando.