martes, 21 de agosto de 2012


Logro de Cualidades: CAPITULO 5

En este capítulo se describe una guía para que un arquitecto de software pueda  lograr unos atributos de calidad bien definidos para el sistema en el cual se encuentre trabajando. El logro de estas cualidades depende de las decisiones de diseño fundamentales.                             
Una táctica es una decisión de diseño que influye en el control de una respuesta del atributo de calidad.                                                                                        
Un diseño de sistema consiste en una colección de decisiones. Algunas de estas decisiones ayudan a controlar las respuestas de atributos de calidad, otros asegurar el logro de la funcionalidad del sistema.

En el capítulo se presenta una organización de las tácticas por unos atributos de calidad, ya mencionados en el capitulo anterior, los cuales son: Disponibilidad, modificalidad, desempeño, seguridad, testeabilidad, y usabilidad, cada uno de estos atributos maneja un grupo de tacticas. La organización está destinada a proporcionar una ruta para buscar las tácticas apropiadas.

Tácticas del Atributo de Disponibilidad:
Muchas de las tácticas que se discuten están disponibles dentro de entornos de ejecución estándar, tales como sistemas operativos, servidores de aplicaciones, bases de datos y sistemas de gestión. Las tácticas utilizadas para que lograr los efectos de usar una en particular se deben considerar durante el diseño y la evaluación. Todos los enfoques del mantenimiento de  la disponibilidad implican algún tipo de redundancia, algún tipo de monitores de la salud para detectar un fallo, y algún tipo de recuperación cuando se detecta una falla.

Las siguientes son Tácticas para el Reconocimiento de Fallas en el Atributo de la Disponibilidad:

Detección de fallos:

Ping/echo: Cuando un componente usa un ping espera recibir de vuelta un eco, en un tiempo predefinido. Pueden ser organizados en una jerarquía, en la que el detector de nivel más bajo pings los procesos de software con los que comparte un procesador, y los detectores de fallas de alto nivel ping a los niveles inferiores.

Heartbeat: En este caso uno de los componentes emite periódicamente un mensaje de latido y otro componente de escucha. Si el latido del corazón falla, el componente de origen ha fallado y un componente de corrección de error es notificado. El latido del corazón también puede transportar datos.

Excepciones: Un método para el reconocimiento de fallos es encontrar una excepción, que se inicia cuando una de las clases de falla se reconoce.
Las tácticas de ping / echo y el ritmo cardíaco operan entre procesos distintos, y la táctica excepción opera dentro de un único proceso.

RECUPERACION DE ERRORES:

Consiste en la preparación para la recuperación y hacer la reparación del sistema. Algunas tácticas de preparación y reparación son las siguientes:

Votación: Este método se utiliza para corregir fallos en el funcionamiento de los algoritmos o fracaso de un procesador y se utiliza a menudo en control de sistemas

Redundancia activa (arranque en caliente): Todos los componentes redundantes responden a eventos en paralelo. Por lo tanto, todos están en el mismo estado. La respuesta de un solo componente se utiliza y el resto se descartan.  Redundancia activa se utiliza a menudo en una configuración cliente / servidor, como los sistemas de gestión de bases de datos, donde las respuestas rápidas son necesarias incluso cuando se produce un fallo.

Redundancia pasiva (arranque en caliente / redundancia doble / triple redundancia): Uno de los componentes (el primario) responde a los eventos e informa a los demás componentes de las actualizaciones de estado que deben hacer. Cuando se produce un fallo, el sistema primero debe asegurarse de que el estado de copia de seguridad es lo suficientemente fresco antes de reanudar los servicios. Este enfoque se utiliza también en sistemas de control, a menudo cuando las entradas vienen sobre canales de comunicación o de los sensores y tiene que ser cambiado desde la copia primaria de seguridad en caso de fallo.

Repuesto: Una plataforma de computación en espera de repuesto está configurado para sustituir muchos componentes diferentes fallidos. Esto se utiliza a menudo como la estación de trabajo cliente en espera, donde el usuario puede moverse cuando se produce un fallo. El tiempo de inactividad para esta táctica es de minutos.

Operación Sombra: Un componente que falló anteriormente se puede ejecutar en modo "sombra" por un corto tiempo para asegurarse de que imita el comportamiento de los componentes de trabajo antes de restaurarlo al servicio.

Estado de re sincronización: Las tácticas de redundancia pasiva y activa requieren que el componente que está siendo restaurado a su estado ha mejorado antes de su retorno al servicio. El enfoque de actualización dependerá del tiempo de inactividad que puede ser sostenido, el tamaño de la actualización, y el número de mensajes necesarios para la actualización.

Checkpoint / rollback: Un punto de control es una grabación de un estado coherente creado ya sea periódicamente o en respuesta a eventos específicos.

PREVENCION DE FALLOS

Puesta fuera de servicio. Esta táctica elimina un componente del sistema en operación para someterse a algunas actividades para evitar los fallos previstos.

Transacciones: Una transacción es la agrupación de varias etapas sucesivas de tal manera que todo el conjunto se puede deshacer de una vez. Las transacciones se utilizan para evitar que los datos se vean afectados si un paso en un proceso falla y también para evitar colisiones entre varios procesos simultáneos que acceden a los mismos datos.

Proceso monitor: Una vez que un fallo en un proceso  se ha detectado, un proceso de seguimiento puede eliminar el proceso y crear una nueva instancia del mismo, inicializado en un estado apropiado como en la táctica de repuesto.
Se deben conocer y poner en práctica estas tácticas en los diferentes ambientes y situaciones. Estas se deben aplicar previamente para hallar una manera fácil y adecuada para presentar una estrategia que nos disminuya errores, prevenga fallos y además sea un sistema confiable. Analizando estas tácticas desde cualquier situación antes o después de diseñar una buena arquitectura nos permite confiar mas y establecer un mejor sistema.

Se deben conocer y poner en práctica estas tácticas en los diferentes ambientes y situaciones. Estas se deben aplicar previamente para hallar una manera fácil y adecuada para presentar una estrategia que nos disminuya errores, prevenga fallos y además sea un sistema confiable. Analizando estas tácticas desde cualquier situación antes o después de diseñar una buena arquitectura nos permite confiar mas y establecer un mejor sistema.

No hay comentarios:

Publicar un comentario