Поделиться через


Рекомендации по оптимизации затрат на среду

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

CO:08 Оптимизация затрат на среду. Выравнивайте расходы на приоритеты допроизводства, рабочей среды, операций и аварийного восстановления. Для каждой среды следует учитывать необходимую доступность, лицензирование, рабочие часы и условия и безопасность. Непроизводственные среды должны эмулировать рабочую среду. Реализуйте стратегические компромиссы в непроизводственных средах.

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

Определения

Термин Определение
Целевая точка восстановления (RPO) Максимальная допустимая длительность потери данных во время инцидента.
Целевое время восстановления (RTO) Это максимально допустимое время, в течение которого приложение может быть недоступно после инцидента.
Соглашение об уровне обслуживания (SLA) Договорное соглашение между поставщиком услуг и клиентом службы. Соглашение определяет цели уровня обслуживания (SLOS). Неисполнение соглашения может иметь финансовые последствия для поставщика услуг.

Основные стратегии проектирования

Цель оптимизации затрат на среду — найти правильный баланс стоимости, стоимости и риска для каждой среды, включая рабочие, предварительные и аварийное восстановление (АВАРИЙНОе восстановление). Настройте каждую среду для конкретного использования, чтобы сэкономить деньги и эффективно использовать ресурсы. Определите преимущества каждой среды, например эффективность или удовлетворенность клиентов. Вы хотите оценить рентабельность инвестиций (ROI) для окружающей среды, даже если она не делает прямую прибыль. Тратить больше денег на среды с высоким риском, чтобы сократить проблемы и сэкономить деньги на средах с низким риском. Стремится сбалансировать значения, затраты и риски в каждой среде.

Оценка значения среды

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

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

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

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

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

Определение затрат на среду

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

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

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

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

Оптимизация рабочей среды

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

  • Дифференцировать регионы: тратить меньше на регионы, которые обслуживают меньше клиентов. Например, следует инвестировать больше в регион, который обслуживает 90 процентов пользователей, чем в регионе, который обслуживает 10 процентов пользователей. Настройте стратегию развертывания в соответствии с требованиями каждого региона и сегмента пользователя.

  • Дифференцировать масштабирование: реализуйте стратегии горизонтального и вертикального масштабирования. Эффективное масштабирование ресурсов для удовлетворения спроса без чрезмерной подготовки.

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

  • Настройка моделей клиентов: настройка среды на основе модели клиента. Например, тратить больше на услуги и функции для платных клиентов и тратить меньше на неплатежественных клиентов.

Оптимизация среды аварийного восстановления

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

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

  • Определите ОСРВ и RPOS. Чтобы определить структуру среды аварийного восстановления, определите допустимые ограничения простоя и потери данных для каждой системы или приложения.

  • Оптимизация холодной среды аварийного восстановления: холодная среда аварийного восстановления не имеет инфраструктуры или запущенных служб. Инфраструктуру можно использовать как код (IaC) для быстрого развертывания инфраструктуры во время нарушения. Политики резервного копирования и хранилища должны соответствовать RPOs и ОСРВ среды. Убедитесь, что объем и частота резервных копий данных не более надежна, чем требуется.

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

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

  • Оптимизация теплой среды аварийного восстановления: теплый подход аварийного восстановления — это средний уровень между холодной средой аварийного восстановления и горячей средой аварийного восстановления. Теплая среда частично активна и периодически синхронизируется с основным сайтом. Он обеспечивает баланс между затратами и временем восстановления. Однако это наименее оптимизированный для затрат подход. Рассмотрите холодный или горячий подход для оптимизации затрат.

Оптимизация предварительных сред

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

Оценка сред предварительной подготовки

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

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

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

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

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

В следующей таблице приведены примеры распространенных сред предварительной подготовки.

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

Применение управления

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

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

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

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

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

  • Используйте согласованную архитектуру ЦП: используйте ту же архитектуру ЦП в предварительной и рабочей среде. Например, приложения x86 не выполняются изначально в Azure Resource Manager и наоборот. Используйте ту же архитектуру ЦП, что и в рабочей среде, чтобы обеспечить совместимость и свести к минимуму потенциальные проблемы.

  • Используйте ту же операционную систему: не изменяйте операционную систему (например, с Windows на Linux) или ядро в предварительной среде. Программное обеспечение, созданное для Windows, часто не выполняется изначально в Linux без уровня совместимости, и наоборот. Файловые системы и структуры каталогов отличаются, что может вызвать проблемы с исправлением приложений. Согласованные среды помогают снизить риск проблем совместимости и обеспечить плавное развертывание.

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

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

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

Баланс сходства с рабочей средой

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

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

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

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

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

Оптимизация сред разработки

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

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

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

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

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

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

  • Оптимизация управления данными. Среды разработки могут иметь низкие потребности в хранении данных и частоте резервного копирования.

Рассмотрим эмуляцию конечных точек

Вы можете оптимизировать затраты в предварительной среде с помощью эмуляции конечных точек или макетов конечных точек, особенно для дорогостоящих ресурсов, таких как GPU. Определите компоненты или службы в предварительной среде, которые являются самыми дорогими или ресурсоемкими. Используйте макет конечных точек, чтобы имитировать ответы этих дорогостоящих компонентов, не вызывая их. Для имитации ответов API можно использовать такие инструменты, как WireMock, макетный сервер Postman или пользовательские реализации.

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

Упрощение функций Azure

Определение и оптимизация затрат на среду: Microsoft Cost Management — это набор средств, которые помогают организациям отслеживать, выделять и оптимизировать затраты на рабочие нагрузки Microsoft Cloud. Управление затратами доступно любому пользователю с доступом к области выставления счетов или управления ресурсами.

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

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

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

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

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

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

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

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