Рекомендации по работе с облачными приложениями

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

Каталог рекомендаций

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

  • Проблемы разработки в облаке, которые рекомендация и соответствующие правила проектирования позволяют решить.
  • Основные принципы платформы Microsoft Azure Well-Architected, с которыми связана соответствующая рекомендация.
Практика Итоги Связанные основные принципы и правила
Проектирование API Разрабатывайте веб-API, обеспечивающие независимость от конкретной платформы, с применением стандартных протоколов и согласованных форматов данных. Постепенно развивайте свои службы, чтобы клиенты получали доступ к новым функциям без каких-либо изменений. Улучшайте время отклика и минимизируйте временные сбои, реализовав поддержку частичных ответов и предложив способы фильтрации данных и их разбиения на страницы. Проектирование и реализация, уровень производительности, эффективность работы
Реализация API Реализуйте веб-API для повышения эффективности, скорости реагирования, масштабируемости и доступности. Обеспечьте идемпотентность действий и поддержку согласования содержимого, а также следуйте спецификации HTTP. Обрабатывайте исключения и реализуйте поддержку обнаружения ресурсов. Обеспечьте способы обработки больших запросов и минимизации сетевого трафика. Проектирование и реализация, эффективность работы
Автомасштабирование Разрабатывайте приложения для динамического выделения и отмены выделения ресурсов с учетом требований к производительности и снижению затрат. Воспользуйтесь преимуществами автомасштабирования Azure Monitor и встроенным автоматическим масштабированием в различных компонентах Azure. Уровень производительности, оптимизация затрат
Фоновые задания Реализуйте пакетные задания, задачи обработки и рабочие процессы в качестве фоновых заданий. Для размещения этих задач используйте службы платформы Azure. Активируйте задачи с помощью событий или по расписанию и возвращайте результаты вызывающим задачам. Проектирование и реализация, эффективность работы
Кэширование Повысьте производительность путем копирования данных в быстрое хранилище, расположенное близко к приложениям. Кэшируйте данные, которые часто считываются, но редко изменяются. Управляйте сроком действия данных и параллелизмом. Ознакомьтесь со статьей о заполнении кэша и использовании службы Кэша Azure для Redis. Управление данными, уровень производительности
Сеть доставки содержимого Используйте сети доставки содержимого (CDN) для эффективной доставки веб-содержимого пользователям и снижения нагрузки на веб-приложения. Устраните проблемы, связанные с развертыванием, управлением версиями, обеспечением безопасности и устойчивости. Управление данными, уровень производительности
Секционирование данных Секционируйте данных для повышения масштабируемости, доступности и производительности, а также снижения затрат, связанных с конфликтами и хранением данных. Используйте горизонтальное, вертикальное и функциональное секционирование эффективным образом. Управление данными, уровень производительности, оптимизация затрат
Методы секционирования данных (в разных службах) Секционируйте данные в службах Базы данных SQL Azure и хранилища Azure, таких как Хранилище таблиц Azure и Хранилище BLOB-объектов Azure. Сегментируйте данные для распределения нагрузок, уменьшения задержки и поддержки горизонтального масштабирования. Управление данными, уровень производительности, оптимизация затрат
Сохранение имени узла Узнайте, почему важно сохранять исходное имя узла HTTP между обратным прокси-сервером и его серверным веб-приложением, а также как реализовать эту рекомендацию для наиболее распространенных служб Azure. Проектирование и реализация, надежность
Рекомендации по кодированию сообщений Используйте асинхронные сообщения для обмена данными между компонентами системы. Выберите оптимальные структуру полезных данных, формат кодирования и библиотеку сериализации с учетом особенностей своих данных. Обмен сообщениями, Безопасность
Мониторинг и диагностика Отслеживайте работоспособность, использование ресурсов и производительность системы с помощью конвейера мониторинга и диагностики. Реализуйте мониторинг данных в виде предупреждений, отчетов и триггеров для различных ситуаций. В числе примеров — обнаружение и исправление ошибок, поиск потенциальных проблем, обеспечение гарантированного уровня производительности и выполнение требований аудита. Эффективность работы
Руководство о механизме повторов для отдельных служб Используйте, адаптируйте и расширяйте механизмы повтора, предлагаемые службами Azure и клиентскими пакетами SDK. Разработайте систематическую и надежную стратегию управления временными проблемами с подключениями, операциями и ресурсами. Проектирование и реализация, надежность
Обработка временных сбоев Обрабатывайте временные ошибки, связанные с недоступностью сетей или ресурсов. Решайте проблемы при разработке соответствующих стратегий повтора. Избегайте дублирования слоев кода повтора и других стандартных ошибок проектирования. Проектирование и реализация, надежность

Дальнейшие действия