Crear usuario · Acceder

Un año usando la infraestructura de Google App Engine en Teoriza

Este mes hará un año que empecé a usar Google App Engine. Es probablemente el servicio menos conocido de Google y a la vez es, sin duda, el más potente.


Google app engine logoIntroducción

Google App Engine -en adelante GAE- ofrece la infraestructura de Google a cualquier desarrollador para hacer funcionar aplicaciones web. Es lo mismo que ofrece con éxito Amazon Web Services -en delante AWS- pero desde un enfoque distinto y para mis necesidades particulares mucho mejor.


Google App Engine   vs   Amazon Web Services

La ventaja de AWS es la libertad total que le confiere poder instalar software libremente en los servidores, sin embargo esta ventaja lo hace difícil de configurar y su escalabilidad es rudimentaria en comparación con GAE. Funciona asignando un numero concreto de servidores físicos para tareas de CPU o de almacenamiento. Aunque esto se hace de forma dinámica y bastante eficiente... es un juego de niños en comparación con la perfecta escalabilidad que ofrece GAE.

En contraposición, GAE afronta la computación en nube desde un punto de vista muy simple. El único inconveniente es que se ciñe a un marco de desarrollo concreto (actualmente Java o Python).

Con GAE las tareas de procesos (CPU), memoria instantánea (RAM) y almacenamiento persistente se percibe como un todo. No hay forma de identificar un servidor físico, es una verdadera computación en nube, actuando como un único servidor gigantesco.

GAE escala la infraestructura automáticamente. No hay ningún control al respecto, simplemente funciona y lo hace soportando cualquier demanda por grande que sea.


Potentes recursos

Infraestructura es global. Quedan a disposición todos los datacenters de Google, cada uno con decenas de miles de servidores. Repartidos en una decena de países en todos los continentes. Por lo tanto GAE es un gran CDN (servidor de contenidos distribuido, como akamai) ya que cada petición es atendida por el datacenter más cercano disponible.

No hay ataque DDoS capaz de tirar Google App Engine. A lo sumo lo único que conseguirán será consumir recursos, pero si lo reportas a Google te lo descuentan.

Para hacerte una idea del potencial del que estamos hablando pondré un ejemplo.

Cualquiera podría crear hoy mismo una aplicación en GAE que utilice un máximo de 2.488 horas de CPU cada día.

Se toma como unidad de CPU un procesador a 1.2 Ghz.

Por lo tanto esto quiere decir que puedes usar al 100% 103 servidores funcionando a 1.2 Ghz permanentemente.

Por supuesto esto no es gratuito. Tendría un coste de 248 euros al día, solo en gasto de CPU. Pero no está nada mal teniendo en cuenta que son 124 Ghz.


Almacenamiento virtualmente ilimitado

Toda la infraestructura está limitada rigurosamente por las cuotas. Sin embargo, curiosamente, el limite del almacenamiento persistente -y cito textualmente- es Ninguno. Gracias a la tecnología BigTable.

Esto quiere decir sencillamente que Google ofrece tanta capacidad de almacenamiento como seas capaz de pagar. Aunque hay que decir que el limite por archivo es de 10mb, ya que GAE está diseñado para un uso web específico y no para almacenar archivos grandes.

Veamos ejemplo práctico.

Imaginemos que ofrecemos alojamiento de imágenes. ImagesHack por ejemplo usa un centenar de servidores. Terabytes. Imagina la ardua tarea para hacer un backup, o simplemente la escalabilidad ya que cada día la capacidad debe aumentar.

Pues con GAE ese problema no existe. Sería tremendamente fácil programarlo.

Nunca habría perdida de datos y se servirán bajo cualquier demanda ya que al menos tres datacenters guardarán todos los datos.

Podrías almacenar 1.000.000.000 imágenes sin despeinarte. Suponiendo una media de 150kb por imágenes saldría por: 75 euros al día. No es demasiado teniendo en cuenta la hipotética barbaridad.


Aplicación práctica

En Teoriza uso esta infraestructura a modo de CDN para servir archivos estáticos. Así alivio mi servidor primario y sirvo unos milisegundos más rápido, debido a la proximidad de servidor. Todo con una genial disponibilidad del 99,9%.

En esta captura, que cualquiera puede cotejar, se aprecia el único detalle que refleja la maquinaria que se esconde detrás.

Google Front end

También lo uso como mirror de páginas y archivos en momentos puntuales de altísimo tráfico, redirigiendo temporalmente las DNS de un subdominio concreto, por ejemplo, directamente hacia la infraestructura de Google. De esta forma Teoriza puede resistir decenas de efectos menéame simultáneos.

Google Front end

Mi récord de tráfico está en 185 peticiones por segundo.

El limite son 500 peticiones por segundo, pero puedo solicitar a Google la ampliación de este limite de seguridad. Espero que algún día sea necesario. :)

Desde hace un año uno de mis sueños profesionales es llegar al limite la infraestructura de Google, si a caso eso es posible.


Concluyo con un pronóstico o advertencia. (el que avisa no es traidor)

Si algún día Google decide soportar PHP y portabilidad de MySQL en GAE -si es que les interesa- el ahora éxito de Amazon quedará empequeñecido y cambiará el mundo del hosting tal y como lo conocemos.

2
+8 GONZO 10-10-2010
Categoría: Interesante

Artículos relacionados:

  1. Huddle Chat, salas de chats que usa el Google App Engine, habitaciones virtuales para chatear
  2. Google está efectuando el mayor cambio de algoritmo del año
  3. Actualización Google Images, nueva indexación después de más de medio año
  4. Felices fiestas Navideñas y prospero año nuevo de parte de todo el equipo de Blogs Teoriza
  5. Control Teoriza
  6. Felices fiestas: Feliz navidad y prospero año 2009 desde Blogs Teoriza
  1. +0 juanros13| 2013-05-22 06:17:37

    Muy buen articulo

    Cuanto es el aproximado que pagas por mes??

  2. +0 David 2014-07-06 06:58:06

    Excelente contenido, sin duda AppEngine es excelente, gracias por compartir tan interesantes datos. Saludos, México, DF

Artículo escrito por GONZO para Blogs Teoriza.
Un año usando la infraestructura de Google App Engine en Teoriza, amazon