Archivo para 'octubre, 2008'

Hackmeeting + OSWC: ¡viva Málaga!

 | 26/10/2008 11:18 am

Ya han pasado unos días desde que regresé de Málaga pero aún no me he recuperado del todo de las emociones que he vivido en esos días. Dos eventos increíbles en tan poco tiempo era una oportunidad que no podía perder y tras hacer lo imposible conseguí estar en los dos: Hackmeeting 0.8 y Open Source World Conference 2008.

Hace ya bastante tiempo que tenía ganas de asistir a algún Hackmeeting pero por A o por B nunca me había sido posible. Esta vez y aprovechando que enlazaba con la OSWC en la que Andago pondría un stand y que se podía aprovechar el viaje para hacer un 2×1 me lancé a asistir, además tras hablar con acs pillamos el hotel a medias con su correspondiente reducción de coste :D. Me encantó el ambiente del hackmeeting, esas ganas de colaborar entre todos para llevar a cabo el evento, charlar con la enorme diversidad de gente que asistía al evento, los nodos que se prepararon y la energía que se genera entre todos.

El CSOA de la casa invisible es encantador con su enorme patio, su tetería y todo el espacio para realizar las charlas y eventos. Al principio me sentí un poco extraño en un ambiente tan alternativa pero poco a poco te acoges a la dinámica y empiezas a pasarlo bien. Yo llegué ya por la noche, así que no pude estar en la manifestación, parodiando una misa de alabanza a root, que según me cuentan fue muy divertida y que luego se repitió en el pabellón de la OSWC unos días más tarde. Mi primer contacto fue con la asamblea general del Hackmeeting dónde me enteré mucho mejor de cómo funcionaba y se coordinaba la gente.

Ya al día siguiente, después de hacer un poco el cabra y de turismo por la playa, estuvimos trasteando un poco con Arduino, la verdad es que me sorprendió lo fácil que es hacer cosas con estas plaquitas y las muchas posibilidades que te ofrecen. Por la noche estuvo muy interesante la cena en un chino con acs y Mirian Ruiz dónde charlamos sobre Debian, licencias y forjas. Para más tarde, ya a altas horas de la madrugada, asistí a dos nodos sobre web semántica y las posibilidades que nos da el análisis de datos en la red que me despejaron completamente. Quizás, y fue un tema muy comentado, eché de menos más nodos de seguridad y demás temática hack, aunque la parte social del evento también me interesaba.

El domingo me tocó currar de lo lindo, ya que el lunes Andago liberaba Opencities 2.0 en la OSWC y había que hacer algunos retoques a los paquetes y demás así que no pude acercarme por la invisible a despedirme, un saludo a todos desde aquí. Aún así saqué un ratito para quedar a comer con mi colega Sean que me llevó a disfrutar de los chiringuitos malagueños.

Y por fin llegó el Lunes ya se abría la OSWC en la que Andago participaba cómo patrocinador y en la que desplegamos un stand y se impartían varias charlas sobre nuestras soluciones. La verdad es que de siempre me han encantado las ferias y me hacía ilusión participar en una desde dentro. La participación fue enorme y desde el primer día la gente abarrotaba los stands y las salas de conferencias.

En cuanto a las charlas me gustó bastante la de Tim O’Reilly aunque me decepcionó un poco que restara importancia a los logros que hemos conseguido ya en el software libre, minimizándolo frente otros logros y ensalzando el modelo de nube que se está generando ahora. Para mí algunos problemas que genera este nuevo modelo son la perdida de privacidad, la perdida de control sobre las aplicaciones, la imposibilidad para cualquier persona para reproducir el desarrollo de forma personal o corporativa (no todo el mundo tiene granjas de servidores) y que muchas de las soluciones no son libres, eso sí son muy cómodas y muy potentes pero entramos en el debate de siempre. Luego estuve un rato por las charlas de desarrollo con Arduinos cómo la de cuadrúpedos libres.

Una de las cosas que más pena me dio es volver a comprobar la imposibilidad de coordinación que hay entre administraciones públicas y demás estamentos. Antes se trataba de las distribuciones regionales en la que ha sido muy difícil llegar a reutilizar los esfuerzos de unas para las otras y ahora le toca el turno a la forjas. ¿Ya tienes tu propia forja en casa? Pues en la OSWC pudimos ver cómo empujando cada uno para un sitio se diluye el esfuerzo y oímos hablar de OSOR, VULCANO, el CTT y demás que vienen a unirse las que ya teníamos a nivel regional cómo las de Cataluña y Galicia, así cómo a la de rediris y otras internacionales cómo Sourceforge. Señores pongase de acuerdo y colaboren, ¿no va esto de eso? Ahí va otro ejemplo, en una charla del CENATIC afirman haber creado el primer directorio de empresas de fuentes abiertas de España… no sé si habría algún matiz de esos de abogado en la frase pero señores, estudien la historia que ya ha habido unas cuantas. Y sin olvidar cuando salen a la palestra las grandes empresas y se dedican a medirse los miembros… yo tengo más gente, yo tengo más desarrollos, yo tengo los más antiguos y yo los más bonitos. Muy bien señores, mientras favorezcan al software libre cuanto más tengan mejor para todos.

