viernes, 16 de julio de 2010

Reporte de incidencias en Windows Azure

Ayer, en el marco del Microsoft World Partner Conference (WPC) se presentó el trabajo en el que he estado trabajando las últimas semanas. Entre otras novedades relacionadas con CSP destaca una aplicación pensada para que los ciudadanos puedan reportar incidencias que encuentren en las calles y seguir su evolución. La aplicación tiene esta pinta:

image

¿Qué tiene esta aplicación de especial? la tecnología que hay por detrás. Os lo explico a continuación. Para empezar, la aplicación está pensada para funcionar en la nube de Microsoft, en Azure. No os voy a contar las ventajas o los inconvenientes de trabajar en la nube, pero seguro que muchos de vosotros ya habéis oido decir que todo hace pensar que la nube es el futuro y, cada vez más, el presente. De la misma manera que lo está la aplicación, los datos se encuentran alojados en la nube, en SQL Azure.

Todo esto está muy bien pero, ¿podríamos tener la aplicación y los datos en un sistema controlado por nosotros? sin problema. Y ¿podríamos tener la aplicación en la nube y los datos en nuestro sistema, o al inrevés? efectivamente, podríamos. De hecho, una de las partes más interesantes de la aplicación es la posibilidad de seguir los incidentes reportados por los ciudadanos desde un sistema de gestión interno del Ayuntamiento. La aplicación se puede conectar prácticamente con cualquier sistema y en este caso se presentó conectada con Microsoft Dynamics CRM 4.0. Cuando un ciudadano reporta una incidencia el sistema genera un caso en el CRM del Ayuntamiento y, cuando el funcionario encargado de gestionar la incidencia realiza cualquier cambio en dicho caso, el cambio se publica instantaneamente a la vez que se notifica al ciudadano si así lo indicó a la hora de reportar la incidencia.

Muchos de vosotros pensaréis que enviar datos desde nuestro sistema interno a una aplicación publicada en internet no tiene secretos, pero que el proceso inverso es un poco más delicado. Normalmente un sistema de gestión no está publicado en internet y, para que alguien modifique un dato desde fuera lo único que se puede hacer es publicar un servicio web en algún punto que vea nuestro sistema y crear todas las reglas que necesitemos en los diferentes cortafuegos que tenga nuestra infraestructura para que esto funcione. Esto deja de ser cierto con AppFabric. AppFabric nos permite establecer túneles por los cuales fluya la información entre dos puntos cualesquiera, ya sean dos puntos internos en nuestra red, dos puntos externos, o uno interno y otro externo.

La preferencia por tener datos y aplicaciones en sistemas controlados por nosotros o en nubes de terceros es diferente para cada persona y para cada tipo de aplicación. Os voy a exponer algunos de los problemas que suelen preocupar a la gente cuando se les habla de cloud computing.

Seguridad de los datos: efectivamente los datos estan expuestos en internet, pero un buen desarrollo debería asegurar los datos frente a ataques de terceros. ¿Estamos seguros que un error del software no comprometerá los datos que tengo en mi base de datos interna? si podemos responder afirmativamente a esta pregunta podemos confiar en que el software que se ejecuta en la nube puede ser igual de seguro. Si de quien desconfiamos es de la empresa mantiene la nube es como si desconfiamos de la empresa que nos está proporcionando un hosting en una nube privada o de la empresa que mantiene los servidores de nuestra empresa. Mi única preocupación aquí hace referencia a temas legales de LOPD, pero espero y confío en que Microsoft tendrá esto resuelto de una manera o de otra.

Disponibilidad: es más común de lo que yo pensaba que la gente piense que al no tener el control de la infraestructura hay más posibilidades de quedarse sin servicio. Lo que yo pregunto siempre es el número de veces que ha visto fuera de servicio MSN, Technet, Microsoft.com, o Google (para que no digáis que sólo pienso en clave Microsoft). Las empresas que proporcionan servicios de cloud computing, como pueden ser Microsoft, Google o Amazon tienen los mejores equipos tanto técnicos como humanos. Si pretendemos tener un entorno que nos garantice más disponibilidad que la que nos pueden ofrecer estas empresas hay que prepararse para el coste que esto nos va a suponer.´

Conexión a internet: este es quizá el miedo más fundado con el que me he encontrado. Si parte de nuestro sistema está en nuestra infraestructura y parte está fuera, una caída de nuestro ADSL puede ser un gran problema. De todas maneras, encontrar hoy día un proveedor de fibra óptica que nos garantice una altísima disponibilidad no es un gran problema, y si encima lo redundamos con un ADSL de backup yo creo que solventamos el problema. Cierto es que esto tiene un coste pero, ¿qué coste tiene comprar y mantener unos servidores en nuestra propia infraestructura? yo creo que esto último supera con creces lo primero.

¿Y, qué tenemos a cambio? pues tenemos un sistema en producción para el cual no hemos tenido que hacer una gran inversión en hardware y que podremos hacer escalar tanto como queramos a medida que nuestras necesidades aumenten, pagando únicamente por el uso que le estemos dando. Y si el uso crece tanto que hace que los costes se disparen, significará que el uso que se le está dando es tan brutal que el coste que tendría de mantener esto de manera interna también habría sido traumático. De todas maneras siempre estamos a tiempo, si creemos que es lo más acertado, de mover todos los sistemas a una nube privada una vez se estabilice la carga.

En fin, ya veremos qué pasa de aquí a unos años. O todo es mentira y seguimos como hasta ahora o todo es verdad y la mayoría de los sistemas se han ido moviendo hacia las diferentes nubes. Seguramente no será ni una cosa ni la otra…

Related Posts:

  • Configuraciones de compilación en AzureHoy no os aburro con un artículo sino con una información de utilidad que os puede ahorrar un tiempo valioso en ciertas condiciones. El asunto en cuestión puede provocar una excepción como la siguiente a la hora de compilar u… Read More
  • Reporte de incidencias en Windows AzureAyer, en el marco del Microsoft World Partner Conference (WPC) se presentó el trabajo en el que he estado trabajando las últimas semanas. Entre otras novedades relacionadas con CSP destaca una aplicación pensada para que los … Read More
  • Microsoft Tech-ed EMEA 2008 DevelopersHoy ha comenzado en Barcelona la edición de este año del Tech-ed developers (http://www.microsoft.com/emea/teched2008/developer/). Como cada año, se muestran a la comunidad de desarrolladores las novedades y las tendencias de… Read More
  • Spenta StreetCare ve la luzHoy tengo el placer de anunciaros uno de los motivos por los cuales he estado más desaparecido de la cuenta. Las últimas semanas han sido muy intensas debido a que estábamos ultimando los detalles de Spenta StreetCare, un pro… Read More
  • Consumir servicios externos desde código SandBoxed (y II)Hace unos días, en este artículo empecé a hablaros de la posibilidad de realizar una llamada a un servicio externo publicado en Azure desde CRM 2011 Online, pero dejé de lado la parte relativa a CRM, quedándome básicamente en… Read More

0 comentarios: