
El Viaje Fantástico de Tramchester, una Aplicación Móvil Ganadora de Premios
Por
Publicado: June 08, 2016
es una aplicación web móvil de ÷ÈÓ°Ö±²¥ creada para ayudar a las personas a navegar por la red de tranvÃas públicos en Manchester, Reino Unido.​ Ian Cartwright, el consultor técnico principal del proyecto, conversó con Suzie Prince acerca de este y del futuro de la aplicación. Â

Para este proyecto, nos dieron seis semanas para investigar una nueva herramienta o tecnologÃa. La herramienta que analizamos fue Neo4j, una base de datos gráficos. Usamos Neo4j para modelar la red de tranvÃas y calculamos la mejor ruta entre dos estaciones de tranvÃas, usando un algoritmo que buscaba rutas.
QuerÃamos crear un software que funcionara en un ambiente de producción al final de la seis semanas. Con frecuencia, hay la tentación de crear pasos o métodos alternativos manuales, pero nos esforzamos por demostrar cómo algo (como Neo4j) funcionarÃa en el mundo real.​
, nos brinda un ambiente de desarrollo, UAT y producción. Tenemos etapas de compilar, pruebas, carga, e implantación para el desarrollo, implantación a UAT e implantación a producción.​

Además, querÃamos tener una manera de monitorear los estados de las versiones, de una forma segura. Con Snap, logramos la autenticación de forma gratuita y podÃamos monitorear con facilidad y seguridad los estados de las versiones.
A veces se olvidan de la seguridad pero es verdaderamente importante. Son realmente útiles las​  que Snap CI tiene para gestionar nuestras credenciales. Logramos crear un usuario IAM para Snap CI, y luego bloquearlo para que tuviera solo los permisos más mÃnimos requeridos para implantar la aplicación. Antes de esto, tenÃamos habÃa mucho por hacer para mantener todo seguro. La seguridad es ahora un enfoque principal. Considero que es una opción indispensable. Estamos intentando mantener el principio del "menor privilegio de acceso" en todo. Cualquier cosa que facilite la gestión de credenciales y seguridad es bien acogida por mÃ.
La formación en la nube era importante. Actualmente podemos recrear el ambiente completo desde un VPC vacÃo a una aplicación que funcione en apenas cerca de 15 minutos. Si colocamos etiquetas en nuestros recursos, podemos también usar el explorador de costos de Amazon para revisar el costo por ambiente e incluso el número de versión. Por tanto, podremos decir fácilmente "'¿cuánto costó la versión 100 comparada con la 98?"
También estamos usando​ que es una herramienta de fuente abierta desarrollada para otro proyecto. Inicialmente, cuando realizamos las implantaciones, era solo un conjunto de programas de shell, pero ahora hemos migrado a CFNAssist. Nos ha ayudado a borrar varios programas de shell y reemplazarlos con algo que fue testeado más minuciosamente.​
[÷ÈÓ°Ö±²¥Â y Tramchester ganaron el  por su ​uso de la tecnologÃa de base de datos gráficos para crear una aplicación de transporte que sea más rápida, eficiente y flexible que permitiera enfrentar las demandas futuras.​]​
Se publicó originalmente este artÃculo en el CI de Snap, el blog .

¿Nos puede contar cómo comenzó Tramchester?
Tramchester se inició como un​ proyecto innovador de seis semanas que creció de forma no anticipada y lo hemos estado cuidando desde esa fecha.Para este proyecto, nos dieron seis semanas para investigar una nueva herramienta o tecnologÃa. La herramienta que analizamos fue Neo4j, una base de datos gráficos. Usamos Neo4j para modelar la red de tranvÃas y calculamos la mejor ruta entre dos estaciones de tranvÃas, usando un algoritmo que buscaba rutas.
QuerÃamos crear un software que funcionara en un ambiente de producción al final de la seis semanas. Con frecuencia, hay la tentación de crear pasos o métodos alternativos manuales, pero nos esforzamos por demostrar cómo algo (como Neo4j) funcionarÃa en el mundo real.​
¿Qué ocurrió desde que Tramchester comenzó a funcionar en un ambiente de producción?
Hemos facilitado lanzar una versión nueva. Ahora es bastante menos engorroso. Solo conseguimos horarios nuevos y los cargamos. Cuando comenzamos a trabajar en el proyecto, algunas cosas tenÃan una codificación fija.¿Con cuánta frecuencia cambian Tramchester?
Cuando hay actualizaciones de horarios de tranvÃa, casi inmediatamente se activan las tareas de mantenimiento. La red de tranvÃa continúa ampliándose y realizan mucho trabajo, por lo que a la final debemos adaptarnos a esos cambios. Cuando vemos tareas que se efectúan en los tranvÃas, revisamos las modificaciones de los horarios.​¿HabÃa algo especial que requerÃan de sus herramientas para dar soporte a esto?
SabÃamos que querÃamos gestionar nuestras implantaciones como parte del proceso de generación de versiones. En realidad, deseábamos tener implantaciones que se activaran con un solo clic., nos brinda un ambiente de desarrollo, UAT y producción. Tenemos etapas de compilar, pruebas, carga, e implantación para el desarrollo, implantación a UAT e implantación a producción.​

