Anexo I. Métricas para la Evaluación de Arquitecturas Software Nombre de la Métrica: Carga Máxima Formula de Cálculo: El cálculo de la carga máxima del sistema se efectúa calculando el total de peticiones simultáneas que pueden servir los servidores. • • En los casos en los que haya más de un equipo sirviendo de manera concurrente peticiones para un mismo servicio, se sumaran las capacidades de los mismos. En el caso de que haya dos servidores encadenados para distintos servicios (BBDD o Web) el resultado será el valor mínimo de entre las capacidades de ambos servidores. Interpretación: La métrica carga máxima da como resultado un valor entero positivo. Cuanto más lejano a 0 mejor es el valor Ejemplo: La figura muestra la arquitectura con dos servidores encadenados sirviendo peticiones para distintos servicios. En la tabla se muestran la carga máxima para cada uno de los servidores. La carga máxima del sistema se calcula como el mínimo entre ambos valores. Figura: Arquitectura Original 𝐶𝑎𝑟𝑔𝑎 𝑀𝑎𝑥𝑖𝑚𝑎 = 𝑀𝑖𝑛(Max Nº Peticiones Servidor Web, Max Nº Peticiones ServidorBBDD) = Min(600, 1500) = 600 Tabla: Carga Maxima de los Componentes de la Arquitectura Componente Máximo Nº Peticiones Servidor Web 600 peticiones Servidor BBDD 1500 peticiones 1 Anexo I. Métricas para la Evaluación de Arquitecturas Software Nombre de la Métrica: Porcentaje de tiempo en servicio Formula de Cálculo: El cálculo de la fiabilidad de un sistema se puede calcular como el porcentaje de tiempo en servicio o UpTime y que se define como el porcentaje del tiempo que el sistema está en funcionamiento. Este porcentaje puede calcularse en función del tiempo medio entre fallos (Mean Time Between Failures o MTBF) y el tiempo medio de reparación (Mean Time To Repair MTTR). El Tiempo medio entre fallos la media aritmética del tiempo entre fallos de un sistema. El MTBF es típicamente parte de un modelo que asume que el sistema fallido se repara inmediatamente (el tiempo transcurrido es cero), como parte de un proceso de renovación. El Uptime se calcula según la expresión (1): 𝑈𝑝𝑇𝑖𝑚𝑒 = 100 ∗ 𝑀𝑇𝐵𝐹 𝑀𝑇𝐵𝐹 + 𝑀𝑇𝑇𝑅 (1) El MTBF es función de la probabilidad de fallos. Asumiendo: 1 𝑃(𝐹𝑎𝑙𝑙𝑜) = 1 − 𝑒 −𝑀𝑇𝐵𝐹 𝑀𝑇𝐵𝐹 = − (2) 1 ln(1 − 𝑃(𝐹𝑎𝑙𝑙𝑜)) (3) La probabilidad de fallo del sistema es la suma de la probabilidad de fallo del servidor de BBDD y del Servidor Web. En los casos en los que haya más de un equipo sirviendo simultáneamente peticiones (bien servidor de BBDD o bien servidor Web) la probabilidad de fallo de ese servicio es el producto de las probabilidades de fallo de cada servidor por separado. El MTBF del sistema ha de extraerse mediante la expresión (3), que será utilizado en la expresión (1) para calcular el porcentaje de UpTime del sistema. Interpretación: La métrica Porcentaje de tiempo en servicio va a darnos un valor positivo entre 0 y 100. Cuanto más cercano a 100 mejor es el valor. Ejemplo: La figura muestra la arquitectura con dos servidores encadenados sirviendo peticiones para distintos servicios. En la tabla se muestra el MTBF y el MTTR para cada uno de los servidores. Figura: Arquitectura Original P(Fallo Serv. Web)= 1 − 𝑒 1 − 100 1 =0,0198 P(Fallo Serv. BBDD)= 1 − 𝑒 −75=0,013; P(Fallo Sistema)=0,0198+0.0132=0,033 𝑀𝑇𝐵𝐹𝑆𝑖𝑠𝑡𝑒𝑚𝑎 = − 𝑈𝑝𝑇𝑖𝑚𝑒 = 100 ∗ 1 ln�1−𝑃(Fallo Sistema)� 𝑀𝑇𝐵𝐹𝑆𝑖𝑠𝑡𝑒𝑚𝑎 𝑀𝑇𝐵𝐹𝑆𝑖𝑠𝑡𝑒𝑚𝑎 +𝑀𝑇𝑇𝑅 = 29.8h =100 ∗ 29,8 =98,3% 29,8+0,5 Tabla: MTBF y MTTR de los componentes de la arquitectura Componente MTBF MTTR Servidor 100ms 0,5ms Servidor BBDD 300ms 2ms 2