Облачные сервисы , размещенные на Amazon Web Services , Azure , Google и большинство других опубликовать S е р в L Evel A пылевом , или соглашение об уровне обслуживания для отдельных услуг , которые они предоставляют. Архитекторы, инженеры платформ и разработчики несут ответственность за их объединение для создания архитектуры, обеспечивающей хостинг для приложения.
Взятые в отдельности, эти службы обычно предоставляют что-то в диапазоне от трех до четырех девяток доступности:
- Диспетчер трафика Azure: 99,99% или «четыре девятки».
- SQL Azure: 99,99% или «четыре девятки».
- Служба приложений Azure: 99,95% или «три девять пять».
Однако при объединении в архитектурах существует вероятность того, что какой-либо один компонент может выйти из строя, что приведет к общей доступности, которая не равна услугам компонента.
Наличие серийного соединения
В этом примере есть три возможных режима отказа:
- SQL Azure не работает
- Служба приложений не работает
- Оба вниз
Поэтому общая доступность этой «системы» должна быть ниже 99,95%. Мое обоснование заключается в том, что SLA для обеих служб:
Услуга будет доступна 23 часа из 24
Затем:
- Служба приложений может быть недоступна с 01:00 до 02:00.
- База данных между 0500 и 0600
Обе составные части находятся в пределах своего SLA, но общая система была недоступна в течение 2 часов из 24.
Последовательная и параллельная доступность
В этой архитектуре существует большое количество режимов отказа, однако, в основном:
- SQL Server в RegionA не работает
- SQL Server в RegionB не работает
- Служба приложений в RegionA не работает
- Служба приложений в RegionB не работает
- Диспетчер трафика не работает
- Комбинации выше
Поскольку Traffic Manager является прерывателем цепи, он способен обнаруживать перебои в любом регионе и направлять трафик в рабочий регион, однако в форме диспетчера трафика по-прежнему существует единая точка отказа, поэтому полная доступность «системы» не может быть выше, чем 99,99%.
Как можно рассчитать и документировать составную доступность двух вышеуказанных систем для бизнеса, что может потребовать переархитектуры, если бизнес желает иметь более высокий уровень обслуживания, чем архитектура может обеспечить?
Если вы хотите аннотировать диаграммы, я построил их в Lucid Chart и создал многоцелевую ссылку, помните, что любой может редактировать это, поэтому вы можете создать копию страниц для аннотирования.
источник
Ответы:
Я бы воспринял это как математическую проблему, поскольку SLA - это вероятность быть в порядке.
В этом случае мы можем положиться на правила вероятности, чтобы получить общее.
В первом случае вероятность того, что служба приложений (A) и служба Sql (B) будут недоступны одновременно, является продуктом их вероятности:
Вероятность того, что один из них не работает, является суммой их вероятности:
Когда два события независимы, результирующая формула для учета вероятности того, что оба события будут недоступны:
Таким образом, общий SLA будет
1 - 0,00099975 = 0,99900025
в процентах99.900025 %
Упрощение является продуктом первой вероятности:
0.9995 * 0.9995 = 0,99900025
.Применительно к вашему отключению в течение 1 часа / 24 часа (4 166 66% в день) это дает (десятичные дроби сокращены):
Так что вероятность быть в порядке
1 - 0.0816 = 0.9184
в процентах:91,84%
Это меньше, чем наихудший случай за 2 часа, потому что есть вероятность, что оба не работают одновременно.
Имея это в виду, вы можете заметить наличие каждого из них
95,84%
и0,958333333 * 0,958333333 = 0,918402778
который является нашим91.84%
сверху (извините за полные десятичные числа здесь, но они необходимы для демонстрации)Теперь для вашего второго случая мы начнем извлекать выгоду из нашей составной вероятности для каждого региона (извините, я отклонил изменение для SQL, чтобы оно оставалось разумным), предполагая, что не существует независимой вероятности для самого региона и что каждый регион изолирован и как таковой сбой БД сбивает только его регион.
У нас есть диспетчер трафика с вероятностью ОК,
P(T) = 0.9999
и каждое приложение + пара БД с вероятностью ОКP(G) = 0,99900025
изСколько регионов мы играем роль, поскольку мы должны применить произведение вероятности отказа только для того, чтобы получить вероятность того, что оба региона не работают одновременно,
0,00099975 * 0,00099975 = 0,0000009995000625
что означает общую доступность по крайней мере одного региона99,049375 %
Теперь у нас есть общая доступность регионов, а продукт с диспетчером трафика дает нам общую доступность системы:
Общая доступность
99.989900 %
Другой источник в качестве объяснения доступен на документах Azure (ссылка любезно предоставлена Радж Рао )
источник
Прочитав превосходный ответ Тенсибая , я понял, что раньше у меня была возможность рассчитать это для целей сетевого анализа. Я выкопал свою копию Основы сети высокой доступности Криса Оггерино, и у меня не получилось разобраться с этим, не совсем из первых принципов.
Взятие моего серийного примера непосредственно из ответа Тенсибая - просто случай умножения вероятности доступности каждого компонента другим:
Так
Расчет его параллельно является немного более сложным , как мы делаем необходимость учитывать , что процент ип доступность будет:
Расчет производится следующим образом:
Умножьте ООН наличие двух регионов вместе.
Преобразуйте это обратно в доступность
Умножьте доступность Traffic Manager на доступность двух регионов.
Результатом является доступность всей системы.
Я закончил с использованием Excel для выполнения расчетов, вот значения:
... и формулы ...
источник