10 способов оптимизировать расходы на Azure

10 советов по оптимизации затрат на Azure

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

Эта статья поможет вам понять некоторые лучшие практики оптимизации стоимости в Azure.

1. Понимание ресурсов по тегам и группировке

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

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

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

2. Отслеживание стоимости и реагирование на непреднамеренные скачки

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

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

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

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

3. Умное запуск/остановка или высвобождение ресурсов, не используемых в производстве

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

4. Идентификация и удаление неиспользуемых ресурсов

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

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

5. Бронирование

Бронирование – это одна из областей, где можно сэкономить до 80% затрат на ресурсы. Microsoft Azure предоставляет скидки на ресурсы, основанные на объявленных обязательствах использования на 1 до 3 года. Бронирование не только дает скидки, но также позволяет получить мощную машину по низкой цене. Подробнее о бронировании можно узнать здесь.

6. План сбережений

Планы сбережений – новое дополнение, аналогичное бронированию. Вам нужно будет обязательно придерживаться фиксированной почасовой ставки расходов в течение 1 до 3 лет и получить скидку до 65%.

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

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

7. Спот-инстансы

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

Вы можете использовать Спот-инстансы для агентов сборки потоков в Azure DevOps, прерываемых пакетных заданий и т. д. Подробную информацию о спот-инстансах вы можете найти здесь.

8. Правильный размер

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

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

9. Выбор правильных служб

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

Azure Functions, работающие в режиме потребления, являются

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

Аналогичным образом, многие другие службы доступны в режиме Serverless. Возможное сокращение затрат на услуги Serverless следует учитывать.

10. Настройка политик и соблюдение bewt практик

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

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

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

Выводы из рекомендаций по оптимизации затрат в Azure

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

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

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