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

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

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

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

Определения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Баланс подобия с рабочей средой

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

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

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

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

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

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

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

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

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

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

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

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

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

Рассмотрите возможность эмуляции конечной точки

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

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

Упрощение azure

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

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

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

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

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

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

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

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

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