• No se han encontrado resultados

12a-DisponibilidadYRepaso.pdf

N/A
N/A
Protected

Academic year: 2020

Share "12a-DisponibilidadYRepaso.pdf"

Copied!
23
0
0

Texto completo

(1)

Ingeniería de Software II

Primer Cuatrimestre de 2010

(2)

Repaso de Definiciones y Conceptos

8 Arquitectura

8  La arquitectura de software de un sistema de computación

es la estructura o estructuras del sistema, que abarcan elementos de software, las propiedades externamente visibles de estos elementos y las relaciones entre ellos.

8  La arquitectura de un sistema de software es el conjunto de

“decisiones principales de diseño”.

8 Arquitectura vs. Diseño

8  No hay visión única. La más aceptada: la arquitectura es

una parte del diseño

8  Diseño (Oxford Dictionary, citado por Brooks): “To form a

plan or scheme of, to arrange or conceive in the mind… for later execution”

(3)

Más definiciones

8 Estilo arquitectónico

8  Una descripción (“de muy alto nivel y sin hablar de

funcionalidad específica”) de tipos de relaciones y elementos, junto con restricciones sobre cómo deben usarse (ej. “client server”, “pipes and filters”).

8 Patrón arquitectónico

8  Para algunos, lo mismo que un estilo

8  Para otros, similar a un estilo pero con más detalle. Ejemplo,

“Layered” vs. “Three tiered”.

8 Arquitectura de referencia

8  Una división común de funcionalidad mapeada a elementos

(4)

Más definiciones

8 Viewtype

8  Tipo de descripción de una arquitectura orientada a una

estructura en particular

8 Viewtypes existentes

8  Módulos

8  Componentes y conectores

8  Alocación

8 La palabra módulo se refiere a unidades en tiempo de diseño 8 La palabra componente se refiere a unidades en tiempo de

ejecución

(5)

Sobre el método

8 Usar enfoques iterativos, recordar el enfoque co-evolutivo

8 Ejemplo de un método: ADD, Attribute Driven Design, propuesto

por el SEI. Consta de dos pasos iterativos:

8  Elegir el módulo a descomponer

8  Refinar el módulo

8 Elegir drivers de arquitectura a partir de Escenarios de

Atributos de Calidad y requerimientos funcionales

8 Elegir un patrón arquitectónico que satisfaga los drivers

8 Instanciar módulos y asignar funcionalidad / representar

usando vistas

8 Definir interfaces de módulos hijos

8 Verificar y refinar casos de uso y escenarios de atributos

de calidad

(6)

Algo más sobre tácticas – Disponibilidad y tolerancia a fallas

8

Todo sistema de hardware o software tiene fallas

8

Se dice que un sistema es tolerante a fallas si puede

seguir operando en presencia de fallas

8

Uno de los puntos a lograr es que no tenga SPOF

8

SPOF (Single Point of Failure): Punto de falla que hace

que todo el sistema deje de funcionar

8

La mayoría de los SPOF se pueden solucionar con

(7)

Clasificación de fallas

Tipo de Falla Descripción

Crash failure El sistema funciona perfectamente hasta que ocurre un error inesperado. (Kernel panic, pantalla azul, etc)

Omission failure Receive or Send

El sistema falla recibiendo requerimientos, enviando o recibiendo mensajes.

Timing failure El sistema responde fuera de los tiempos esperados

Response failure Value failure

State transition failure

(8)

Disponibilidad

8 Disponibilidad: Es el porcentaje del tiempo en que un sistema

está disponible para realizar las funciones para las que fue diseñado.

8 Disponibilidad = Tiempo Operativo / Tiempo Operativo +

tiempo no operativo forzado o no forzado

8 Se suele contar en cantidad de “nueves” y el periodo de tiempo

suele ser un año. Por ejemplo un proveedor de enlace punto a punto nos puede decir que su SLA (Service Level Agreement) en disponibilidad es de 99,99% anual ( 4 nueves )

¿ Esto es mucho o es poco ?

(9)

Ejemplo de Disponibilidad

SLA Disponibilidad 7x24

8760 horas al año

7x8

2920 horas al año

90% 876 horas (36,5 días) 292 horas (12,16 días)

95% 438 horas (18,25 días) 146 horas (6,07 días)

