0Pricing
Cloud & IT Cert Prep · Урок

Выявление и устранение потерь

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

«Выявление и устранение потерь» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Облачные потери: скрытый источник затрат

Исследования неизменно показывают, что организации тратят впустую 25–35% расходов на облако на простаивающие, избыточно подготовленные или забытые ресурсы. В Azure к распространённым источникам потерь относятся VM, работающие круглосуточно при почти нулевой загрузке CPU, неподключённые управляемые диски, оставшиеся после удаления VM, осиротевшие общедоступные IP-адреса и неиспользуемые планы App Service. Выявление и устранение этих потерь — первый и наиболее эффективный с точки зрения ROI шаг в любой практике FinOps.

Рекомендации Azure Advisor по затратам

Azure Advisor непрерывно анализирует использование ресурсов и автоматически формирует рекомендации категории Cost. К распространённым рекомендациям относятся: изменить размер или остановить недостаточно используемые VM (менее 5% загрузки CPU или 2% использования памяти в течение 7 дней), приобрести Reserved Instances для постоянно работающих VM, удалить неподключённые общедоступные IP-адреса и удалить простаивающие экземпляры Application Gateway. В каждой рекомендации указывается расчётная месячная экономия, чтобы Вы могли расставить приоритеты по влиянию.

# List Advisor cost recommendations via CLI
az advisor recommendation list \
  --category Cost \
  --query '[].{Resource:resourceName, Impact:impact, Savings:extendedProperties.annualSavingsAmount}' \
  --output table

Поиск простаивающих и недостаточно используемых VM

Azure Monitor собирает метрики процента загрузки CPU и входящего и исходящего сетевого трафика для каждой VM. VM, у которой загрузка CPU стабильно ниже 5%, с высокой вероятностью следует изменить в размере или остановить. Используйте функцию Virtual Machine Insights в Azure Monitor, чтобы просматривать общую картину использования CPU и памяти всеми VM за 24 часа, 7 или 30 дней. Рекомендация Advisor для недостаточно используемых VM содержит прямую ссылку на графики производительности, поэтому перед принятием решения Вы можете подтвердить наличие такой закономерности.

# Query average CPU for a VM over the last 7 days
az monitor metrics list \
  --resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
  --metric 'Percentage CPU' \
  --interval PT1H \
  --start-time 2024-06-01T00:00:00Z \
  --end-time 2024-06-08T00:00:00Z \
  --aggregation Average

Неподключённые диски и моментальные снимки

Если VM удалить, не выбрав удаление её дисков, управляемые диски сохраняются и продолжают тарифицироваться. На портале Azure отфильтруйте диски по условию Состояние диска: Unattached, чтобы найти эти осиротевшие диски. Аналогично часто забывают старые моментальные снимки, созданные для резервного копирования или миграции. Хранение моментальных снимков дешевле хранения управляемых дисков, однако за год забытые моментальные снимки в большой подписке могут привести к дополнительным расходам в несколько тысяч долларов.

# Find all unattached managed disks in a subscription
az disk list \
  --query '[?diskState == `Unattached`].{Name:name, RG:resourceGroup, SizeGB:diskSizeGb}' \
  --output table

Осиротевшие общедоступные IP-адреса и сетевые интерфейсы

Общедоступные IP-адреса в Azure тарифицируются даже в том случае, если они не связаны с работающим ресурсом. После удаления VM или балансировщиков нагрузки их общедоступные IP-адреса и сетевые интерфейсы могут сохраниться. На портале отфильтруйте общедоступные IP-адреса по условию Связан с: None и удалите те, которые Вам больше не нужны. Аналогично можно без опасений удалить осиротевшие сетевые интерфейсы, не подключённые ни к одной VM или службе. Отдельные суммы невелики, но при сотнях ресурсов они складываются в существенные расходы.

# Find unassociated public IP addresses
az network public-ip list \
  --query '[?ipConfiguration == null].{Name:name, RG:resourceGroup, SKU:sku.name}' \
  --output table

Ресурсы-зомби: промежуточные среды и среды Dev

Ресурсы-зомби — это существующие в течение длительного времени среды для промежуточного развертывания, тестирования или проверки концепции, которые были подготовлены, а затем забыты. В отличие от простаивающих рабочих VM, они могут использоваться с умеренной нагрузкой в рабочие часы, но не обслуживают активный проект. Внедрите политику тегирования ресурсов, требующую наличие тегов Environment и Project для каждого ресурса, а затем настройте автоматические оповещения для ресурсов, у которых Environment=Dev или Environment=Test и которым больше 90 дней.

