Google Apps Engine en problemas

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.

Blogger extremo

Ya he comentado en un post anterior mi idea de tratar de mover éste blog, que actualmente esta corriendo sobre un WordPress, hacia Blogger, la muy popular plataforma de blogging de Google. Las razones que presenté eran básicamente dos: escalabilidad y disponibilidad.

Escalabilidad, es la propiedad de poder atender un tráfico creciente sin que el servidor colapse. Disponibilidad, es la propiedad de tener el blog disponible 24/7 (24 horas del día, 7 días a la semana). Usando Blogger uno consigue esas dos valiosas características, que no tenemos al usar un servidor propio corriendo WordPress, aunque hay otras que ganamos a cambio.

La principal ventaja de tener nuestro blog, hosteado en un sevidor independiente es que podemos tener nuestro propio nombre de dominio (lo cuál nos da identidad propia), mostrar nuestro propio favicon (tambien nos da identidad propia), y finalmente nos liberamos de la odiada barra de navegación de Blogger, que puede distraer a nuestros lectores llevándolos a otros blogs, y que finalmente le dice a nuestros lectores que estamos en un servicio gratuito, lo que para muchos visitantes puede ser sinónimo de baja calidad, aunque eso no sea cierto para nada.

Pues bien las razones anteriores ya no son motivo para salir de Blogger, he estado experimentando y he levantado un blog en Blogger (http://tvperuana68.blogspot.com), que es accesible usando un dominio propio http://www.tvperuana.com/, que tiene un favicon propio y además no muestra la odiosa barra de navegación de Blogger, todo con simples cambios en el control panel.

Otra ventaja que descubrí al hacer la creación del blog en Blogger, es que automáticamente el blog es indexado por los principales directorios como Technorati y Google lo indexa más fácilmente, por ejemplo el blog recién tiene 1 día de creado y el PR (Page Rank), ya es de 2.

La parte más complicada actualmente es el cambio del favicon, ya que no hay muchos servicios gratuitos que nos permitan subir un favicon que sea luego públicamente accesible a través de la web, yo lo he resuelto temporalmente usando uno de mis servidores, pero se me ha ocurrido desarrollar una aplicación en GAE (Google App Engine), que permita a las personas subir un favicon y luego acceder a él a través de un URL.

No se si valdría la pena escribir un tutorial expliacando como hacer ésta personalización de un blog en Blogger, pues a lo largo de diversos post he ido describiendo como hacer los cambios, aunque siempre es bueno tener un sólo documento que consolide todo, esperaré los comentarios para ver si vale la pena hacer dicho Howto.

Por cierto el Howto de cómo integrar CodeIgniter con el API de Blogger no ha sido visitado, lo cuál me lleva a pensar de que no hay mucho interes sobre ese tema, pero al menos para mi si es importante porque yo estoy con miras a migrar mi blog hacia Blogger y cómo dije antes, quiero tener siempre un WordPress sincronizado en caso de que las condiciones de servicio de Blogger cambien (Google se vuelva malo). No puedo con mi genio como todo SysAdmin soy demasiado paranoico.

¿Es Youtube un desastre financiero para Google?

En éstos días en que la atención esta centrada en el triangulo amoroso Yahoo-Microsoft-Google, han comenzado ha salir a flote todo tipo de temas relacionados con los protagonistas de la novela de moda en el sector de las TIC (Tecnología de la Información y Comunicaciones). Uno de estos temas conexos me ha llamado la atención, ¿Cuál?, el que Google estaría pensando cerrar YouTube debido a la poca rentabilidad de éste popular sitio de Internet. ¿Quién ha dicho ésto? pues he encontrado un par de artículos que proponen esta tésis, uno titulado "Google: no sabemos como hacer dinero con YouTube", aparecido en TimesOnline, y otro se titula "Si no encuentran una solución, debería Google matar a YouTube" aparecido en el blog "The Digital Home" de Don Reisinger.

Ambos artículos señalan básicamente lo mismo que Google no esta haciendo suficiente dinero en comparación con lo que ha invertido en la adquisición de YouTube (1650 millones de dólares americanos), y por lo tanto la adquisición que hizo Google es un desastre y debería cerrar o vender el popular sitio que permite compartir videos. Alegan además que ha Google le cuesta demasiado operar YouTube, por los costos legales relacionados a los juicios por derechos de autor, y sugieren que en el original YouTube eso no era un problema porque como la empresa estaba en quiebra, los titulares de los derechos sabían que hacerle un juicio no rendiría beneficios económicos, sin embargo ahora si les resultaría económicamente rentable hacer un jucio por infringir derechos de autor a Google.

Otra cosa en común que tienen los dos artículos es que usan como su fuente principal unas declaraciones hechas por el propio CEO de Google Eric Schmidt, algunas de las cuales las han sacado de contexto, un breve resumen de las declaraciones que Schmidt hizo en una entrevista con Ken Auletta (el pasado 11 de junio en San Francisco), que han llevado a concluir que Google debería cerrar YouTube pueden ser leídas en el blog de Dan Farber "Outside the lines", y aquellos que dispongan de suficiente tiempo pueden ver el video completo de la entrevista en The New Yorker.

Lo que no han dicho ambos artículos es que YouTube es el tercer website más visitado de todo Internet, según Alexa a la fecha de hoy, aunque en algún momento llego a ser número uno. Otra de las cosas que no han dicho ambos artículos es que si bien es cierto YouTube no produce todo el dinero que genera AdWords, según Forbes una prestigiosa publicación del sector financiero, los ingresos generados por YouTube este año seran de $200 millones y el próximo llegarían a los $350 millones, es esa cantidad de dinero "despreciable". Finalmente aunque no menos importante es que la adquisición de YouTube no se hizo en efectivo, sino fue un intercambio de acciones; es decir se les pago con acciones de Google a los accionistas de YouTube, por lo tanto la empresa no ha adquirido un pasivo (prestamo) para adquirir YouTube, así que cualquier dinero que entre mucho o poco ya es ganancia.

En lugar de pensar de que esos artículos han sido financiados por Microsoft para tratar de sabotear el trato Yahoo-Google (el cuál ya esta cerrado), haciendo lucir a Google como un mal socio (partner) y tratando de vender la idea de que es falso que Google es el Rey Midas de los anuncios por Internet. Por el contrario yo prefiero pensar que han sido un par de despistados columnistas, escritores de profesión, que no conocen el medio de las TIC, que se olvidaron de googlear sobre el tema, y sencillamente escribieron un par de artículos sensacionistas cuya única finalidad era atraer lectores.

Herramienta gratuita para generar templates de Blogger

Si Ud. es un usuario de Blogger, no le gustan los templates disponibles y tiene suficiente tiempo para hacer el suyo propio, a lo mejor le puede interesar PsycHo, una herramienta gratuita que le permite crear sus propios templates en Blogger. Lo mejor de todo con PsycHo es que no requiere que sepamos HTML o CSS todo es completamente gráfico y basado en menus, si puede hacer click puede utilizar ésta herramienta.

Practicamente todos los elementos del template se pueden personalizar. Por ejemplo nos permite elegir un layout (distribución general de la página) asi podemos seleccionar entre una columna, dos columnas (con el menu a la izquierda o derecha) o tres columnas;  los colores y la posición de los elementos dentro del template son igualmente personalizables. Con suficiente tiempo y creatividad se puede diseñar un template agradable a la vista y lo mejor de todo, completamente original. Adicionalmente a la sencillez  de uso tiene un FAQ en inglés, cubre las dudas básicas que uno pueda tener sobre el uso del utilitario.

Aunque el autores del proyecto (Aidin) recomiendan trabajar con Firefox, he visto que funciona igualmente con IE y Opera. Una característica que me llamo la atención es que tiene Farsí como una opción en lenguaje, lo cuál me lleva a pensar que Aidin es persa.

Definitivamente una muy buena aplicación basada en web, en lo personal por lo sencillo y práctico de la idea me agrada.

Usando el API de Blogger en CodeIgniter

Acabo de terminar un HowTo sobre como integrar el API de Blogger para PHP5, que está disponible como un componente del conocido framework Zend, dentro del framework que más me agrada por su facilidad de uso y flexibilidad CodeIgniter. El howto puede ser encontrado en éste blog en la sección de "Tutoriales y Howtos".

La pregunta que alguien podría hacer es la siguiente, ¿para qué usar un API para extraer los posts, si de por sí Blogger los muestra?, y ciertamente esa fue la pregunta que me hice la primera vez que ví el API de Blogger, pero poco a poco me he dado cuenta de su utilidad. La primera y más obvia es que se puede usar la infraestructura de Blogger como una gran DB que contenga todos los posts y comentarios, de esa manera nuestros datos siempre estaran protegidos además de que podremos escalar nuesto blog fácilmente porque sólo se necesitaría añadir un webserver adicional que corra exactamente la misma aplicación que usamos para renderizar las páginas de nuestro blog y con un round-robin DNS repartir la carga.

Otra posibilidad es usar blogger como un CMS (Content Managment System), sistema de administración de contenidos, es decir podemos hacer con el API un mushup que transforme Blogger en algo parecido Mambo o Joomla, con las ventajas de que la data esta protegida y es fácilmente escalable. Incluso hasta podemos hacer que Blogger se comporte como un forum, sencillamente reorganizando la forma cómo se muestran los comentarios.

En conclusión las posibilidades son infinitas, incluso si no te gusta ni PHP y Apache, puedes usar Python y lighttpd en caso de que desees una aplicación super ligera que pueda correr sobre servidores antiguos.