Me gustó bastante la tanda de charlas de virtualización OpenXVM, OpenVZ y ModularIT que confirman las grandes posibilidades que tiene el software libre en este campo cada día más extendido entre las empresas. Mientras que la otra cara de la moneda fue la charla de SUN supuestamente titulada: Glassfish + Mysql + Netbeans en la que se presentó un tipo a restregarnos toda su suite de software privativo (Vista + Powerpoint) y en la que se dedicó a mal bajarse el paquete de Netbeans y hacer una triste JSP con el asistente. A la próxima, por favor, titule la charla «Cómo hacer un JSP en 40 minutos» y se ahorrará mi presencia.

Me perdí la charla de los «gurús» y estoy esperando que la suban a la web del OSWC. Y por último estuve en una charla sobre asociaciones de empresas de Software Libre en la que presentaba la gente de Asolif y representantes de Amesol, que sería su versión Mexicana. Al terminar la charla me quedé un rato platicando con los cuates de Amesol y me dio mucho gusto ver que las cosas se mueven por allí también, quién sabe dónde puede acabar uno 😉 . Por último conseguí, tras una hora de cola, hacerme con mi certificado digital de la fábrica nacional de moneda y timbre, que hace tiempo quería conseguir pero nunca sacaba tiempo para hacer el trámite.

En definitiva me encantó la OSWC y creo que estos eventos dan un gran impulso al Software Libre a todos los niveles: institucional, empresarial y personal, mi enhorabuena a los organizadores. Quizá la única pega que se produce al haber tanta gente es que es más difícil el consabido «networking», es decir conocer gente interesante, charlar, hacer negocios, etc… cosa que creo que en el congreso Hispalinux del año anterior era algo más cercano.

Una pieza que faltaba: El Sistema de Integración

 | 1/10/2008 3:20 pm

Bueno ya llevo mis primeras semanas dedicadas al tema de Arquitectura de Plataforma y sumergiéndome en el mundillo del desarrollo Java, aunque sea desde el punto de vista no ya del desarrollador sino de la gestión de sistemas y la organización de proyectos. El primer punto en el que queríamos focalizar los esfuerzos es en la gestión de entornos: desarrollo, pre-producción y producción y el paso que realizan los proyectos a través de estos.

Primero describir el escenario inicial: existen diversos grupos de desarrolladores trabajando en varios proyectos, muchos de ellos interelacionados entre si. Este proceso de desarrollo muchas veces se realiza en la propia máquina de los desarrolladores y se va subiendo a un repositorio común, en nuestro caso subversion. El problema aparece cuando se intenta llevar una versión a producción y esto se hace desde el equipo de algún desarrollador, por lo que en muchos casos ese código ni ha subido aún al subversion, se tienen instaladas librerías o versiones del JDK que no se corresponden con las que hay en producción, no queda registrada que versión pasa a producción y cuál había, otras veces el proyecto se compila dentro de la máquina de producción, etc… es decir, en el caso de un desarrollo ya medianamente grande se va creando un pequeño/gran caos.

Para solucionar este problema hemos desarrollado el siguiente esquema de funcionamiento en el que encontramos una pieza clave: el servidor de integración.

Todas las «piezas» que se quieran pasar a producción deberán ser construidas en este servidor de integración y además siempre se obtendrán todos los elementos necesarios para la construcción del sistema apartir del control de versiones.

Con ello matamos varios pájaros de un tiro:

– Tendremos controlada la versión de los proyectos desplegados, sobretodo si generamos un Tag de subversion tras la compilación correcta.
– El entorno de construcción está controlado, siempre se usará la misma versión de la máquina virtual, librerías, etc… y nos aseguraremos que en producción dispongamos de ese mismo entorno.
– No requeriremos de compiladores ni dependencias de ese tipo en los entornos de producción, cosa que es altamente recomendable por motivos de seguridad.
– Los desarrolladores ya no tendrán acceso a las máquinas de producción, simplemente tendrán que solicitar una nueva compilación de su proyecto al servidor de integración y los encargados de sistemas lo pasarán a pre-producción y una vez probado a producción.

Buscando alguna interfaz que nos permita hacer más amigable el proceso de compilación de proyectos en una máquina remota me he encontrado con los llamados servidores de integración continua, a los que dedicaré un post individual, pero que nos pueden facilitar enormemente esta tarea además de darnos algunas ventajas adicionales.

Por otro lado hemos descubierto que no debemos basarnos únicamente en los elementos ejecutables que pasan a producción, sino que en muchos casos habrá que hacer subidas también de datos requeridos para el funcionamiento de la aplicación: modificaciones a las bases de datos o al LDAP o directorios con ficheros necesarios. Estos objetos se empaquetarán junto con la consiguiente nueva versión del proyecto y deberán gestionarse de forma paralela a este, tanto en versionado cómo en su posterior subida a producción.

Finalmente otra gran ventaja la encontramos al disponer de entornos de pre-producción para cada proyecto que nos permitan probar las nuevas versiones de las aplicaciones antes de pasar a producción. Una buena infraestructura de virtualización nos puede ser de gran ayuda en esta parte ya que nos va a permitir tener multiples entornos dentro de un mismo servidor compartiendo recursos.