2008/09/25 12:48:43.033 GMT+2

AppEngine en el Google Developer Day de Madrid

Tres compañeros de empresa estan en el Google Developer Day de hoy en Madrid. Aitzol Naberan me pasa una crónica mañanera.

Menudo nivel, aqui hay pasta! Desayuno, regalitos , traducción simultanea...

La charla de bienvenida la ha dado Chris DiBona. En ella ha presentado los distintos productos de Google de los que se va a tratar en esta GDD2008: AppEngine, Android, OpenSocial, Google Chrome, Google Web Toolkit. Para hablar de OpenSocial y Chrome ha tenido dos colaboradores que trabajan directamente en cada uno de los proyectos. Chris ha mostrado una visión de los productos enfocada a mejorar la experiencia del usuario, es decir, todos estos productos son válidos y están pensados para tener mejores aplicaciones en el navegador.

AppEngine 11:00-11:50 Mano Marks

En principio la charla de la mañana la va a utilizar para hacer una presentación básica de la plataforma, por lo que no espero que se den muchos detalles. Por la tarde se va a hacer otra sesión, que se supone será más avanzada. Supongo que volveremos a verle. Y mañana, además, hay una sesión extra de geo-developers que tendrán un seminario con Mano, y asistirá mi compañero Mikel Kerejeta Kere de Tagzania.

Mano ha empezado la charla con una curiosa diapositiva mostrando la complejidad de las tecnologías sobre las que se construyen las aplicaciones web hoy dia (Linux, apache, Mysql, php...). En la diapositiva podemos ver a una persona cargada de cajas marcadas con cada una de estas tecnologías, para seguidamente mostrarnos otra diapositiva en la que se puede ver una única caja con el logo de AppEngine.

Qué obtenemos con AppEngine

Bigtable: Una estructura de almacenamiento distribuida en todo el planeta, con espacio practicamente ilimitado.

Python: Dice Mano que han elegido Python porque piensan que es el mejor lenguage (bien).

Autentificación: Autentificación en una Google account utilizando una API (personalmente creo que es uno de los puntos feos de AppEngine)

API de imagenes: Tratamiento de imagenes vía API (en la sesión de la tarde se hablará más sobre esto)

Django templates

Limitaciones

No es posible escribir en el sistema de ficheros. Lógico, ya que tu aplicación se puede estar ejecutando en distintas maquinas, aunque también ha aceptado que es por seguridad. Personalmente me inclino más por lo segundo.

No se pueden abrir sockets, lo que en la practica equivale a no poder acceder a aplicaciones externas.

No puedes crear subprocesos.

Google ofrece 500 MB de almacenamiento gratuito y un ancho de banda 2GB/día y 5 millones de páginas/mes. Estas características permanecerán gratuitas para siempre. Una vez sobrepasemos estos limites se empezará a cobrar, aunque las tarifas y el sistema de tarificación no está cerrado. Se está valorando la opción de cobrar por exceso sobre las caracteristicas anteriormente mencionadas.

Qué es lo siguiente

Soporte para mas lenguajes. No ha especificado cuales son, ni en cuánto tiempo pueden estar disponibles. Comprar capacidad adicional, para final de este año. Soporte para upload/downloads grandes Procesado offline. Actualmente todo el procesado se hace vía http, por tanto el tiempo de una petición tiene que terminar en diez segundos (tiempo establecido por google). Parece ser que hay cierta demanda de esta característica, aunque tampoco tienen fecha para este lanzamiento.

Turno de preguntas

Se pregunta cómo se puede hacer para conectar con aplicaciones si no es posible utilizar sockets, y la respuesta ha sido que se ofrecerá una API REST para hacer peticiones a aplicaciones externas. También se le pregunta sobre la calidad de servicio y el por qué decantarse por AppEngine y no por ejemplo por amazon EC2. Sobre esto responde que en Amazon te tendrías que preocupar de escalar tu aplicación a mano (o no hacerlo, si no te interesa gastar mas dinero), mientras que con AppEngine esta escalabilidad será automatica, se cobrará el exceso de consumos. En cuanto a la calidad de servicios no se preveen distintos niveles de acceso, dado que el escalado será automático. Con esta respuesta no me queda claro el punto anterior sobre 'Comprar capacidad adicional' ya que google ampliará unilateralmente los recursos para adaptarlos a las necesidades de la aplicación. Supongo que todos estos puntos se aclararán cuando terminen de desarrollar la licencia de acuerdo con el usuario.

Portabilidad: Se hace patente la preocupación por desarrollar una aplicación en una plataforma que solamente funciona sobre la plataforma de google. se le responde que desde el grupo de trabajo de AppEngine piensa que sería posible migrar la aplicación a otra plataforma, incluso instalar la plataforma en otra infraestructura, pero la complejidad viene dada a la hora de migrar lo datos, ya que habría que implementar BigTable y después sacar todos los datos. En principio no hay manera de exportar todos los datos de la aplicación (de una tacada), habría que hacer peticiones para poder sacar todos los datos. Me ha dado la impresión de que no tienen nada claro este punto y que la gente está preguntando por él.

Bueno, veremos que nos cuentan por la tarde.

Remitente: aitzol naberan.2008/09/25 12:48:43.033 GMT+2
Etiquetas: | Enlace permanente | Comentarios (3) | Referencias (1)

Comentarios

Seguimos: Mano Marks a la tarde en GDD: 16:00-16:50

