Buscar en el blog de Andrés Cifuentes

martes, 13 de septiembre de 2011

Entre las lineas del Directorio Deportivo

Ventajas de la Plataforma como Servicio: Google App Engine

Adoptar un modelo de Cloud Computing no es una actividad que se pueda realizar de un día para otro, como en la mayoría de los cambios de paradigma, es un proceso que toma tiempo y en el cual se aprende de las experiencias y sobre todo de los errores.

Cuando Augusto Porto nos contactó para trabajar en su portal de Condolencias nosotros acabábamos de llegar el evento de Google IO, donde habíamos visto la plataforma como servicio (PaaS) de Google, por lo que la recomendación fue desarrollarlo sobre esta plataforma para aprovechar sus beneficios.

Nos tomo más tiempo de lo planeado salir con la página por que la curva de aprendizaje fue larga, el cambio de lenguaje y modelo tomó tiempo entenderlo y adaptarlo, particularmente el cambio de la base de datos relacional a Bigtable, el datastore de Google App Engine, sin embargo sabíamos que era un proceso y un reto técnico.

Después de varios meses de desarrollo e iteraciones sobre el sitio de condolencias, surgió una oportunidad de negocio para Augusto con el Directorio Funerario, en donde tuvimos la oportunidad de mejorar el proceso de desarrollo y resolver algunos de los problemas de arquitectura que tuvimos en condolencias.com, este sitio finalmente lo lanzamos hace más de 2 años y de nuevo fue parte de un proceso de aprendizaje. Para el directorio en particular, el reto estuvo en la velocidad de respuesta en donde tuvimos que realizar varias optimizaciones en el navegador y en la plataforma para tener tiempos de respuesta efectivos.

Finalmente este año, 2011, hemos desarrollado y estamos en la fase de lanzamiento del Directorio Deportivo, en donde hemos aplicado la experiencia no solo de los dos proyectos anteriores, también de otros proyectos que hemos desarrollado sobre Google App Engine como los puntos de Vía Baloto y nuestros productos como SupportPanel.

Ventajas Técnicas del Directorio Deportivo

Escalabilidad, que según la Wikipedia es "La propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.". Que para el caso del directorio deportivo implica que sin importar la cantidad de usuarios que realizan consultas sobre el directorio o la cantidad de información que este contenga la experiencia de los usuarios debería ser la misma.

Elasticidad, se refiere a un concepto clave del modelo de plataforma como servicio y esta relacionado con la forma como se cobra su uso pues implica que una aplicación puede expandirse y contraerse según la demanda, en todos sus niveles (Capa de presentación, servicios, bases de datos, seguridad ... ). Esto también implica que los componentes de aplicación pueden crecer de forma independiente el uno del otro. Así que si necesita más espacio de almacenamiento para los datos, debe ser capaz de crecer sin afectar a ese nivel, la reconfiguración o el cambio de los demás niveles. Básicamente, se comporta como una esponja, cuando se agrega agua a una esponja, crece en tamaño, que en el mundo de aplicaciones web significa que entre mas clientes añade, más crece.

Servicio de nivel mundial,  las infraestructuras de "Cloud Computing" como Google App Engine proporcionan mayor capacidad de adaptación, recuperación de desastres completa y reducción al mínimo de los tiempos de inactividad. Comparada con el "hosting" promedio que usábamos para alojar este tipo de desarrollos es imposible comparar lo que se recibe frente a lo que cuesta.
  
Ventajas Funcionales del Directorio Deportivo

Velocidad, el problema de la velocidad es que la medida bajo la que se mide es relativa a la experiencia del usuario, y es claro que cada vez estamos frente a usuarios mas exigentes, yo diría casi que mal acostumbrados, ahora todos los usuarios van a comparar las aplicaciones con Facebook, con Google, con Amazon, y obviamente a ninguno le interesa saber que la infraestructura y la cantidad de ingenieros que hay detrás de cada una de ellas supera por cientos los disponibles en un mercado como el latinoamericano. De ahí que al utilizar una plataforma de clase mundial con un desarrollo cuidadoso en desempeño, un diseño controlado mas no optimizado, se tengan tiempos y velocidades de respuesta muy comparables con desarrollos de productos o servicios de primer nivel.

Flexibilidad, En esta nueva versión del directorio nos hemos enfocado en aumentar la flexibilidad de la herramienta permitiendo a los anunciantes tener mas información, en diferentes estilos y formatos, por ejemplo pueden incluir vídeos, presentaciones o galerías fotográficas. 

Facilidad, simplificando la interfaz de búsqueda hemos mejorado la capacidad para que las personas encuentren la información que necesitan, aprovechando el motor de búsqueda textual recientemente liberado por Google sobre el App Engine. Adicionalmente hemos mejorado los filtros por ubicaciones para adicionarle un contexto a la información y ayudarle a las personas a encontrar lo que realmente están buscando.

Esperamos continuar aprovechando todas las herramientas tecnológicas del primer mundo para aplicarlas en nuestro ámbito de influencia y así continuar cerrando la brecha entre el mundo en el que estamos y el que soñamos estar. 

Andrés Cifuentes
Septiembre 12, 2011