Прошли те времена, когда люди, не разбирающиеся в технологиях, знали, что значит «Сервер не работает». Мы привыкли к бесперебойному обслуживанию. Даже небольшое отставание сейчас вызывает удивление.

По мере того, как все больше критически важных рабочих нагрузок перемещается в облако, Высокая доступность (HA) становится важнейшим аспектом проектирования системы. HA относится к гарантиям непрерывной работы или доступности системы/компонента. Обычно он измеряется относительно 100% доступности. Вы бы видели такие гарантии доступности, как 99,99999%. Это означает ~6 минут простоя в год.

Вы найдете поставщиков облачных услуг, предоставляющих гарантии в 11, 12 и 15, 9 секундах. Это хорошо, но все же достаточно большое время простоя для критически важной службы.

Обычно мы создаем систему высокой доступности с резервным оборудованием и отказоустойчивостью программного обеспечения, чтобы свести к минимуму вмешательство человека. Термин «Допуск» бывает двух типов: Ошибки и Сбои.

Сбой — это состояние, при котором Система не соответствует своим спецификациям. Неисправность – это выход из строя подсистемы. Это может привести к сбою других подсистем и, возможно, к отказу всей системы.

Неисправности могут быть временными или постоянными. Они могут быть прерывистыми. Ниже приведены эффективные способы борьбы с неисправностями.

  1. Для прогнозирования сбоев вам нужны математические модели, определяющие наличие сбоя и его последствия. Эти модели часто строятся с использованием внедрения ошибок и изучения возникающих ошибок/отказов.
  2. Избегайте и Устраняйте ошибки, система должна пройти различные методы проверки, которые гарантируют более надежную систему.
  3. Толерантность, также называемая постепенной деградацией или отказоустойчивостью, методы, с помощью которых система может быть остановлена ​​в безопасном состоянии.

В основе отказоустойчивости лежит резервирование. H/w, S/w, временная и информационная избыточность. Это позволяет системе иметь высокую устойчивость и, таким образом, обеспечивать высокую доступность.

В Azure есть три шаблона проектирования, которые помогают проектировать систему с максимальной доступностью.

  1. Дросселирование — контроль потребления ресурсов приложением, клиентом или службой.
  2. Выравнивание нагрузки на основе очереди — используйте очередь в качестве буфера между службой и ее задачами для сглаживания нагрузки.
  3. Мониторинг работоспособности — предоставляет функциональные проверки, к которым может получить доступ внешний инструмент.

Подробнее об этом скоро…