El día de ayer, desde diversas fuentes (TechCrunch, InfoWorld, Technology Watch, etc.) se critico el "apagón" que sufrio Google Apps Engine, el nuevo producto de Google que permite correr aplicaciones web sobre su infraestructura. El hecho se pinto como un evento que afecto a todo el servicio, y pues la verdad yo me he venido a enterar luego, para ser exactos en la noche de ayer leyendo las noticias. Porque ni mi aplicación de prueba en GAE, ni las que había estado revisando el día de ayer mostraron ningún comportamiento extraño a lo largo del día. Aunque debo aclarar que mi aplicación GAE no es de misión crítica, ni efectúa complicadas operaciones con el DataStore, el cuál fue según Google fue la causa del problema.
Por lo que he visto hay dos versiones de este hecho, por un lado estan los medios como TechCrunch que hicieron referencia a los problemas como un "apagón" del servicio GAE, y por otro lado la versión de la misma Google en el Forum de GAE, que lo describe como "una caída del servicio del DataStore, que afectó sólo a un pequeño número de queries, que luego fue escalando a lo largo del día". Usualmente la verdad siempre esta en un lugar en medio de las dos partes que por un lado critican y por el otro se defienden.
Lo que esta claro ahora, después del problema de ayer es que GAE no es un servicio que Google haya distribuído a lo largo de sus Data Centers, es decir puede ser redundante porque corre en una cluster de servidores, pero definitivamente esta ubicado en un lugar geográfico en particular, y si hay problemas alli, el error puede extenderce a lo largo de todo el servicio. Si tomamos en cuenta que el servicio comenzó su fase beta en Abril y recién a finales de Mayo fue abierto para todo el público, es una explicación de el por qué aún no esta desplegado a lo largo de todos los 36 Data Centers que tiene Google a lo largo del mundo.
Lo que avala mi suposición anterior es que la misma Google afirma haber encontrado el problema, según ellos un error en el DataStore que fue ocasionado por un tipo especial de queries, y que estan planeando aislar los queries, de tal forma que un query mal formado, no contagie a todo el sistema. Lo cuál indica que todo el DataStore está en un sólo lugar físico.
Aunque InfoWorld compara el problema de GAE de ayer con el que tuvo Amazon con su servicio EC2 (Elastic Computing 2) a principios de éste año, pues en realidad no me parece justo es como comparar peras con manzanas, esta bien que ambas sean frutas pero tienen sus diferencias. EC2 es un sistema que permite correr instancias virtuales de servidores, es decir se tiene acceso ‘root’ a un servidor virtual que esta almacenado sobre el servicio de storage de Amazon S3. Desde el punto de vista de un SysAdmin EC2 es un servicio mucho mejor porque podemos instalar el servidor web que nos plazca, el lenguaje de programación que querramos y la DB que se nos antoje, porque es nuestro server propio, sólo que virtualizado y corriendo sobre la nube de Amazon. Algo que no ocurre con GAE donde estamos corriendo sobre la nube que soporta el servicio y estamos limitados a un lenguaje de programación específico (Python), a un sistema de DB específico (DataStore) y no disponemos de un acceso ‘root’ al servicio.
Si bien es cierto Amazon tiene la ventaja en el sector de clusters con su EC2, el costo es su principal problema (al menos para mi), no ofrecen un servicio de prueba gratuito, como si ocurre con Google Apps Engine, y es justamente la razón por la cuál hay varios desarrolladores independientes metidos en GAE.
Esperemos que Google siga manteniendo el espíritu como hasta el día de hoy y acepte las críticas, respondiendolas con soluciones y no con justificaciones como ocurre con el otro famoso monopolio de las TIC que tiene su sede en Redmond.