Los servicios alojados en las nubes por Amazon Web Services , Azure , Google y la mayoría de los demás publican el S ervicio L evel A CUERDO , o SLA, para los servicios individuales que proporcionan. Los arquitectos, los ingenieros de plataforma y los desarrolladores son responsables de reunirlos para crear una arquitectura que proporcione el alojamiento para una aplicación.
Tomados de forma aislada, estos servicios generalmente proporcionan algo en el rango de tres a cuatro nueve de disponibilidad:
- Azure Traffic Manager: 99.99% o 'cuatro nueves'.
- SQL Azure: 99.99% o 'cuatro nueves'.
- Servicio de aplicaciones de Azure: 99.95% o 'tres nueve cinco'.
Sin embargo, cuando se combinan en arquitecturas, existe la posibilidad de que cualquier componente pueda sufrir una interrupción que resulte en una disponibilidad general que no sea igual a la de los servicios del componente.
Disponibilidad de compuesto en serie
En este ejemplo, hay tres modos de falla posibles:
- SQL Azure está caído
- El servicio de aplicaciones está inactivo
- Ambos están abajo
Por lo tanto, la disponibilidad general de este "sistema" debe ser inferior al 99.95%. Mi razonamiento para pensar esto es si el SLA para ambos servicios fue:
El servicio estará disponible a partir de las 24 horas.
Luego:
- El Servicio de aplicaciones podría estar fuera entre las 0100 y las 0200
- La base de datos salió entre las 05:00 y las 06:00.
Ambos componentes están dentro de su SLA pero el sistema total no estuvo disponible durante 2 horas de 24.
Disponibilidad en serie y paralela
En esta arquitectura hay una gran cantidad de modos de falla, sin embargo principalmente:
- SQL Server en la Región A está inactivo
- SQL Server en la Región B está inactivo
- El servicio de aplicaciones en la Región A está inactivo
- El servicio de aplicaciones en la Región B está inactivo
- Traffic Manager está caído
- Combinaciones de arriba
Debido a que Traffic Manager es un interruptor automático, es capaz de detectar una interrupción en cualquier región y enrutar el tráfico a la región de trabajo, sin embargo, todavía hay un solo punto de falla en la forma de Traffic Manager, por lo que la disponibilidad total del "sistema" no puede Ser superior al 99,99%.
¿Cómo se puede calcular y documentar la disponibilidad compuesta de los dos sistemas anteriores para la empresa, lo que posiblemente requiera una nueva arquitectura si la empresa desea un nivel de servicio superior al que la arquitectura es capaz de proporcionar?
Si desea anotar los diagramas, los he creado en Lucid Chart y he creado un enlace de usos múltiples, tenga en cuenta que cualquiera puede editar esto, por lo que es posible que desee crear una copia de las páginas para anotar.
fuente
Respuestas:
Tomaría eso como un problema matemático con el SLA como la probabilidad de estar bien.
En este caso, podemos confiar en las reglas de probabilidad para obtener un resultado general.
Para su primer caso, la probabilidad de que el Servicio de aplicaciones (A) y el Servicio SQL (B) estén inactivos al mismo tiempo es el producto de su probabilidad:
La probabilidad de que uno de ellos esté abajo es la suma de su probabilidad:
Cuando dos eventos son independientes, la fórmula resultante para tener en cuenta la probabilidad de que ambos caigan es:
Entonces, el SLA general sería el
1 - 0,00099975 = 0,99900025
porcentaje99.900025 %
Una simplificación es el producto de la primera probabilidad:
0.9995 * 0.9995 = 0,99900025
.Aplicado a su interrupción de 1h / 24h (4,166666% de un día) esto da (los decimales se abrevian):
Entonces la probabilidad de estar bien es
1 - 0.0816 = 0.9184
en porcentaje:91,84%
Esto es menos que el peor de los casos de 2 horas porque existe la posibilidad de que ambos estén caídos al mismo tiempo.
Teniendo esto en cuenta, puede notar la disponibilidad para cada uno
95,84%
y0,958333333 * 0,958333333 = 0,918402778
cuál es nuestro91.84%
desde arriba (perdón por los decimales completos aquí, pero son necesarios para la demostración)Ahora, para su segundo caso, comenzaremos a ganar de nuestra probabilidad compuesta para cada región (lo siento, descarté el cambio para que SQL lo mantenga razonable), suponiendo que no haya una probabilidad independiente para la región en sí y que cada región esté aislada y como tal un fallo de la base de datos solo derriba su región.
Tenemos la probabilidad OK del administrador de tráfico
P(T) = 0.9999
y cada aplicación + DB se junta con una probabilidad OKP(G) = 0,99900025
deCuánta región tenemos que desempeñar, ya que tenemos que aplicar el producto de la probabilidad de falla solo para obtener la probabilidad de que ambas regiones estén inactivas al mismo tiempo: lo
0,00099975 * 0,00099975 = 0,0000009995000625
que significa una disponibilidad general de al menos una región de99,049375 %
Ahora tenemos la disponibilidad general de regiones, el producto con el administrador de tráfico nos da la disponibilidad general del sistema:
La disponibilidad general es
99.989900 %
Otra fuente como explicación está disponible en los documentos de Azure (enlace cortesía de Raj Rao )
fuente
Después de leer la excelente respuesta de Tensibai , me di cuenta de que solía poder calcular esto para fines de análisis de red. Saqué mi copia de los Fundamentos de la red de alta disponibilidad de Chris Oggerino y tuve problemas para resolver esto, no del todo los primeros directores.
Tomar mi ejemplo en serie directamente de la respuesta de Tensibai es simplemente un caso de multiplicar la probabilidad de que cada componente esté disponible por el otro:
Asi que
Cálculo en paralelo es un poco más complicado como lo hacemos necesidad de considerar cuál es el porcentaje de la ONU será la disponibilidad:
El cálculo se realiza de la siguiente manera:
Multiplicar la ONU disponibilidad de las dos regiones juntas.
Convertir eso de nuevo a disponibilidad
Multiplique la disponibilidad de Traffic Manager por la disponibilidad de las dos regiones.
El resultado es la disponibilidad total del sistema.
Terminé usando Excel para realizar los cálculos, aquí están los valores:
... y las fórmulas ...
fuente