Поделиться через


Для критически важных рабочих нагрузок

В этом разделе рассматриваются проблемы разработки критически важных рабочих нагрузок в Azure. Руководство основано на уроках, извлеченных из изучения многочисленных клиентских приложений и решений сторонних производителей. В этом разделе приведены практические и авторитетные рекомендации, которые применяют рекомендации по хорошо архитекторам в качестве технической основы для создания и работы высоконадежного решения в Azure в масштабе.

Что такое критически важная рабочая нагрузка?

Термин "рабочая нагрузка" относится к коллекции ресурсов приложений, которые поддерживают общую бизнес-цель или выполнение общего бизнес-процесса, с несколькими службами, такими как API и хранилища данных, работая вместе для обеспечения конкретных комплексных функциональных возможностей.

Термин "критически важный" относится к шкале критической важности, которая охватывает значительные финансовые затраты (критически важные для бизнеса) или затраты человека (критически важные для безопасности), связанные с недоступностью или недостаточной производительностью.

Поэтому критически важная рабочая нагрузка описывает коллекцию ресурсов приложений, которые должны быть высоконадежными на платформе. Рабочая нагрузка всегда должна быть доступной, устойчивой к сбоям и операционной работе.

Видео: критически важные рабочие нагрузки в Azure

Каковы распространенные проблемы?

Microsoft Azure упрощает развертывание облачных решений и управление ими. Однако создание критически важных рабочих нагрузок, которые являются высоконадежными на платформе, остается проблемой по следующим основным причинам:

  • Проектирование надежного приложения в масштабе является сложным. Для этого требуются обширные знания платформы, чтобы выбрать правильные технологии и оптимально настроить их для обеспечения комплексных функций.

  • Сбой неизбежен в любой сложной распределенной системе, поэтому решение должно быть разработано для обработки сбоев с соответствующими или каскадными последствиями. Это изменение мышления для многих разработчиков и архитекторов, входящих в облако из локальной среды; Проектирование надежности больше не является предметом инфраструктуры, но должно быть первым классом в процессе разработки приложений.

  • Для выполнения критически важных рабочих нагрузок требуется высокая степень строгости и зрелости на протяжении комплексного жизненного цикла инженерии, а также возможность учиться на сбоях.

Критически важна ли задача только о надежности?

Хотя основной задачей критически важных рабочих нагрузок является надежность, но при создании и эксплуатации критически важных рабочих нагрузок в Azure важное значение имеют другие основные принципы архитектуры.

  • Безопасность: как рабочая нагрузка устраняет угрозы безопасности, такие как атаки типа "Распределенный отказ в обслуживании" (DDoS), будут иметь значительное влияние на общую надежность.

  • Операционное превосходство: как рабочая нагрузка может эффективно реагировать на операционные проблемы, будет иметь непосредственное влияние на доступность приложений.

  • Эффективность производительности. Доступность является более простой, но, скорее, согласованный уровень службы приложений и производительности относительно известного работоспособного состояния.

Достижение высокой надежности приводит к значительным компромиссам затрат, которые могут быть оправданы для каждого сценария рабочей нагрузки. Поэтому рекомендуется, чтобы решения по проектированию были основаны на бизнес-требованиях.

Каковы ключевые области проектирования?

Критически важное руководство в рамках этой серии состоит из архитектурных рекомендаций и рекомендаций, ориентированных на эти ключевые области проектирования.

Критически важные области проектирования

Области проектирования связаны друг с другом, и решения, принятые в рамках одной области, могут повлиять на решения по всему дизайну или повлиять на них. Мы рекомендуем читателям ознакомиться с этими областями проектирования, рассмотреть предоставленные рекомендации и рекомендации, чтобы лучше понять последствия охватываемых решений. Например, чтобы определить целевую архитектуру, важно определить, как лучше всего отслеживать работоспособности приложений в ключевых компонентах. В этом случае читатель должен просмотреть область проектирования моделирования работоспособности, используя описанные рекомендации, чтобы помочь в принятии решений.

Область проектирования Итоги
Проектирование приложений Использование архитектуры единиц масштабирования в контексте создания высоконадежного приложения. Также изучите шаблоны проектирования облачных приложений, которые позволяют масштабировать и обрабатывать ошибки.
Платформа приложений Факторы принятия решений и рекомендации, связанные с выбором, проектированием и настройкой соответствующей платформы размещения приложений, зависимостей приложений, платформ и библиотек.
Платформа данных Выбор в технологиях хранилища данных, информированный оценкой требуемого объема, скорости, разнообразия, достоверности.
Сеть и подключение Концепции топологии сети на уровне приложения, учитывая необходимые возможности подключения и избыточное управление трафиком. Критически важные рекомендации, предназначенные для информирования о разработке безопасной и масштабируемой глобальной топологии сети.
Моделирование работоспособности и наблюдаемость Процессы для определения надежной модели работоспособности, сопоставления квалитифицированных состояний работоспособности приложений с помощью наблюдаемости и операционных конструкций для достижения операционной зрелости.
Развертывание и тестирование Искоренение простоя и обслуживание работоспособности приложений для операций развертывания, предоставляя ключевые рекомендации и рекомендации, предназначенные для информирования о разработке оптимальных конвейеров CI/CD для критически важных приложений.
Безопасность Защита приложения от угроз, предназначенных для прямого или косвенного компрометации ее надежности.
Операционные процедуры Внедрение DevOps и связанных методов развертывания используется для обеспечения эффективных и согласованных операционных процедур.

Иллюстративные примеры

Рекомендации, приведенные в этой серии, основаны на подходе, ориентированном на решение, для иллюстрации ключевых рекомендаций и рекомендаций по проектированию. Существует несколько эталонных реализаций, которые можно использовать в качестве основы для дальнейшей разработки решений.

  • Базовая архитектура приложения, доступного к Интернету. Предоставляет основу для создания собственного облачного приложения с высоким уровнем масштабирования в Интернете в Microsoft Azure. Рабочая нагрузка осуществляется через общедоступную конечную точку и не требует подключения частной сети к окружающему техническому ресурсу организации.

    Ознакомьтесь с реализацией: критически важный для миссии интернет

  • Базовая архитектура приложения с доступом к Интернету с сетевыми элементами управления— расширяет базовую архитектуру строгими сетевыми элементами управления, чтобы предотвратить несанкционированный общедоступный доступ из Интернета к любому из ресурсов рабочей нагрузки.

  • Базовая архитектура в целевой зоне Azure— предоставляет основу для создания корпоративного облачного приложения в Microsoft Azure с помощью существующей сетевой инфраструктуры и частных конечных точек. Рабочая нагрузка требует частного подключения к другим ресурсам организации и принимает зависимость от предварительно предоставленных виртуальная сеть для подключения к другим ресурсам организации. Этот вариант использования предназначен для сценариев, требующих интеграции с более широким техническими средствами организации для общедоступных или внутренних рабочих нагрузок.

    Ознакомьтесь с реализацией: критически важные для миссии подключения

Следующий шаг

Начните с изучения методологии проектирования для сценариев критически важных приложений.