Повышение эффективности расходов на облако
Вы являетесь архитектором решений в организации Lamna Healthcare, которая перенесла свои рабочие нагрузки в облако. Недавно счета за ресурсы и рабочие процессы увеличились больше ожидаемого. Вас попросили выяснить, является ли это увеличение естественным следствием роста или затраты можно сократить, повысив эффективность использования облачных ресурсов.
Как облако влияет на затраты
Одним из различий между общедоступным облаком и локальной инфраструктурой является способ оплаты используемых служб.
В локальном центре обработки данных закупка оборудования является длительным процессом. Выбирается физическое оборудование с максимальной емкостью. Подразделения, использующие эти ресурсы, могут не знать о некоторых затратах, например на энергоснабжение и место для хранения. Потребность в физической инфраструктуре заставляет вкладываться в долгосрочные активы, что снижает гибкость.
Переход в облако позволяет заменить все возрастающие затраты на поддержку физической инфраструктуры моделью оплаты по мере использования. Вам больше не нужно инвестировать в физические активы. Если ваши потребности в ресурсах меняются, вы можете оперативно добавлять, перемещать или удалять их.
Рабочие нагрузки могут быть различными в разных службах или в пределах одной службы, потребности — быть непредсказуемыми, а модель развития может со временем видоизменяться. Так как при работе в облаке вы платите только за то, что используете, структура затрат может меняться в соответствии с изменениями в ресурсах.
Облачная инфраструктура может обрабатывать меняющиеся сценарии использования ресурсов. Ресурсы, которые простаивают в течение длительных периодов, можно временно отключать, чтобы не нести расходы. Выделение ресурсов может увеличиваться автоматически по мере роста спроса, так что вам не нужно будет ждать следующего цикла приобретения. Для реагирования на прогнозируемые и непредсказуемые колебания потребности можно динамически добавлять и удалять дополнительные ресурсы.
На следующем рисунке показано, почему в локальной инфраструктуре невозможна обработка изменяющихся сценариев.
В эффективной архитектуре объем подготовленных ресурсов соответствует потребности в них. Если виртуальная машина используется меньше чем на 10 % больше, вы будете тратить ресурсы как на вычисления, так и на затраты. И наоборот, виртуальная машина, которая использует 90 процентов, использует большую часть доступных ресурсов и является эффективным использованием денег.
Когда система используется на 100 %, возникает риск проблем с производительностью. Важно делать так, чтобы повышение эффективности не вредило производительности системы. Потребность в ресурсах редко остается постоянной, поэтому изменение их количества в соответствии с потребностью — важное условие обеспечения эффективности.
Оптимизация затрат на IaaS
Если вы используете ресурсы IaaS (например, виртуальные машины) в рамках решения, затраты, связанные с виртуальными машинами, часто являются самой большой частью ваших расходов. На первом месте, как правило, находятся затраты на вычислительные ресурсы, а затем — на хранилище. Оптимизация ресурсов с оплатой по мере использования может значительно сказаться на сумме ежемесячного счета.
Давайте рассмотрим практические рекомендации по сокращению затрат на вычислительные ресурсы и хранилище.
Вычисления
Добиться экономии за счет виртуальных машин можно несколькими способами:
- Выбирайте экземпляры виртуальных машин меньшего размера.
- Сократите время работы виртуальных машин.
- Пользуйтесь скидками на вычислительные ресурсы.
Выбор подходящего размера виртуальных машин
Чтобы выбрать подходящий размер виртуальной машины, нужно учесть требования к ресурсам. Если виртуальная машина простаивает в течение 25 % времени, уменьшение ее размера немедленно приведет к сокращению затрат. Затраты на виртуальные машины растут линейно в пределах семейства экземпляров: каждый следующий размер увеличивает затраты вдвое. И наоборот, уменьшение размера экземпляра на единицу сократит затраты наполовину.
На следующем рисунке показана экономия 50 % за счет перехода на меньший размер в пределах одной серии.
Помощник по Azure определяет, какие виртуальные машины используются недостаточно. В течение 14 дней Помощник по Azure отслеживает использование виртуальных машин, а затем определяет любые недозагруженные виртуальные машины. Виртуальные машины, у которых среднее использование ресурсов ЦП составляет не больше 5 %, а использование ресурсов сети составляет не больше 7 МБ на протяжении четырех или более дней, считаются недозагруженными.
Настройка расписания отключения для виртуальных машин
Если у вас есть рабочие нагрузки виртуальных машин, которые используются только в определенные периоды, но вы используете их без перерыва, это лишние расходы. Такие виртуальные машины можно отключать, когда они не используются, что позволяет экономить вычислительные ресурсы, когда виртуальная машина не работает. Хорошим примером отключения на нерабочее время является среда разработки, поскольку действия по разработке обычно выполняются только в рабочее время.
Отменить выделение виртуальной машины можно несколькими способами. Например:
- С помощью службы автоматизации Azure можно запускать виртуальные машины только в то время, когда выполняются рабочие нагрузки.
- Вы можете использовать функцию автоматического завершения работы на виртуальной машине, чтобы настроить разовое автоматическое завершение работы.
- Можно остановить виртуальную машину вручную на портале Azure.
Для остановки виртуальных машин всегда следует использовать средства управления Azure. Завершение работы операционной системы из виртуальной машины не освобождает ее ресурс Azure, поэтому с вас будет взиматься плата.
Скидки на вычислительные ресурсы
Преимущество гибридного использования Azure предлагает дополнительный способ оптимизации затрат на экземпляры Windows Server и SQL Server. Оно позволяет использовать лицензии для локальных компьютеров под управлением Windows Server или SQL Server с Software Assurance в качестве скидки на стоимость вычислений на этих виртуальных машинах. Затем можно сократить или исключить затраты на Windows Server и SQL Server на включенных экземплярах.
Некоторые виртуальные машины должны работать постоянно. Возможно, у вас есть ферма серверов веб-приложений для рабочей нагрузки. Или контроллер домена, который поддерживает различные серверы в виртуальной сети. Если вы точно знаете, что эти виртуальные машины будут непрерывно работать весь следующий год или еще дольше, то можете дополнительно сократить затраты, купив зарезервированный экземпляр.
Azure Reserved Virtual Machine Instances (Azure RI) позволяет приобрести вычислительную мощность на один или три года. Это обеспечивает значительную экономию; до 72 % по сравнению с вычислительными ресурсами с оплатой по мере использования.
На следующем рисунке показана экономия при объединении локальных лицензий с Преимуществом гибридного использования Azure. На нем также показана экономия, достигаемая при объединении локальных лицензий с Azure Reserved Virtual Machine Instances и Преимуществом гибридного использования Azure.
Оптимизация затрат для дискового хранилища виртуальной машины
Если рабочие нагрузки не требуют дисков с высоким уровнем надежности и производительности, можно ограничить затраты, используя более дешевое хранилище уровня "Стандартный". Например, вы можете использовать стандартное хранилище для сред разработки и тестирования, которые не должны совпадать с рабочими нагрузками.
Диски, которые не связаны с виртуальной машиной, по-прежнему вызывают затраты на хранение, поэтому следует убедиться в отсутствии потерянных дисков в вашей среде. Если вы удалили виртуальную машину, однако оставили связанные с ней диски, уменьшить затраты на хранение можно, определив такие потерянные диски и удалив их из среды.
Следует убедиться, что в среде не осталось потерянных моментальных снимков. Стоимость их меньше, чем стоимость дисков, но и на них можно сократить затраты на ненужные ресурсы.
Оптимизация затрат на PaaS
Службы "платформа как услуга" (PaaS), как правило, оптимизированы для затрат на службы IaaS, но есть возможности для выявления отходов и оптимизации для минимальных затрат в службах PaaS. Рассмотрим способы сокращения затрат на базу данных SQL Azure и хранилище BLOB-объектов Azure.
Оптимизация затрат на Базу данных SQL Azure
При создании базы данных SQL Azure необходимо выбрать сервер и уровень производительности. Уровень производительности выражается в единицах транзакций базы данных (DTU) или виртуальных ядрах.
Если база данных испытывает стабильную нагрузку, затраты легко оптимизировать, выбрав подходящий уровень в соответствии с требуемой производительностью. Но что если нагрузка на базу данных испытывает неожиданные резкие колебания? При работе с непредсказуемыми рабочими нагрузками помочь снизить затраты могут эластичные пулы.
Эластичные пулы баз данных SQL — это простое и экономичное решение для администрирования и масштабирования нескольких баз данных с отличными и непредсказуемыми требованиями к ресурсам. Базы данных в составе эластичного пула размещены на одном сервере Базы данных SQL Azure и совместно используют определенный набор ресурсов по фиксированной цене. Пулы хорошо подходят для большого числа баз данных с конкретными закономерностями использования. Для заданной базы данных эта закономерность характеризуется низким средним использованием с относительно редкими пиками использования.
Чем больше баз данных можно добавить в пул, тем больше экономия. На следующем рисунке показаны возможности трех типов эластичных пулов баз данных:
- Базовый — автоматически масштабируется до 5 eDTU на базу данных.
- Стандартный — автоматически масштабируется до 100 eDTU на базу данных.
- Премиум — автоматически масштабируется до 1000 eDTU на базу данных.
Эластичные пулы — это отличный способ распределения затрат между несколькими базами данных. Они могут существенно снизить затраты на базу данных SQL Azure.
Оптимизация затрат на Хранилище BLOB-объектов
Хранилище BLOB-объектов — это эффективный метод хранения данных. Однако по мере увеличения объема данных оптимизация способа их хранения может помочь уменьшить сумму счета.
Служба хранилища Azure предлагает три уровня для хранения BLOB-объектов:
Горячий уровень доступа: самые высокие затраты на хранение, но самые низкие затраты на доступ. Этот уровень оптимизирован для хранения данных, к которым часто обращаются.
Холодный уровень хранилища: ниже стоимость хранения, но выше расходы на доступ по сравнению с горячим уровнем. Этот уровень оптимизирован для хранения данных, которые используются редко и хранятся не менее 30 дней.
Архивный уровень хранилища — самая низкая стоимость хранения, но максимальные расходы на извлечение данных по сравнению с горячим и холодным уровнями. Этот уровень оптимизирован для хранения данных, которые используются редко и хранятся не менее 180 дней, если допускается задержка (например, можно подождать несколько часов для извлечения).
Модели ценообразования за потребление
Переход на службы PaaS может помочь сделать модель с оплатой по мере использования еще более гибкой. Для таких служб, как Функции Azure, предусмотрены планы потребления.
При использовании плана потребления экземпляры узла Функции Azure динамически добавляются и удаляются в зависимости от количества входящих событий. Этот бессерверный план масштабируется автоматически, и вы платите за вычислительные ресурсы только тогда, когда ваши функции работают. В плане потребления функция должна выполняться в течение настроенного времени (времени ожидания). Выставление счетов основано на количестве выполненных операций, продолжительности времени выполнения и объеме используемой памяти. Плата начисляется совокупно за использование всех функций приложения-функции.
Переход на службы, использующие модель тарификации по мере использования, может создать в вашей архитектуре дополнительные возможности для экономии.
Проверьте свои знания
Нужна помощь? Обратитесь к руководству по устранению неполадок или предоставьте отзыв, сообщив о конкретной проблеме.