99% 87,6 horas (3,65 días) 29,2 horas (1,21 días)

99,9% 8,76 horas 2,92 horas

99,99% 52,56 minutos 17,47 minutos

(10)

Tolerancia a fallos – Confiabilidad en Serie

Por ejemplo: R = 0,95 * 0,94 * 0, 99 = 0,884

Conf.A Conf.B Conf.C

La Confiabilidad de un conjunto de equipos en serie es el producto de la

confiabilidad de cada uno de los equipos.

(11)

Confiabilidad en Paralelo

La Confiabilidad de un conjunto de equipos en paralelo

Conf.A

Conf.B

Conf.C

(12)

Redundancia – Uso de voters

Un “Voter” recibe entradas ( no binarias ) y replica en la salida el valor que

tenga la mayoría de sus entradas

(13)

Redundancia de voters

Sistema de 3 unidades ( con 3 módulos cada uno ) y replicación de

“Voters”

(14)

Más tácticas - Sistemas Self-Healing – Desafíos

8

Los sistemas, cada vez más:

8 

Integran funcionalidades heterogéneas

8 

Deben correr continuamente

8 

Soportan cambios en recursos

8 

Son usados por usuarios móviles

8

Algunas de las prácticas actuales dejarán de ser

suficientes:

8 

Verificación demasiado compleja

(15)

Sistemas Self-Healing - Definición

8

Tener la posibilidad o propiedad de “curarse” a si

mismo

8

Self-healing describe cualquier dispositivo o sistema

que tiene la habilidad de percibir que no está

funcionando correctamente y, sin intervención

humana, hacer los ajustes necesarios para volver a

operación normal

8

“Self healing” es el término más usado en los

ámbitos académicos. Otros términos que expresan el

mismo concepto o similares son “Autonomic

(16)

self-Sistemas Self-Healing - Objetivos

8

Sistemas que automáticamente se adapten para

manejar:

8 

Cambios en los requerimientos (Atributos de

calidad)

8 

Recursos que cambian (Entorno Operativo)

8 

Falla

8 

Temas relacionados con Movilidad

8 

Ubicuidad

8

Cómo? Pasando de sistemas Closed Loop a

(17)

Sistema de control Closed Loop

8 El sistema tiene modelos que funcionan dentro de él 8 Estos modelos sirven para monitoreo, detección de

problemas, y solución de problemas

8 Esos modelos generan acciones que pueden cambiar el

comportamiento del sistema en “run time”

8 Se debe modelar explícitamente el contexto y lo que el

usuario quiere hacer:

(18)
(19)
(20)

Requerimientos de Self Healing Systems

8

Monitoreo: observar el sistema funcionando y

hacer una abstracción del comportamiento

observado.

8

Detección: continuamente revisar restricciones de

diseño a través de modelos de run time explícitos

8

Resolución: determinar la causa de la violación de

una restricción y elegir una estrategia de reparación.

(21)

Un Ejemplo de ciclo de reparaciones

Repairer

(Tailor)

Interpreter

Translator

Analyzer

(Armani)

Client6.avg_latency = 3.1

True?: avg_latency <= max_latency False! Find the right tactic

(22)

Nuevas Capacidades del Software

8

“Reflection”

8 

Capacidad de entender estado actual

8

“Self Adaptation”

8 

Capacidad para adaptarse con recursos que

cambian, necesidades del usuario, fallas

8

Context Awareness

8 

Capacidad para reconocer cambios en el contexto

para elegir estrategias

(23)

Relación con Arquitecturas: Rainbow

Una arquitectura de referencia para sistemas tipo “Self Healing”

Referencias

Documento similar

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Estos planes de recolo- cación deben garantizar a las personas despedi- das un servicio continuado durante un periodo mínimo de seis meses que incluya medidas de formación

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

El iusnaturalismo había ofrecido, en su función crítica y a través de algunas de sus corrientes, una teoría deontológica de la Revolución, es decir, una teoría del derecho a

Es este el camino que, sin ninguna duda, tienen que tomar otras leyes de nuestro ordenamiento para ofrecer la posibilidad de almacenamiento, tratamiento y transmisión informática

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Es asì que con esa herencia histórica nuestros territoris espacialmente estan marcados por la organización social que existía antes de la conquista española y que la