¿Cuáles son las herramientas que le ayudaron a completar Tramchester?
Comenzamos a usar​  albergado en AWS. Debido a que ya no contamos con un equipo principal y solo estamos dedicando unas pocas horas por aquà y por allá, querÃamos una solución que fuera más barata que una instancia de AWS y más fácil de mantener. Al trasladarnos a Snap CI tenemos un servicio que se ejecuta en la nube. Está listo, se mantiene y se actualiza. Desde nuestro punto de vista, se eliminó la necesidad de mantener o colocar parches en nuestra herramienta de CI.Además, querÃamos tener una manera de monitorear los estados de las versiones, de una forma segura. Con Snap, logramos la autenticación de forma gratuita y podÃamos monitorear con facilidad y seguridad los estados de las versiones.
A veces se olvidan de la seguridad pero es verdaderamente importante. Son realmente útiles las​  que Snap CI tiene para gestionar nuestras credenciales. Logramos crear un usuario IAM para Snap CI, y luego bloquearlo para que tuviera solo los permisos más mÃnimos requeridos para implantar la aplicación. Antes de esto, tenÃamos habÃa mucho por hacer para mantener todo seguro. La seguridad es ahora un enfoque principal. Considero que es una opción indispensable. Estamos intentando mantener el principio del "menor privilegio de acceso" en todo. Cualquier cosa que facilite la gestión de credenciales y seguridad es bien acogida por mÃ.
La formación en la nube era importante. Actualmente podemos recrear el ambiente completo desde un VPC vacÃo a una aplicación que funcione en apenas cerca de 15 minutos. Si colocamos etiquetas en nuestros recursos, podemos también usar el explorador de costos de Amazon para revisar el costo por ambiente e incluso el número de versión. Por tanto, podremos decir fácilmente "'¿cuánto costó la versión 100 comparada con la 98?"
También estamos usando​ que es una herramienta de fuente abierta desarrollada para otro proyecto. Inicialmente, cuando realizamos las implantaciones, era solo un conjunto de programas de shell, pero ahora hemos migrado a CFNAssist. Nos ha ayudado a borrar varios programas de shell y reemplazarlos con algo que fue testeado más minuciosamente.​
¿Qué opiniones hay acerca de Tramchester?
Pienso que las personas están emocionadas de ver una aplicación de transporte especÃfica para Manchester. Claro que ahora hay muchas más disponibles.  La idea de que existiera algo que ayude a planificar un viaje de tranvÃa fue apreciada también. Cuando se amplÃe la red de tranvÃa esta tendrá más opciones y, por tanto, una mayor necesidad de tener una ayuda.[÷ÈÓ°Ö±²¥Â y Tramchester ganaron el  por su ​uso de la tecnologÃa de base de datos gráficos para crear una aplicación de transporte que sea más rápida, eficiente y flexible que permitiera enfrentar las demandas futuras.​]​
¿Qué planes hay para el futuro de Tramchester?
Ahora que la red de tranvÃa sigue expandiéndose, debemos revisar la capacidad de uso, nuevamente, ¡ya que la lista de estaciones se está volviendo muy larga!  También estamos viendo cómo se pueden cargar otros conjuntos de datos en la solución de búsqueda de rutas, tal vez de otras ciudades u otros tipos de transporte.​Se publicó originalmente este artÃculo en el CI de Snap, el blog .
Aviso legal: Las declaraciones y opiniones expresadas en este artÃculo son las del autor/a o autores y no reflejan necesariamente las posiciones de ÷ÈÓ°Ö±²¥.