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.
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