sábado, 16 de agosto de 2008

Mi primer proyecto en el CERN

Pues bien, ya tengo proyecto asignado en el CERN y ya se qué esperan de mí. Concretamente lo que quieren es un:
Generador de estadístivas de Subversion

Aquí en el CERN usan actualmente CVS como su principal aplicación de control de versiones con más de 100 proyectos activos en el servidor central. Sin embargo, quieren pasar todo el sistema a Subversion (también llamado SVN) que parece que está teniendo mucho tirón últimamente en las grandes empresas. Para ello, tienen que pasar todos los servicios que tenían en CVS a SVN.

Uno de los servicios que tenían en CVS era un generador de estadísticas hecho en el mismo CERN. Inicialmente tengo libertad absoluta para realizarlo como quiera, ya que el servidor que use sólo correrá un interfaz web de SVN y mi generador de estadísticas, así que ya me he puesto manos a la masa.

En primer lugar, comentar varias cosas del estado actual:
  • La autentificación se hace mediante LDAP
  • Hay un sólo servidor de backend para SVN con copias automatizadas a un superservidor que tienen llamado CASTOR.
  • Hay un servidor que hace de frontend para las peticiones de SVN. En caso necesario se pondrán más.
  • Hay un servidor que hace de frontend web para SVN, que es donde irá también mi generador de estadísticas. En caso necesario se podrían poner más.
  • Hay un servidor con Trac para el seguimiento de fallos y mejoras, que está enlazado con el SVN.
Después de estar pensando y mirando en internet, creo que la mejor opción para implementar mi proyecto es la siguiente:
  • Lo mejor es generar las estadísticas una vez al día y que lo generado sea HTML estático e imágenes.
  • Intentaré usar software libre lo más posible. Especialmente para el generador de estadísticas en sí. Ya he visto 3 proyectos: StatSVN, SvnStat y MPY SVN STATS. El primero es el que más me gusta de momento. Lo más probable es que tenga que aportar cambios a la comunidad ya que en el CERN quieren cosas concretas que pueden no tener estos programas.
  • Creo que lo más fácil será usar un script de bash que haga todo usando otras aplicaciones y herramientas del sistema, y que Cron lo ejecute una vez al día.
  • El script de bash estaría monitorizado por una aplicación del CERN llamada LeMon que se encarga de monitorizar los servicios internos.
  • Todo el despliegue de la aplicación se hará con quattor, que es una aplicación del CERN que se encarga de controlar los servidores y actualizar sus configuraciones automáticamente. Así si hace falta otro servidor, el despliegue será casi inmediato.
  • Usaré el módulo LDAP de Apache para la autentificación de los usuarios. Al ser páginas estáticas, bastará con un fichero .htaccess en cada directorio para controlar el acceso.
Pues eso es todo. Ya les hablaré más adelante cuando lo tenga casi terminado, jeje.

Un abrazo,
David

5 comentarios:

Anónimo dijo...

Y la pregunta es... Eso de trabajar con estadísticas de Subversion de CVS es mejor o peor que trabajar con CCBNR?

Sólo curiosidad... :P

Anónimo dijo...

Sólo una curiosidad... y eso de sacar estadísticas de subversion de CVS... ¿es mejor o peor que trabajar en CCBNR? Aunque con poco eso es mejor que clearcase... a saber

David Horat dijo...

Puesss, es diferente. Aquí tengo libertad casi absoluta para hacer el proyecto como quiera (tecnologías a usar, diseño, etc.). Lo único que tengo son unos requisitos mínimos y tiempo más que de sobra para el proyecto.

Sinceramente, este proyecto se podría hacer en cualquier empresa, no es algo intrínseco del CERN, pero esto me lo estoy tomando como unas vacaciones con algo de trabajo. :)

Si quieres más información sobre Clearcase vs Subversion, échale un vistazo a estos enlaces:

http://www.versioncontrolblog.com/comparison/ClearCase/Subversion/index.html

http://svn.haxx.se/users/archive-2004-08/0741.shtml

¡Saludos a todos por esos lares!

Reena dijo...

Y no te han hecho firmar un NDA? qué raroooo.....

David Horat dijo...

Puessss no. ¡Esto es el CERN! Aquí se hace casi todo con capital público y lo que se genere es de conocimiento público. Lo que desarrollamos en software se convierte en software libre (casi todo). Así que bien.

De lo que no te puedo hablar es de los proyectos en Ericsson, como por ejemplo el ..... AH NO que si no te tengo k matar. xDDDD