Comparativa de sistemas de control versión distribuidos

Siguiendo la temática de los últimos artículos sobre Bzr, Git y Trac… he encontrado una comparativa exhaustiva que vale la pena leer (aunque sea en diagonal): Distributed Version Control Systems: A Not-So-Quick Guide Through.

En resumen, viene a indicar que Git es el sistema más eficiente en términos de espacio y CPU, además del favorito de los programadores C / Linux / Ruby / Rails. Por otra parte, Mercurial queda en un segundo lugar y es preferido por programadores Java / Sun y finalmente tenemos Bazaar, favorito para los desarrolladores de Ubuntu (launchpad soporta Bzr).

Trac, gestión documental e incidencias/mejoras con repositorio Git

Trac es un sistema de gestión documental (wiki), incidencias/mejoras (issue tracking system) para proyecto de desarrollo de Software.

Actualmente, en su especialidad es uno de los sistemas más utilizados. La versión original se encuentra diseñada para ser integrada con repositorios de control de versiones Subversion, pero existen diversos plugins que nos permiten utilizar otros backends… como por ejemplo Git.

Veamos como podemos instalar y poner en marcha el sistema Trac con un repositorio Git…
Continue reading Trac, gestión documental e incidencias/mejoras con repositorio Git

Tailor: conversion de repositorios CVS, Subversion, Git, Bzr…

Tailor es una herramienta que nos permite convertir repositorios de control de versiones de forma que si tenemos un proyecto que ha sido mantenido con un repositorio Subversion, podemos migrarlo a un repositorio Git para así cambiar el sistema de control de versiones.

En mi caso lo he utilizado para migrar un proyecto que gestionaba mediante Bazaar-NG (bzr) a Git. Para ello, tenemos que crear un fichero ‘tailor.conf’ donde indicaremos la ubicación del repositorio original y el destino:

[DEFAULT]
verbose = True
patch-name-format = “”

[project]
source = bzr:source
target = git:target
start-revision = INITIAL
root-directory = /home/usuario/repo-git/
state-file = tailor.state

[bzr:source]
repository = /home/usuario/repo-bzr/


[git:target]
git-command=/usr/bin/git

Y a continuación ejecutamos ‘tailor –config tailor.conf’. En mi caso la transformación ha sido exitosa, pero en caso de que encontréis alguna carencia… existen multitud de herramientas alternativas.

Git, sistema de control de versiones distribuido

Hace ya algún tiempo escribí un post sobre Bazaar NG (bzr), el cual es un sistema de control de versiones distribuido que tiene el soporte de Canonical (empresa que también da soporte a Ubuntu). No obstante, .

Git es un sistema de control de versiones distribuido creado por Linus Torvalds para mantener el desarrollo del kernel Linux. Últimamente parece que Git esta ganando más y más adeptos. Por ejemplo, (p.ej. Ruby on Rails) ha migrado su sistema de control de versiones de Subversion a Git.

Git tiene bastantes similitudes con Bazaar NG o bzr (del cual ya hablé en un post anterior) dado que ambos son sistemas distribuidos (a diferencia de Subversion o CVS). Bzr fue diseñado e implementando pensando en la facilidad de uso, mientras que Git esta más orientado a proporcionar la mayor cantidad posible de funcionalidades. Por otra parte, Bzr esta desarrollado en Python cosa que lo hace muy portable pero menos eficiente, mientras que Git ha sido implementado en C ofreciendo un mejor rendimiento (en términos de espacio y CPU).

Personalmente, para el tipo de uso que doy a estas herramientas, no he apreciado grandes diferencias en cuanto a rendimiento (si bien nunca he mantenido proyectos con tantas LOC como puede tener el Kernel de Linux) y tampoco me ha parecido mucho más complicado Git. En cualquier caso, debo decir que la sensación general es que Git es el más atractivo de los dos. Y por supuesto, ambos son mejores opciones que el uso del obsoleto CVS o el popular Subversion… una vez pruebas los distribuidos, ya no quieres otra cosa 😉

Veamos como podemos utilizar Git…
Continue reading Git, sistema de control de versiones distribuido

Inyecciones de liquidez de los Bancos Centrales

Debido a la crisis mundial originada a partir de las hipotecas basuras y las aseguradoras monoline, desde hace tiempo escuchamos por las noticias que los bancos centrales (BCE o la FED por ejemplo) hacen uso de la política monetaria para dar confianza e inyectar liquidez al mercado. Acabo de encontrar un interesante artículo (a través de GurusBlog) que explica de donde sale ese dinero: ¿Quién paga y cómo las macroinyecciones de fondos que realiza la Fed y el BCE?.

