Thursday, April 12, 2012

Sobre chipas y la nube de Google


Mi nombre es Lucas y soy parte del equipo de desarrolladores de Roshka.
A modo de fortalecer los vínculos sociales, una costumbre convertida en tradición dentro del círculo de programadores de la empresa, es hacer pedidos de chipa los días viernes.
Papel y lápiz en mano, la persona encargada de organizar las ordenes de chipa del día recorría todas las oficinas recolectando pedidos. Concluida esa primera fase del proceso, el organizador del pedido se dirigía a la chiperia para hacer las compras.
El sistema, si bien altamente efectivo, carecía del “factor ornamental” que idealmente debiera regir todo orden de eventos dentro una empresa informática: la sistematización del procedimiento.
Concernido por este hecho, poco más de cinco meses atrás me propuse el objetivo de desarrollar una aplicación web para automatizar el antaño procedimiento de pedidos de chipa como pretexto para iniciarme en el aprendizaje de Python y la incursión en una tecnología que viene acrecentando su peso en el presente de la futura vanguardia informática: el cloud computing.
Chipas-inthecloud (chipas-inthecloud.appspot.com) es el resultado de la combinación de ambos factores. Hosteado en la nube de servidores de Google, el sistema fue desarrollado íntegramente en Python mediante el servicio PaaS Google App Engine.
Una resumida referencia a las características, ventajas y restricciones del servicio puede encontrarse en el siguiente recurso:
A mi criterio, lo más rescatable del App Engine es el alto nivel de abstracción ofrecido respecto a factores no siempre ágilmente implementables como ser la interacción con las cuestiones relacionados a la infraestructura y el manejo de los servicios y tecnologías propias de la plataforma de hospedaje, permitiendo al programador enfocarse puramente en la lógica de negocios y el subsecuente desarrollo del sistema.
El manejo de persistencia de la aplicación se concretó a través del API de almacenamiento de datos NoSQL provisto por el entorno de desarrollo del App Engine. Los reportes fueron construidos mediante una librería Python para la generación programática de documentos PDF, llamada Reportlab. Chipas-inthecloud hace uso de los servicios de autenticación, envío de mails y mensajes XMPP nativos del AppEngine. Una actividad cron que se ejecuta cada minuto controla el tiempo de expiración de los pedidos, para enviar automáticamente las notificaciones correspondientes a los usuarios que participaron del mismo.
Captura de chipas-inthecloud corriendo en el localhost y no en la nube



Lejos aún de dominar Python y sin poder apreciarme el merito de haber escrito un sistema libre de potenciales fallas, puedo concluir que la experiencia de desarrollo fue muy gratificante. La documentación existente del AppEngine facilita un proceso de formación muy ágil. La puesta en producción de una aplicación escrita desde cero admite estándares de relación tiempo/esfuerzo imponderables. GAE es una de las mejores ofertas existentes en el mercado para todos aquellos con deseos de incursionar en el desarrollo de aplicaciones web en la nube.

6 comments:

  1. Impecable POST. Que siga la innovación, investigación y desarrollo!

    ReplyDelete
  2. Espectacular,

    Valor tanto la parte tecnica como el hecho de que una empresa tenga cultura corporativa.

    Es bueno ver que se hagan esta clase de cosas en nuestro pais.

    Felicidades a la gente de Roshka!

    ReplyDelete
  3. felicitaciones a la empresa de Roshka por tener personas altamente capacitadas y jovenes en la empresa que queran dia dia superarse.Excelente tu trabajo LUCAS

    ReplyDelete
  4. FELICITACIONES LUCAS Y TAMBIEN A LA EMPRESA ROSHKA POR TENER MENTES TAN BRILLANTES COMO ESTAS! ESTOS CEREBROS NO PASAN DESAPERCIBIDOS

    ReplyDelete