En principio esta segunda sesion debería comenzar donde termino la primera, pero como esto no estaba advertido en el programa, se empieza con un resumen de la sesión de la mañana. Creo que esto se podia haber evitado si se hubiera dado algo de información sobre el contenido de las charlas, ya que viendo el programa de la GDD2008 parece que por la mañana y por la tarde tendriamos las mismas sesiones. No sé sí será hasí en el resto de las sesiones, pero por lo menos en esta no lo ha sido. Seguro que lo solucionan para el año que viene.

Vuelven a aparecer las tarifas y aprobecho para copiarlas, aunque solo sean orientativas

CPU 10-12 cent/$ core-hour
Storage 15-18 cent/$ GB month
Band out traffic 11-13 cent/$ GB tra
Band in traffic 9-11 c/$ GB trans

Afirma que para fin de año tendrán preparado el esquema de pagos por consumo extra.

Despues de este resumen Mano ha abierto un turno de preguntas, las preguntas son básicamente las mismas que se han hecho por la mañana: portabilidad, nuevos lenguajes (hay mucho fan de java por aqui... hay alguno que le ha hechado en cara el habeer adoptado python en vez de java. Si hubiera estado por la mañana se habrian enterado de que han elegido python porque era el mejor ;) )

Comenzamos con lo nuevo:

Herramientas para lamacenamiento de datos

Tenemos que definir un modelo para describir los datos. Usando este modelo se generan las entidades que se pueden almacenar y recoger de la base de datos, para ello se utilizan metodos propio de estas entidades (todas las entidades heredan estos métodos). Los que conozcan Django verán similitudes en esta forma de proceder. La mayoria de las propiedades están indexadas (no ha definido cuales), por tanto en principio las búsquedas sobre cualquier propiedad de la entidad debería ser muy eficientes. El gestor de base de datos bajo AppEngine (BigTable) no es un sistema de gestor de bases de datos relacional. No existe un esquema (en el lenguage de BBDD), es una base de datos basado en un Hash table. En la práctica esto implica que si añadimos una propiedad a una entidad despues de haber creado algunos objectos (es decir cambiamos nuestro modelo despues de haber creado algunos objetos) los nuevos objetos tendrán esta nueva propiedad, pero los objectos antiguos no sabrán nada sobre esa propiedad.

Transacciones

Ofrecen transacciones ACID (Atomicity, Consistency, Isolayion, Durability) es decir la transacción termina bien o no termina, y no afecta a otras consultas. Esto esta asegurado, ya que la única manera de realizar las transacciones es via métodos put o get, que estan implementadas por Google.

Contadores

Bigtable no conoce cuantos objetos de una entidad tiene almacenadas. Al ser una tabla hash, Bigtable tiene mezclados distintos tipos de modelos, y conseguir el número total de de tu tipo de objeto es una consulta muy 'cara'. Por tanto parece que la solución pasa por añadir contadores en la aplicación y gestionandolos 'manualmente'. Espero que cuelguen la presentación en alguna parte, porque me gustaría echarle un vitazo mas tranquilamente al código que está enseñando ahora mismo.

Bueno, pues parece que es todo, un turno de preguntas mas. Ya esta otra vez el de java...

Pues la verdad es que se me ha hecho algo corta. La verdad es que AppEngine parece un pastel muy jugoso, podemos tener una aplicación en beta corriendo a coste cero, sobre infraestructuras disponibles 24*365, y si las tarifas que ha comentado Mano son las definitivas se podría tener una aplicación en producción a muy bajo coste, pero. mis dudas pasan por crear un desarrollo demasiado google dependiente: desarrollar para un aplataforma que solo podemos correr en google (teoricamente la migración parece posible, pero creo que el coste en tiempo y recursos sería alto), el sistema de autenticación, estar en manos de esa empresa para ver que te deja y que no te deja hacer...

De todas maneras, seguro que caerá algo en AppEngine.

Remitente: Aitzol Naberan.2008/09/25 17:45:18.829 GMT+2
http://www.codesyntax.com

Gracias por este resumen para los que no hemos estado por el GDD. App Engine es el mejor invento desde el chocolate con churros, a pesar de sus limitaciones. Hay gente de Google trabajando en una implementación libre de App Engine, como paso intermedio para soportar Perl (está por ver si finalmente dan soporte a Perl). Pero bueno, a los que amamos Python, ya estamos contentos con lo que hay :) De todas formas, PHP podría atraer a muchos programadores.

Remitente: rvr.2008/09/26 19:56:14.545 GMT+2
http://rvr.typepad.com/linotipo/

Hola, muy interesante todo lo de App Engine, pero no comprendo todo lo que se puede hacer. Tengo varios webs desarollados con Google Sites, y tambien uso iGoogle. ¿Se puede desarollar una aplicación con Engine y agregarla a mis webs en Google Sites? ¿y también a mi iGooglee? ¿Para que tipo de aplicación está bien Engine? Bueno si tienes un rato gracias por tu ayuda. Ewan

Remitente: ewan.2008/10/15 12:27:40.604 GMT+2

Referencias

...ara ver el nuevo Tagzania. Y a ello nos aplicamos, a ver si sale pronto. De anfitrión ha ejercido Mano Marks, ingeniero de Google, que habló en el GDD sobre todo de App Engine. En este geo-encuentro simplemente se ...

Referencia: Geo-encuentro con Google | Tagzania Services 2008/09/29 13:25:52.462 GMT+2

Envía un comentario





The CAPTCHA image

Please enter the letters shown in the image in the following text box. Provided by Captchas.net