IT Partner

Золотой партнер Microsoft с 2006 года

Оптимизация затрат на Azure: 7 проверенных способов сократить расходы на Azure

 

За последние 5 лет или около того многие организации перенесли свои инфраструктуры и дополнительные ресурсы в Microsoft Azure. По данным InfoClutch, Azure уже пользуется более 280 000 компаний по всему миру. По этой причине затраты на облачные сервисы (и их оптимизацию) занимают наибольшую долю в бюджетах большинства организаций в сфере IT.

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

1. Переход на эластичные базы данных (с традиционных серверов баз данных)

Запуск MS SQL или других серверов баз данных в Azure может оказаться довольно дорогостоящей привилегией – из-за этого может произойти резкий рост затрат. Виртуальные машины могут оказаться слишком дорогими, в то время как экземпляры базы данных часто используются не оптимальным образом. Из-за всего этого виртуальные машины баз данных стают нецелесообразным и не самым простым способом распределения нагрузки между объектами, особенно если вы хотите сократить общие расходы на Azure.
Вот почему переход на PaaS – лучшее решение для многих организаций. Большинство компаний, которые переходят на службу Azure SQL, сообщают о существенном сокращении затрат. Это сокращение, в основном, связано с более динамичным методом оплаты, при котором вы платите только за ресурсы баз данных, которые вы фактически используете в данный момент. Это обеспечивает экономическую эффективность на более глубоком уровне.

Лучший практический совет: : используйте эластичные пулы SQL.

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

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

Мы рекомендуем вам проверить использование DTU базы данных. Если вы заметите, что показатель использования одной из баз данных в ваших DTU достигает 40% и более в любой момент времени, это с высокой вероятностью означает, что вы сможете сэкономить. Однако, поскольку значения DTU могут быть несколько ненадежными, мы настоятельно рекомендуем регулярно проверять метрики базы данных для грамотного принятия решения на основе данных.

Лучший практический совет: использовать безсерверный Azure SQL

Этот единственный уровень вычислений базы данных в Azure SQL Database предназначен для автоматического масштабирования вычислительной мощности и использования в соответствии с требованиями рабочей нагрузки. Безсерверные базы данных выставляют счет своим пользователям за объем вычислительной мощности, используемой в секунду. Они могут автоматически приостанавливать базу данных, когда она неактивна, и возобновлять активность по мере надобности – в эти периоды вы платите только за хранение.

2. Использование многоуровневого хранилища

Поскольку хранилище часто является одной из самых затратных частей Azure, оптимизация этого аспекта развертывания Azure может существенно сократить накладные расходы.
Модель Azure Blob Storage предлагает разные уровни хранилища: Premium, Hot, Cool и Archive. У каждого из них есть свой соответствующий тариф за 1 ГБ в месяц. Использование правильного уровня хранения для правильного типа данных может быть очень экономически целесообразным.
Например, хорошим опытом автоматизации станет хранение на более дешевом уровне данных, к которым вы обращаетесь реже. Так снижаются ежемесячные затраты и экономятся значительные средства в долгосрочной перспективе.

3. Перенос рабочих нагрузок в контейнеры

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

Это важно:

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

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

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

5. Оптимизация размера виртуальных машин для максимальной производительности.

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

Хотя это не всегда возможно, постарайтесь достичь (или приблизиться к) 100% использования виртуальных машин. Таким образом ваши затраты на виртуальные машины будут оптимальными. Чтобы приблизиться к максимальному порогу использования виртуальных машин, мы рекомендуем отслеживать метрики с помощью Azure Monitor, а также использовать автоматическое масштабирование для добавления / удаления машин в соответствии с вашим текущим процентом использования.

6. Отслеживание производительности зависимостей приложений.

Помимо SQL-сервера, весьма вероятно, что ваше приложение использует очереди / кэширование, выполняет вызовы веб-служб или использует другие зависимости и функции Azure, такие как CosmosDB, Azure Storage и т. д.

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

Еще один вариант, который стоит рассмотреть – Microsoft Azure Service Bus. Это полностью управляемый брокер сообщений интеграции предприятия, который может разделять приложения и службы, предлагая надежную и безопасную платформу для асинхронной передачи данных и состояния. Service Bus использует сообщения для передачи данных между приложениями и службами.

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

7. Создание расписания запуска / остановки виртуальной машины в зависимости от использования

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

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

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

Подведем итоги

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