domingo, 28 de mayo de 2017

¿QUE ES "RAID"?

En la actualidad, el uso de un disco duro para guardar datos e información es casi indispensable, un disco duro proporciona una manera sencilla de tener un sistema operativo instalado, guardar una configuración y poder almacenar datos en él, a veces incluso datos críticos. Debido a esto surgieron varias alternativas para mejorar la seguridad de dichos datos y a su vez, garantizar la preservación de los mismos.
A nivel empresarial, una de las alternativas más utilizadas por los gigantes de internet y los sistemas informáticos es la configuración RAID para utilizar estos discos. El término RAID es un acrónimo del inglés “Redundant Array of Independent Disks”. Significa matriz redundante de discos independientes. RAID es un método de combinación de varios discos duros para formar una única unidad lógica en la que se almacenan los datos de forma redundante. Ofrece mayor tolerancia a fallos y más altos niveles de rendimiento que un sólo disco duro o un grupo de discos duros independientes.
Una matriz consta de dos o más discos duros que ante el sistema principal funcionan como un único dispositivo. Un RAID, para el sistema operativo, aparenta ser un sólo disco duro lógico (LUN). Los datos se desglosan en fragmentos que se escriben en varias unidades de forma simultánea. En este método, la información se reparte entre varios discos, usando técnicas como el entrelazado de bloques (RAID nivel 0) o la duplicación de discos (RAID nivel 1) para proporcionar redundancia, reducir el tiempo de acceso, y/o obtener mayor ancho de banda para leer y/o escribir, así como la posibilidad de recuperar un sistema tras la avería de uno de los discos.
Utilizando RAID, se consigue optimizar servidores y con esto, sistemas enteros, debido a que permite que el servidor continúe su funcionamiento habitual aun cuando alguno de los discos duros pertenecientes a la matriz fallase. Por otro lado, al fragmentar los datos y tenerlos distribuidos en la matriz, se garantiza la seguridad de los mismos así como su preservación. Por último, la implementación e RAID incrementa el rendimiento de los servidores.

VENTAJAS
DESVENTAJAS
Mejora el rendimiento/velocidad
Dependientes de elementos críticos por duplicado: fuentes de alimentación y ventiladores redundantes y Hot Swap
Mayor Fiabilidad
Aumenta la complejidad
Alta Disponibilidad
No asegura que los datos no se puedan corromper
Incremento de Seguridad
No permite copias de seguridad (se requeriría una configuración en espejo para ello)

La configuración RAID se presenta en varios niveles. La elección de los diferentes niveles de RAID va a depender de las necesidades del usuario en lo que respecta a factores como seguridad, velocidad, capacidad, coste, etc. Cada nivel de RAID ofrece una combinación específica de tolerancia a fallos (redundancia), rendimiento y coste, diseñadas para satisfacer las diferentes necesidades de almacenamiento.

NIVEL
DESCRIPCION
RAID 0: Disk Striping “La más alta transferencia, pero sin tolerancia a fallos”.
También conocido como “separación o fraccionamiento/ Striping”. Los datos se desglosan en pequeños segmentos y se distribuyen entre varias unidades. Este nivel de “array” o matriz no ofrece tolerancia al fallo. Al no existir redundancia, RAID 0 no ofrece ninguna protección de los datos.
RAID 1: Mirroring “Redundancia. Más rápido que un disco y más seguro”
También llamado “Mirroring” o “Duplicación” (Creación de discos en espejo). Se basa en la utilización de discos adicionales sobre los que se realiza una copia en todo momento de los datos que se están modificando. RAID 1 ofrece una excelente disponibilidad de los datos mediante la redundancia total de los mismos.
RAID 0+1/ RAID 0/1 o RAID 10: “Ambos mundos”
Combinación de los arrays anteriores que proporciona velocidad y tolerancia al fallo simultáneamente. El nivel de RAID 0+1 fracciona los datos para mejorar el rendimiento, pero también utiliza un conjunto de discos duplicados para conseguir redundancia de datos.
RAID 2: “Acceso paralelo con discos especializados. Redundancia a través del código Hamming”
El RAID nivel 2 adapta la técnica comúnmente usada para detectar y corregir errores en memorias de estado sólido. En un RAID de nivel 2, el código ECC (Error Correction Code) se intercala a través de varios discos a nivel de bit. El método empleado es el Hamming.
RAID 3: “Acceso síncrono con un disco dedicado a paridad”
Dedica un único disco al almacenamiento de información de paridad. La información de ECC (Error Checking and Correction) se usa para detectar errores. La recuperación de datos se consigue calculando el O exclusivo (XOR) de la información registrada en los otros discos.
RAID 4: “Acceso Independiente con un disco dedicado a paridad.”
Basa su tolerancia al fallo en la utilización de un disco dedicado a guardar la información de paridad calculada a partir de los datos guardados en los otros discos. En caso de avería de cualquiera de las unidades de disco, la información se puede reconstruir en tiempo real
RAID 5: “Acceso independiente con paridad distribuida.”
Este array ofrece tolerancia al fallo, pero además, optimiza la capacidad del sistema permitiendo una utilización de hasta el 80% de la capacidad del conjunto de discos. Esto lo consigue mediante el cálculo de información de paridad y su almacenamiento alternativo por bloques.
RAID 6: “Acceso independiente con doble paridad”
Similar al RAID 5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y a las caídas de disco, ofreciendo dos niveles de redundancia.