BS 25999-1: Gestión de la Continuidad del Negocio

El estándar BS 25999-1 presenta los procesos y principios necesarios para una adecuada gestión de la continuidad del negocio que permita cubrir las necesidades de clientes y organizaciones.

La gestión de la continuidad del negocio (Business continuity management – BCM) consiste en la mejora proactiva de la resistencia (resilience) de la organización frente a contingencias. Por otra parte, proporciona mecanismos para restaurar los productos y servicios clave a un nivel aceptable y dentro de un marco temporal limitado, protegiendo la reputación corporativa.

La implantación de un programa de gestión de la continuidad ofrece los siguientes beneficios:

  • Identificación proactiva de los impactos derivados de la interrupción operativa.
  • Respuesta efectiva a interrupciones.
  • Gestión de riesgos no aceptados por las compañías de seguros.
  • Mejora de la reputación corporativa.
  • Ventaja competitiva debido a la demostrada capacidad de mantener la entrega de servicios.

El ciclo de vida de la gestión de la continuidad consta de 5 etapas:
Continue reading BS 25999-1: Gestión de la Continuidad del Negocio

Procesos y servicios en la gestión de organizaciones

Dado que en los últimos artículos que he escrito sobre gestión de los sistemas de información (Cobit, ITIL, metodologías de desarrollo, etc.) he hablado tanto de procesos como de servicios, Joan Puig me ha hecho llegar un interesante enlace donde se exponen las diferencias entre estos.

En términos generales, Joseba Enjuto expone que los servicios son los resultados (la salida) de los procesos. Por ejemplo, procesos para el registro, seguimiento y cierre de incidencias dan como resultado un servicio de gestión de incidencias. Por otra parte, destaca que un mismo proceso puede ofrecer varios servicios y viceversa, es posible que se requieran diversos procesos para ofrecer un único servicio (como en el ejemplo anterior).

Esta visión permite compatibilizar e integrar mejor las ideas presentadas por estándares que toman como eje principal los servicios (p.ej. ITIL) y los que se centran en los procesos (p.ej. Cobit).

Cygwin y rxvt como terminal alternativa

En cualquier Windows que trabaje me gusta disponer de una terminal con los comandos y capacidades típicas de las shell de Linux, dado que en ocasiones para hacer ciertas tareas específicas puede ser de gran utilidad. Para ello disponemos de cygwin, herramienta que implementa la API POSIX (habitual de Unix) para permitir la compilación y ejecución de aplicaciones que han sido diseñadas para Linux.

En la instalación podremos escoger entre un gran número de comandos y herramientas que han sido portadas, personalmente suelo seleccionar al menos las siguientes:
Continue reading Cygwin y rxvt como terminal alternativa

ITIL y ISO 20000, marcos de trabajo para servicios IT

ITIL (Information Technology Infrastructure Library) es una colección de libros que proporcionan una guía de las mejores prácticas para la entrega y el soporte de los servicios tecnológicos. Si bien el estándar Cobit nos ofrecía una visión más generalista y abierta, ITIL ofrece un nivel de detalle más específico sobre la implantación de los procesos necesarios para garantizar la calidad del servicio.

A pesar de disponer de la versión 3 de ITIL desde Junio del 2007, actualmente la versión más extendida es la 2 y solo es cuestión de tiempo para que la situación se invierta. Las secciones más populares de la biblioteca ITIL v2 son aquellos vinculados directamente con la gestión de servicios TI:

  • Entrega del servicio (Service Delivery)
  • Soporte al servicio (Service Support)

Si comparamos las dos versiones, el cambio más evidente es una nueva organización de los diferentes libros en función del ciclo de vida de los servicios, proporcionando un orden más coherente y una homogeneización del marco de trabajo:

  • Estrategia de Servicio (Service Strategy)
  • Diseño del Servicio (Service Design)
  • Transición del Servicio (Service Transition)
  • Operación del Servicio (Service Operation): Gestión del día a día de los servicios (acceso, solicitudes, incidentes, problemas, etc.).
  • Mejora Continua del Servicio (Continual Service Improvement)

El ciclo de vida de los servicios se inicia a partir del establecimiento de los requerimientos por parte del negocio y finaliza cuando las necesidades son cubiertas:
Continue reading ITIL y ISO 20000, marcos de trabajo para servicios IT