Проектирование приложений для устойчивых рабочих нагрузок в Azure

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

Важно!

Эта статья является частью серии устойчивых рабочих нагрузок Azure Well-Architected . Если вы не знакомы с этой серией, мы рекомендуем начать с того, что такое устойчивая рабочая нагрузка?

Эффективность кода

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

Оценка перемещения монолитов в архитектуру микрослужб

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

Выравнивание Green Software Foundation: энергоэффективность, эффективность оборудования

Рекомендация.

  • Оцените рекомендации по архитектуре микрослужб .
  • Архитектура микрослужб позволяет масштабировать только необходимые компоненты во время пиковой нагрузки; обеспечение уменьшения или уменьшения масштаба бездействующих компонентов. Кроме того, это может снизить затраты и ресурсы, необходимые для развертывания монолитных приложений.
  • Учитывайте этот компромисс: при сокращении необходимых вычислительных ресурсов вы можете увеличить объем трафика в сети, а сложность приложения может значительно увеличиться.
  • Рассмотрим другой компромисс: переход на микрослужбы может привести к дополнительным затратам на развертывание с многочисленными сходствами в конвейерах развертывания. Тщательно продумайте необходимые ресурсы развертывания для монолитной архитектуры и архитектуры микрослужб.
  • Кроме того, прочитайте о контейнеризации монолитных приложений.

Повышение эффективности API

Многие современные облачные приложения предназначены для асинхронной передачи множества сообщений между службами и компонентами. Рассмотрим формат, используемый для кодирования полезных данных. Какой объем информации требуется для передачи приложению и есть ли место для уменьшения количества чатов?

Выравнивание Green Software Foundation: энергоэффективность

Рекомендация.

Обеспечьте обратную совместимость программного обеспечения, чтобы обеспечить его работу на устаревшем оборудовании

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

Выравнивание Green Software Foundation: эффективность оборудования

Рекомендация.

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

Использование собственных облачных шаблонов разработки

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

Выравнивание Green Software Foundation: энергоэффективность, эффективность оборудования

Рекомендация.

Рассмотрите возможность использования шаблонов автоматического размыкателя

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

Выравнивание Green Software Foundation: энергоэффективность

Рекомендация.

Оптимизация кода для эффективного использования ресурсов

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

Выравнивание Green Software Foundation: энергоэффективность, эффективность оборудования

Рекомендация.

  • Сократите циклы ЦП и количество ресурсов, необходимых для приложения.
  • Используйте оптимизированные и эффективные алгоритмы и конструктивные шаблоны.
  • Рассмотрим принцип "Не повторяйся" (DRY).

Оптимизация для шаблонов асинхронного доступа

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

Выравнивание Green Software Foundation: энергоэффективность

Рекомендация.

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

Оценка отрисовки на стороне сервера и клиента

Определите, следует ли отображать на стороне сервера или на стороне клиента при создании приложений с помощью пользовательского интерфейса.

Выравнивание Green Software Foundation: энергоэффективность, эффективность оборудования

Рекомендация.

  • Рассмотрим следующие преимущества отрисовки на стороне сервера:

    • Когда мощность сервера поступает из менее загрязняющих альтернатив, чем языковой стандарт клиента.
    • Если оборудование на сервере имеет лучшее соотношение энергопотребления к обработке.
    • Может использовать централизованное кэширование, чтобы уменьшить количество ненужных отрисовок.
    • Уменьшение количества круговых путей между браузером и сервером может быть особенно важно, если на клиентском устройстве есть связь с потерей.
    • Если клиентские устройства старше и имеют более медленные ЦП. Пользователям не нужно обновлять свои устройства для поддержки современного браузера.
  • Рассмотрите следующие преимущества отрисовки на стороне клиента:

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

Помните о проектировании пользовательского интерфейса для обеспечения устойчивости

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

Выравнивание Green Software Foundation: энергоэффективность

Рекомендация.

  • Рекомендуется уменьшить количество компонентов для загрузки и отрисовки на страницах.
  • Определите, может ли приложение выполнять отрисовку изображений и видео с низким разрешением.
    • Не отрисовывайте полноразмерные изображения в виде эскизов, в которых браузер выполняет изменение размера.
    • Использование полноразмерных изображений в качестве эскизов или изображений с измененным размером приведет к передаче дополнительных данных, ненужного сетевого трафика и дополнительной загрузке ЦП на стороне клиента из-за изменения размера изображения и предварительной отрисовки.
  • Отсутствие неиспользуемых страниц поможет свести к минимуму дизайн пользовательского интерфейса.
  • Рассмотрите возможность поиска и поиска. Упрощение поиска пользователями помогает сократить объем хранимых и извлеченных данных.
  • Рассмотрите возможность предоставления более легкого пользовательского интерфейса, использования меньшего количества ресурсов и снижения влияния на устойчивость, а также предоставления пользователям обоснованного выбора.
  • Экономьте энергию, предлагая приложения и веб-сайты в темном режиме с темным фоном.
  • По возможности выбирайте системные шрифты, чтобы избежать принудительного скачивания дополнительных шрифтов клиентами, что приводит к большей сетевой нагрузке.

Обновление устаревшего кода

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

Выравнивание Green Software Foundation: эффективность оборудования

Рекомендация.

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

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

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