En conclusión, una configuración de discos duros en matriz RAID, busca precisamente construir un arreglo de discos duros con el fin de optimizar el rendimiento del servidor, pero sobre todo, se enfoca a como los datos son distribuidos, e esta manera y adecuando un nivel de RAID a nuestro sistema podemos conseguir desde velocidad y tolerancia a daños, hasta la detección de errores. Como tal, un RAID pretende distribuir los datos de un sistema a través de todos los discos que conformen el arreglo, en ocasiones fragmentando a los mismos, para conseguir una mejora significativa en la seguridad e integridad de estos, esto con el objetivo de que un servidor y sistema informático puedan seguir con su funcionamiento habitual aun si algún disco duro del arreglo falla. Como tal es una alternativa viable y comúnmente utilizada en las empresas.

REFERENCIAS:



domingo, 14 de mayo de 2017

¿Qué es un "Task Board"?


Una "Task Board" en esencia es una pizarra en donde se colocan actividades que alguien debe realizar, estas tareas pueden ser realizadas por una persona, equipo u organización, comúnmente el Task Board es utilizado por los equipos de desarrollo que utilizar SCRUM como metodología. 

Como tal, la implementación de un Task Board busca mejorar la administración de tareas, por esto mismo puede mostrar tareas por hacer, tareas en curso y tareas finalizadas. Independientemente de la complejidad de las tareas, un Task Board puede tomar papeles relevantes dentro de la organización de una persona o equipo, pues permite una visión amplia de la carga de trabajo, esto permite clasificar las tareas por prioridad.

Aunque tienen grandes usos personales, los Task Board están en el centro de la mayoría de las organizaciones, industrias o negocios que se basan en las personas que trabajan en conjunto para lograr un objetivo común. Son útiles para cualquier situación, ya sea desarrollo de software o logística, fabricación o ventas, etc.

Algunas de las ventajas de la implementación de un Task Board son:

·         Los flujos de trabajo a la vista
·         Asignación tareas
·         Compartir información
·         Visualizar los cuellos de botella
·         Manejo de dependencias
·         Predecir y evitar los problemas de producción
·         Aumentar la eficacia
·         Mejorar la producción
·         Cumplir con los plazos
·         Reduce el estrés

Si vemos el uso de un Task Board desde el enfoque de SCRUM, el Task Board representaría la lista de tareas a realizar en esa iteración y adopta el nombre de “SCRUM Task Board”.





Ejemplos:

Task Board Convencional

Task boards are a type of visual management tool - LeanKit


SCRUM Task Board

scrum-taskboard-dimensiones


Podemos concluir entonces, que la intención de la implementación de un Task Board es ayudar en la gestión de tareas, de manera que visualizar a las mismas resulta más cómodo y en muchas ocasiones tiene el efecto de mejorar la distribución y presentación de la información, aumentar la productividad y puntualidad de la realización de las actividades. 

El punto más importante en mi consideración es que para un equipo acaba siendo  muy sencillo y conveniente ver las actividades a realizar de una manera clara y accesible en todo momento. En realidad, la implementación de un Task Board no tiene una desventaja contundente, como sí lo son sus ventajas, es evidente que resultara más productiva y eficaz  una actividad que es realizada con una organización adecuada, y utilizar un Task Board como herramienta para ello es en todo sentido provechoso. Se puede omitir el uso de un Task Board, pero implementarlo solo traerá beneficios en las actividades y procesos.

Fuentes: