Рекомендации по настройке ограничений расходов

Применяется к этой рекомендации по оптимизации затрат Azure Well-Architected Framework:

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

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

Определения

Термин Определение
Политики управления Набор правил, которые обеспечивают соответствие требованиям и обеспечивают аудит ресурсов рабочей нагрузки.
Система управления Набор политик, процессов и средств управления, которые помогают обеспечить эффективное, безопасное управление рабочей нагрузкой и соответствие требованиям организации и нормативным требованиям.
Инфраструктура как код (IaC) Описательная модель для определения и развертывания инфраструктуры, включая сети, виртуальные машины, подсистемы балансировки нагрузки и топологии подключений.
Выпускной шлюз Условие или контрольная точка в конвейере выпуска, которые должны быть выполнены перед продолжением развертывания. Шлюз выпуска помогает убедиться, что определенные критерии выполняются перед выпуском программного обеспечения.

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

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

Использование политик управления

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

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

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

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

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

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

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

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

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

Настройка элементов управления доступом

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

  1. Определение необходимого элемента управления. Определите ресурсы и службы, которым требуется управление доступом.

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

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

  4. Используйте управление доступом на основе ролей (RBAC). Настройка RBAC для назначения ролей и разрешений пользователям в зависимости от их обязанностей. Использование RBAC помогает эффективно управлять доступом к ресурсам.

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

Использование шлюзов выпуска

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

  1. Установите критерии выхода шлюза. Определите условия или критерии, которые должны быть выполнены перед освобождением или развертыванием ресурсов. Включите такие факторы, как пределы расходов, пороговые значения использования ресурсов или вехи проекта.

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

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

Настройка оповещений о затратах

Для оптимизации затрат важно настроить оповещения для бюджетов, аномалий затрат и использования плана на основе обязательств. Эти оповещения обеспечивают видимость расходов на облако и обеспечивают упреждающее управление затратами. Будьте внимательны, чтобы управлять получателями уведомлений для оповещений и поддерживать список получателей в актуальном состоянии с учетом текущих обязанностей и доступа. Ниже перечислены некоторые оповещения, которые можно создать для оптимизации затрат.

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

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

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

Использование IaC

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

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

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

  2. Шаблоны магазина. Храните шаблоны IaC в системе управления версиями для отслеживания изменений и управления различными версиями. Управление версиями можно использовать для ведения журнала конфигураций инфраструктуры и содействия совместной работе между участниками команды.

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

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

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

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

Упрощение azure

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

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

  • Выявление недостаточно используемых или простаиваемых ресурсов. Используйте Помощник по Azure для оптимизации и сокращения общих затрат на Azure путем выявления неактивных и недостаточно используемых ресурсов. Получите рекомендации по затратам из раздела затрат на панели мониторинга помощника .

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

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

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

Использование инфраструктуры в качестве кода. Средства и службы Azure можно использовать для развертывания ресурсов инфраструктуры и управления ими с помощью кода. С помощью таких средств, как шаблоны Azure Resource Manager (ARM), Azure Bicep и Azure DevOps, можно декларативно определять и развертывать ресурсы инфраструктуры. В Azure есть шаблоны Bicep, Azure Resource Manager и Terraform для каждого ресурса Azure.

Используйте Azure Pipelines или другие средства непрерывной интеграции и непрерывной поставки (CI/CD) для автоматизации процессов сборки, тестирования и развертывания. Teams может использовать конвейеры для определения ряда шагов и действий, которые выполняются автоматически при внесении изменений в базу кода. Автоматизируйте эти процессы, чтобы сократить усилия вручную, обеспечить согласованность и ускорить поставку программного обеспечения.

Для оптимизации затрат рекомендуется использовать более экономичные ресурсы для эфемерных или непроизводственных сред. Azure предоставляет различные ценовые категории для ресурсов. Azure DevTest Labs цены и резервирования Azure — это экономичные методы, которые можно изучить для временных сред.

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

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

Azure Developer CLI — это средство с открытым кодом, которое ускоряет время, необходимое для получения приложения из локальной среды разработки в Azure. Azure Developer CLI предлагает удобные для разработчиков команды, которые сопоставляются с ключевыми этапами рабочего процесса, независимо от того, работаете ли вы в терминале, интегрированной среде разработки (IDE) или CI/CD.

Настройка оповещений о затратах. Используйте Службу управления затратами Майкрософт для оптимизации затрат и применения ограничений расходов. Функции управления затратами можно использовать для задания бюджетов и оповещений, визуализации сведений о затратах с помощью таких средств, как Power BI, а также анализа шаблонов затрат и узких мест производительности.

Соответствие структуре организации

Центральные команды должны использовать руководство по Cloud Adoption Framework для настройки ограничений расходов в организации, чтобы группы рабочей нагрузки понимали, что может предложить центральная команда.

Мы рекомендуем организации применять ограничения на основе политик. Пример реализации см. в разделе Внедрение ограничений на основе политик.

Контрольный список для оптимизации затрат

Ознакомьтесь с полным набором рекомендаций.