Hace unos cuantos meses, en uno de los muchos videos de Youtube que veo (y que ahora mismo no sabría cual) sobre tecnología y programación, escuche algo tal que así:
Si quieres programar para el futuro, aprende Google App Engine.
Así que, nueva búsqueda a ver …
¿Que es Google App Engine?
Es una plataforma como servicio en la nube, que puede ser usada por desarrolladores y para almacenar aplicaciones web en los servidores de Google. Las aplicaciones están distribuidas por múltiples servidores (de Google), lo que ofrece escalabilidad a las aplicaciones, permitiendo un número alto de peticiones (el propio sistema GAE es el que se encarga de asignar los recursos necesarios según la demanda).
O en lenguaje de calle, es una aplicación para desarrolladores donde pueden publicar sus aplicaciones utilizando la infraestructura de Google. Y además, es gratis! Aunque tiene también parte de pago … pero de eso hablaremos más adelante.
A nivel conceptual, trabajar en Google App Engine es hacerlo en la nube, lo que incluye ventajas e inconvenientes, o sea, hay nuevas reglas que cumplir.
En mi caso, mi primer gran reto es conocer la nube de primera mano, pues hasta ahora, todo lo que he hecho es en local, o en mi propia máquina, o en servidores que tengo “bien” localizados, tanto en mi empresa como fuera de ella. Sea como fuere, al final me acabé descargando una serie de videos sobre GAE para Python entre los que quisiera destacar los de Renzo Nuccitelli (en brasileño, y que podeis seguir en @renzonuccitelli y en www.python.pro.br) y el de Stefano Locatti ).
Google Code Lab
Para mayor fortuna mia, tuve la oportunidad de acudir al Google Code Lab que organizó @miguelcalero de coSfera.es en Córdoba, donde pude comprobar de primera mano la veracidad sobre la afirmación inicial de esta entrada, y todo lo que hace Google para facilitar la vida a los desarrolladores. Ellos te prestan su infraestructura, y tu eliges cómo la usas. Una importante parte es freemium, o sea, gratuita, pero hay otra más avanzada que tiene coste, por aquello de usar la infraestructura de Google.
El ponente de la sesión fue Andrés Leonardo Martínez (@davilagrau), un Googler con mucha experiencia que nos contó la apuesta de Google por la nube, y que incluye desde Google App Engine, pasando por los almacenamientos DataStorage, Cloud SQL, BigQuery, máquinas virtuales, ….. En fin, una extensa variedad de herramientas para los desarrolladores que son el presente-futuro.
Entre los requisitos que se pedían a los asistentes al Google CodeLab era traerte el portatil con unas cuantas herramientas instaladas, entre ellas los SDK correspondientes, pero yo … una vez transcurrida la sesión, añadiría que al menos se debería haber realizado algún ejemplo en Google App Engine, que es un pilar fundamental para el desarrollo en al nube, pues para poder solucionar el ejercicio propuesto se requería venir un poco entrenado de casa. Conforme se avanza en el ejercicio, éste se iba complicando a cada paso, y por supuesto Andrés ofrecia las soluciones que Google tiene disponibles para solventarlo.
Además, la jornada fue realmente completa pues tuve también la oportunidad de conocer a otros desarrolladores en mi ciudad, alguno de los cuales los sigo en Twitter.
Al terminar la jornada volví a casa derrumbado, pensando que … mañana volveré con mi ASP Clásico, mis rutinas en VBA, y algún script que otro en Python, cuando existe todo un mundo en la nube por explorar!!. Por suerte, para avanzar hacia el camino cluod es muy recomendable tener buenos conocimientos de Javascript y jQuery, HTML5 y CSS3, y Python. Por lo menos, mi decisión de apostar por Python es un acierto!
Buen día!