Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе рассматриваются проблемы разработки критически важных рабочих нагрузок в Azure. Руководство основано на уроках, извлеченных из изучения многочисленных клиентских приложений и решений сторонних производителей. В этом разделе представлены практические и официальные рекомендации, в которых лучшие практики Well-Architected используются в качестве технической основы для создания и эксплуатации высоконадежного решения на Azure в крупном масштабе.
Что такое критически важная рабочая нагрузка?
Термин "рабочая нагрузка" относится к коллекции ресурсов приложений, которые поддерживают общую бизнес-цель или выполнение общего бизнес-процесса, с несколькими службами, такими как API и хранилища данных, работая вместе для обеспечения конкретных комплексных функциональных возможностей.
Термин "критически важный" относится к шкале критической важности, которая охватывает значительные финансовые затраты (критически важные для бизнеса) или затраты человека (критически важные для безопасности), связанные с недоступностью или недостаточной производительностью.
Поэтому критически важная рабочая нагрузка описывает коллекцию ресурсов приложений, которые должны быть высоконадежными на платформе. Рабочая нагрузка всегда должна быть доступной, устойчивой к сбоям и операционной работе.
Видео: критически важные рабочие нагрузки в Azure
Каковы распространенные проблемы?
Microsoft Azure упрощает развертывание облачных решений и управление ими. Однако создание критически важных рабочих нагрузок, которые являются высоконадежными на платформе, остается проблемой по следующим основным причинам:
Проектирование надежного приложения в масштабе является сложным. Для этого требуются обширные знания платформы, чтобы выбрать правильные технологии и оптимально настроить их для обеспечения комплексных функций.
Сбой неизбежен в любой сложной распределенной системе, поэтому решение должно быть разработано для обработки сбоев с соответствующими или каскадными последствиями. Для многих разработчиков и архитекторов, переходящих в облако из локальной инфраструктуры, это означает смену подхода; обеспечение надёжности больше не относится только к инфраструктуре, а должно стать одним из ключевых приоритетов в процессе разработки приложений.
Для выполнения критически важных рабочих нагрузок требуется высокая степень строгости и зрелости на протяжении комплексного жизненного цикла инженерии, а также возможность учиться на сбоях.
Означает ли «критически важный» только надежность?
Хотя основное внимание в критически важных рабочих нагрузках уделяется надежности, другие основы Well-Architected Framework не менее важны при создании и эксплуатации критически важных рабочих нагрузок в Azure.
Безопасность: то, как рабочая нагрузка снижает риски угроз безопасности, таких как DDoS-атаки, существенно влияет на общую надежность.
Операционное совершенство: то, насколько эффективно рабочая нагрузка может реагировать на эксплуатационные проблемы, напрямую влияет на доступность приложения.
Эффективность производительности: доступность — это не просто время безотказной работы, а скорее стабильный уровень обслуживания и производительности приложения относительно известного работоспособного состояния.
Обеспечение высокой надежности требует существенных компромиссов по затратам, которые могут быть оправданны не для любого сценария нагрузки. Поэтому рекомендуется, чтобы решения по проектированию были основаны на бизнес-требованиях.
Как использовать это руководство?
✔ Начните с методологии проектирования, которая описывает обоснование и повторяющиеся темы в технических и операционных областях. Этот систематический подход помогает определять требования и стратегии проектирования. Вернитесь к этой методологии при возникновении неопределенных вариантов, чтобы оставаться в соответствии с общими целями рабочей нагрузки.
✔ Перейдите к принципам проектирования, чтобы узнать, как критически важные методологии проектирования миссии соответствуют основным Well-Architected основам платформы, учитывая эволюцию роста. Оцените базовые принципы для всех столпов коллективно, включая компромиссы.
✔ Сосредоточьтесь на областях проектирования, которые оказывают наибольшее влияние на ваше решение. Критически важное руководство в рамках этой серии состоит из архитектурных рекомендаций и рекомендаций, ориентированных на эти ключевые области проектирования.
Критически важные области проектирования
| Область проектирования | Итоги |
|---|---|
| Проектирование приложений | Использование архитектуры единиц масштабирования в контексте создания высоконадежного приложения. Также изучите шаблоны проектирования облачных приложений, которые позволяют масштабировать и обрабатывать ошибки. |
| Платформа для приложений | Факторы принятия решений и рекомендации, связанные с выбором, проектированием и настройкой соответствующей платформы размещения приложений, зависимостей приложений, платформ и библиотек. |
| Платформа данных | Выбор технологий хранилищ данных с учётом требований к ёмкости, пропускной способности, модели данных, согласованности и управлению. |
| Сетевые технологии и подключение | Концепции топологии сети на уровне приложения, учитывая необходимые возможности подключения и избыточное управление трафиком. Критически важные рекомендации, предназначенные для информирования о разработке безопасной и масштабируемой глобальной топологии сети. |
| Моделирование состояния и наблюдаемость | Процессы для определения надежной модели работоспособности, сопоставления квалитифицированных состояний работоспособности приложений с помощью наблюдаемости и операционных конструкций для достижения операционной зрелости. |
| Развертывание и тестирование | Исключение простоев и поддержание работоспособности приложения при развертывании: ключевые аспекты и рекомендации, которые помогут при проектировании оптимальных CI/CD-конвейеров для критически важного приложения. |
| Безопасность | Защита приложения от угроз, предназначенных для прямого или косвенного компрометации ее надежности. |
| Операционные процедуры | Внедрение DevOps и связанных методов развертывания используется для обеспечения эффективных и согласованных операционных процедур. |
Следующий шаг
Начните с изучения методологии проектирования для сценариев критически важных приложений.