martes, 25 de agosto de 2015

Maricela Ocaña
Programación Paralela y Distribuida


Programación Google App Engine con Python

Google App Engine nos permite publicar aplicaciones web en línea sin necesidad de preocuparnos por la parte de la infraestructura y con un enfoque 100% en la construcción de nuestra aplicación y en la posibilidad de correrla directamente sobre la infraestructura de Google, es decir, la que Google usa para sus propios productos esto garantiza un mejor rendimiento de la aplicación.

Para el almacenamiento de datos tendremos dos posibilidades en casi cualquier lenguaje en el que estemos desarrollando: Cloud Datastore y Cloud SQL. 

Cloud Datastore es una base de datos NoSQL ideada como la opción de almacenamiento principal a la hora de que corremos aplicaciones en App Engine.

Cloud SQL es una base de datos MySQL que corre en la nube de Google y tiene todas las características de cualquier base MySQL, entre otras.

Características
GAE soporta de manera oficial los lenguajes de programación Python y Java de manera estable y en modo de beta testing en lenguaje de programación Go creado por ellos mismos. Al soportar Java, es posible además utilizar cualquier lenguaje JVM o lo que es lo mismo, cualquier lenguaje que pueda ejecutarse sobre una máquina virtual de Java, aunque eso sí, con serias limitaciones. Entre dichos lenguajes se encuentran:
  • Groovy
  • JRuby
  • Scala
  • 4PHP
  • Clojure
  • Perl

Pero sin duda Python es el lenguaje mejor soportado y con mayor robustez por parte del App Engine.
Para utilizar Google App Engine como tu propia  red de entrega de contenidos (CDN) personal necesitas instalar algunas cosas en tu computadora y editar unos archivos de configuración. Todo este trabajo se realiza una sola vez y luego lo que necesitas es correr un simple programa para subir los archivos a Google.
Los scripts que tienes que descargar solo están disponibles para Windows únicamente si cuentas con otro sistema operativo deberás crearlos para que realicen las mismas funciones, el scrip que tienes que descargar es el siguiente:
deploy_digitalistic_cdn.bat 
Si ya cuentas con lo anterior sigue los siguientes pasos.
  1. Necesitas descargar e instalar Python en tu computadora. Si estas corriendo Mac o Linux, es muy probable que ya cuentes con Python instalado, así que puedes saltar este paso. Es recomendable descargar la Python 2.5 en adelante debido a que con las versiones 3 presenta algunos problemas.
  2. Descarga el SDK del motor de Google APP desde http://code.google.com/appengine/downloads.html e instalo. Durante la instalación del SDK va a revisar que tengas instalado Python o no, así que si tienes algún problema con la instalación de Python lo sabrás en este paso. El Google App Engine SDK es necesario para escribir y subir aplicaciones a Google. Solo utiliza las opciones ya establecidas cuando instales el SDK.
  3. Regístrate para el Google App Engine en appengine.google.com. Para esto crear una cuenta de Google.
  4. Una vez que hayas ingresado al servicio, crear una aplicación, así que pulsa el botón de “Create an application” y dale a la aplicación un nombre .Este nombre tiene que ser único dentro de todas las aplicaciones de usuarios, así que puedes tardar un rato en encontrar un nombre único. Guarda la nueva aplicación. Luego de que hayas creado esta primera aplicación, necesitas especificar tu número de teléfono. Google te enviará un mensaje de texto SMS con un código para ingresar al sitio. Esto confirma que eres el dueño de la cuenta de Google App Engine.
  5. Descarga el archivo http://nombredeaplicacion.appspot.com/files/digitalisticcdn.zip  (alojado en mi CDN privado!) y descomprímelo en tu disco duro. Si quieres puedes cambiarle el nombre del directorio de “nombre de aplicación” al nombre que quieras, por ejemplo el de tu propia aplicación. No importa realmente y solo te facilita el mantener un registro para el futuro.
  6. Utiliza un editor de texto para editar el archivo app.yaml que se encuentra en el directorio de “nombre de aplicación”. Cambia “application: nombre de aplicación” a “application:el identificador de tu aplicación” y guarda el archivo. Esto le dirá a Google App Engine que aplicación debe utilizar para cargar archivos.
  7. Ahora es tiempo de agregar todas las imágenes, hojas de estilo, archivos, vídeos, etc. que quieras subir a Googleen los folders de “nombre de aplicación”. Incluye las imágenes en el folder /images, etc. Puedes crear cualquier número de subfolders dentro de imágenes, archivos, hojas de estilo, etc. Puedes agregar más archivos en cualquier momento, así que si sólo quieres configurar la aplicación para que funcione puedes saltar este pasó. Ya existe una imagen en el folder de /images para que puedas comprobar que está funcionando como debería.
  8. Descarga http:/nombredeaplicación.appspot.com/files/deploy_digitalistic_cdn.bat y edítalo con un editor de texto. Este archivo debe apuntar a tu instalación de Python, tu instalación de Google App Engine y tu directorio “nombre de aplicación”. Si has instalado Google App Engine SDK en el directorio original y Python en C:/Program Files/ entonces no tienes que preocuparte por esta configuración. Solo cambia la última parte del archivo para apuntarlo a tu directorio de “nombre de aplicación”. Ten en cuenta que todas las rutas que tienen espacios tienen que estar encerradas entre comillas.
  9. Doble click en el archivo recientemente actualizado deploy_digitalist_cdn.bat para subir todos los archivos dentro del directorio “nombre de aplicación” hacia Google. La primera vez que hagas esto deberás especificar tu usuario y password de Google.
  10. Ahora ya tienes tu propio CDN privado! Ve a (“nombre de aplicación”).appspot.com/images/ninja.gif para ver si funciona.

 

No hay comentarios:

Publicar un comentario