Arquitectura de SoftwareDisponibilidad
Ingeniería de Sistemas y Computación
Agenda del día
Introducción
2
Tácticas arquitecturales
Disponibilidad
• La capacidad de que el sistema esté total o
parcialmente operativo al mismo tiempo que es
requerido para manejar eficazmente las fallas que
puedan afectar la disponibilidad del sistema
• La disponibilidad de un sistema se basa en el
concepto de confiabilidad mediante la adición de
la noción de recuperación
3
Disponibilidad (2)
• En la práctica, los requisitos de disponibilidad del
sistema se desarrollan en función de la
disponibilidad de estado estacionario (a
diferencia de la disponibilidad instantánea)
• Disponibilidad de estado estacionario es la
medición del tiempo de funcionamiento de un
sistema durante un período suficientemente largo
(90 días, un año, etc.)
4
Disponibilidad (3)
• MTBF mean time between failures*
• MTTR mean time to repair
5
* derived based on the expected value of the system’s fault
probability density function
Disponibilidad (4)
• Ejemplos de requerimientos de disponibilidad*
6
* El término alta disponibilidad normalmente se refiere a una
disponibilidad del 99,999% ("cinco nueves") o mayor
Agenda del día
Introducción
7
Tácticas arquitecturales
Tácticas Arquitecturales
• Objetivo Permitir soportar las fallas del
sistema de tal manera que el servicio entregado
por dicho sistema siga siendo compatible con su
especificación
• Las faltas del sistema son escaladas a fallas una
vez que los servicios se ven afectados hasta el
punto en que ya no cumplen con sus
especificaciones
8
Tácticas Arquitecturales (2)
• Detección de Fallas
• Recuperación de Fallas
• Prevención de Fallas
9
Tácticas Arquitecturales (3)
• Ping / Echo
• Monitor del sistema
– Watchdog
– Heatbeat
• Detección de excepciones
– System exceptions
– Parameter fence
– Parameter typing
• Votar (Voting)
– Triple Modular Redundancy (TRM)
10
Detección de Fallas
Tácticas Arquitecturales (4)
• Redundancia Activa
• Redundancia Pasiva
• Repuesto (Spare)
• Manejo de Excepciones
• Actualización de Software
– Function Patch
– Class Patch
– Hitless In-Service Software Upgrade (ISSU)
11
Recuperación de Fallas
Preparation and Repair
Tácticas Arquitecturales (5)
12
Tácticas Arquitecturales (6)
• Sombra (Shadow)
• Resincronización de estado
• Rollback
– Coordinated Checkpointed
– Uncoordinated Checlpointed
• Reinicio escalado
13
Recuperación de Fallas
Reintroduction
Tácticas Arquitecturales (7)
14
Prevención de Fallas
• Retiro del servicio
• Transacciones
– Atomic Commit Protocol
• Monitor de Procesos
• Prevención de Excepciones
– Exception Classes
– Smart Pointers / Wrappers
Tácticas Arquitecturales (8)
15
Tácticas Arquitecturales (9)
16
17
¿Preguntas?
Referencias
• James Scott, Rick Kazman, Boeing Corporation, Software
Engineering Institute. Realizing and Refining Architectural
Tactics: Availability. TECHNICAL REPORT. CMU/SEI-
2009-TR-006. August 2009
18