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