# Find resources tagged as Dev that are over 90 days old (approximate via createdTime)
az resource list \
  --tag Environment=Dev \
  --query '[].{Name:name, Type:type, RG:resourceGroup}' \
  --output table

Автоматическое завершение работы VM Dev и Test

VM Azure поддерживают функцию Auto-Shutdown, которая автоматически останавливает VM в заданное время каждый день. Включите её для всех VM Dev и Test, чтобы они не работали ночью и в выходные. Например, VM Dev, работающая круглосуточно, оплачивается за все 24 часа, а VM, настроенная на автоматическое завершение работы в 18:00 и автоматический запуск в 8:00 только по будним дням, используется 50 часов в неделю вместо 168, что позволяет сэкономить примерно 70% затрат на вычисления.

# Enable auto-shutdown at 18:00 UTC on a dev VM
az vm auto-shutdown \
  --resource-group myRG \
  --name myDevVM \
  --time 1800 \
  --email admin@contoso.com

Azure Cost Management: обнаружение аномалий

Azure Cost Management включает функцию Anomaly Detection, использующую машинное обучение для выявления неожиданных скачков расходов. Когда затраты подписки или группы ресурсов значительно отклоняются от прогнозируемых закономерностей — например, кто-то случайно развернул GPU VM или забыл удалить шлюз ExpressRoute, — Cost Management отправляет оповещение об аномалии по электронной почте. Настройка оповещений об аномалиях — быстрый способ выявить неконтролируемый рост затрат до того, как он отразится в ежемесячном счёте.

# Create a cost anomaly alert
az costmanagement alert create \
  --name 'AnomalyAlert' \
  --scope '/subscriptions/<subscriptionId>' \
  --type 'Anomaly' \
  --contact-emails 'finance@contoso.com'

Изменение размеров уровней хранилищ и баз данных

Не все потери связаны с вычислениями. Базы данных Azure SQL, подготовленные на уровне Business Critical, но выполняющие простые запросы с преобладанием чтения, могут работать так же, как на уровне General Purpose, стоимость которого вдвое ниже. Данные Blob Storage, к которым обращаются редко, следует переместить с уровня Hot на уровень Cool или Archive с помощью политик управления жизненным циклом. Azure Advisor показывает рекомендации по изменению размеров баз данных и хранилищ наряду с рекомендациями по вычислительным ресурсам.

# Create a Blob lifecycle policy to move data to Cool tier after 30 days
az storage account management-policy create \
  --account-name mystorageacct \
  --resource-group myRG \
  --policy @- << 'POLICY'
{
  'rules': [{
    'name': 'MoveOldDataToCool',
    'type': 'Lifecycle',
    'definition': {
      'actions': { 'baseBlob': { 'tierToCool': { 'daysAfterModificationGreaterThan': 30 } } },
      'filters': { 'blobTypes': ['blockBlob'] }
    }
  }]
}
POLICY

Формирование списка задач по устранению потерь

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

Управление для предотвращения будущих потерь

Предотвращение эффективнее с точки зрения затрат, чем устранение последствий. Используйте Azure Policy, чтобы запрещать создание дорогих SKU VM (например, GPU или M-series) без одобрения, требовать теги Environment и ExpiryDate для всех ресурсов и автоматически включать автоматическое завершение работы для новых VM в подписках Dev. Объедините политики с оповещениями о бюджете, настроенными на 80% и 100% месячного бюджета, чтобы команды получали уведомления до возникновения перерасхода.

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.

Итоги урока

В этом уроке Вы узнали, что Azure Advisor предоставляет практические рекомендации по затратам для простаивающих VM, неподключённых дисков и избыточно подготовленных служб, автоматическое завершение работы для VM Dev может сократить расходы на вычисления на 70%, а политики управления с тегированием предотвращают накопление будущих потерь. Далее мы рассмотрим методы изменения размеров ресурсов и стратегии автоматического масштабирования.

Часто задаваемые вопросы

Урок «Выявление и устранение потерь» бесплатный?

Да — полный текст урока «Выявление и устранение потерь» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Чему я научусь в уроке «Выявление и устранение потерь»?

Используйте рекомендации Azure Cost Management и Advisor, чтобы найти бездействующие VM, неподключенные диски, избыточно подготовленные службы и неиспользуемые ресурсы, а затем выведите их из эксплуа… Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?

Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Выявление и устранение потерь»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?

Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Выявление и устранение потерь
  2. Оптимизация размеров и автомасштабирование
  3. Планы экономии Azure и резервирования
  4. FinOps и модели распределения затрат
← Назад к Cloud & IT Cert Prep