Оптимизация затрат облака (3 серии деталей)
Если ваш законопроект AWS Kubernetes преодолел ваш бюджет в этом месяце, это не ваша вина.
Обычно Компании преодолевают свои облачные бюджеты на 23% ( flexera ).
Облачные провайдеры здесь не помогают. Счета длинные, сложные и трудно понять. AWS имеет более 150 типов экземпляров EC2, Как вы должны понять все это?
Эта статья заполнена советами по снижению затрат на AWS, независимо от того, используете ли вы K8S самостоятельно или используете EKS.
Что вы найдете внутри:
- Быстрое руководство по ценам AWS
- Начните с понимания вашего законопроекта о AWS Kubernetes
- 8 лучших практик, чтобы уменьшить ваш счет AWS
- Определите свои требования
- Выберите правильный тип экземпляра
- Проверьте ограничения передачи хранилища
- Проверьте, готова ли ваша рабочая нагрузка
- Черри-точечные экземпляры
- Ставка на свою цену на место
- Используйте смешанные экземпляры
- Сделайте для вас несколько зон доступности
- Или просто автоматизируйте это
Примечание. При написании этой статьи AWS ввел изменения в свое предложение. Мы будем обновлять его на регулярной основе.
Быстрое руководство по ценам AWS
По требованию экземпляры
Как это работает: В этой модели оплаты как вы платите только за ресурсы, которые вы фактически используете. Например, AWS взимает вас за каждый час вычислительной мощности, используемой вашей командой. Вы не сталкиваетесь с долгосрочными обязательными контрактами или авансовыми платежами, поэтому вы не преувеличиваете никаких бюджетов. И вы сможете увеличить или уменьшить свое время использования.
Что нужно следить:
- Это самый дорогой вариант, поэтому ваш бюджет — это реальный риск.
- Гибкие экземпляры по требованию отлично подходят для непредсказуемых рабочих нагрузок, которые испытывают колеблющиеся дрожь. В противном случае вы должны изучить альтернативы.
Зарезервированные случаи
Как это работает: Теоретически все звучит великолепно. Вы можете купить емкость заранее в данной зоне доступности по действительно низкой цене по сравнению с экземплярами по требованию. Чем больше ваша предварительная оплата, тем больше скидка. В AWS вы смотрите на обязательства от 1 до 3 лет.
Что нужно следить:
- В большинстве сценариев вы будете заниматься конкретным экземпляром или семьей — и менять его позже не вариант. Это может стать проблемой, если ваши требования изменятся позже.
Планы сбережений
Как это работает: Эта модель очень похожа на зарезервированные экземпляры, но здесь вы обязуетесь использовать заданное количество вычислительной мощности в течение 1 или 3 лет (измерено как использование в час). Таким образом, вы принимаете этот план, и все использование до вашего обязательства будет покрыто. Все дополнительное выставлено с помощью ставки по требованию.
Что нужно следить:
- Конечно, вы обязуетесь последовательному использованию, а не конкретным типам экземпляров и конфигурациям, как в зарезервированных экземплярах.
Как для зарезервированных случаев, так и для планов сбережений, вы все еще рискуете записать себя с поставщиком облаков. Кроме того, вы обязуетесь платить за ресурсы, которые могут не иметь смысла для вашей компании через 1 или 3 года.
Учти это:
Когда ваши требования вычисления изменяются, вам нужно либо совершить еще больше, либо вы застряли с неиспользованными мощностью.
Зарезервированные случаи Удалите любую гибкость масштабирования, сезонности или способности легко настраивать распределение мультирегиона/зоны.
Точечные экземпляры
Как это работает: Это очень экономически эффективная ценовая модель. Вы сталкиваетесь с ресурсами CSP в данный момент не используется и сэкономит до 90% скидки по цене по требованию. Но это имеет ограниченную доступность. AWS может потянуть заглушку с 2-минутным предупреждением. Это все еще лучше, чем Azure или Google Cloud, который дает вам всего 30 секунд.
Что нужно следить:
- Экономия удивительна, поэтому точечные экземпляры определенно стоят вашего внимания.
- Просто убедитесь, что вы выбираете их для рабочих нагрузок, которые могут обрабатывать прерывания, например, компоненты приложения без сохранения состояния, такие как микросервисы или воспроизводимые приложения.
Выделенный хост
Как это работает: Это физический сервер с емкостью экземпляра, который предназначен исключительно для вас. Вы можете использовать свои собственные лицензии на снижение затрат, но при этом получить устойчивость и гибкость AWS. Хороший выбор для предприятий, которым необходимо достичь соответствия и избежать обмена оборудованием с другими арендаторами для дополнительной безопасности.
Что нужно следить:
- При настройке выделенного хоста вы выбираете конфигурацию, которая идентифицирует тип и количество экземпляров, которые вы можете запустить на нем.
- Обратите внимание, что вы выставляете счета почасовом порядке за каждого активного выделенного хоста, а не каждый запуск экземпляра. Тем не менее, это дорогой вариант.
Примечание: не забудьте о дополнительных зарядах
Все облачные провайдеры взимают плату за дополнительные вещи — подумайте о выходе, балансировке нагрузки, блочном хранилище, IP -адресах или поддержке премиум -класса. AWS не исключение. Рассмотрим эти расходы при сравнении различных вариантов ценообразования и установления вашего облачного бюджета.
Начните с понимания вашего законопроекта о AWS Kubernetes
Счета AWS длинные, сложные и трудно понять. Просто посмотрите на этот счет здесь:
Каждая услуга в вашем законопроекте поставляется с собственным показателем выставления счетов. Некоторые услуги в AWS Simple Service взимаются по запросам, в то время как другие используют GB.
Это только верхушка айсберга. Мы рассмотрели больше проблем с облачными счетами здесь: Удивлен вашим облачным счетом? 5 общих проблем и как с ними решать
Чтобы понять ваше использование и начать анализировать затраты, вам нужно изучить Различные области в консоли AWS. Проверка платежей AWS и управления затратами в одиночку не будет достаточно.
Вам нужен более детальный вид, и для этого вам нужно посетить исследователь затрат. Чтобы сделать выставление счетов более прозрачным, рекомендуется группировать и сообщать о затратах по конкретным атрибутам (например, регион или услуги).
Как вы можете себе представить, это очень кропотливый.
Но вам нужно где -то начать. И лучшей отправной точкой является набор инструментов управления затратами.
Инструменты управления затратами AWS — их стоит изучить
- AWS Explorer — Здесь вы можете визуализировать и управлять своими затратами и использованием с течением времени. Начните с создания некоторых пользовательских отчетов, анализа ваших данных с точки зрения птичьего глаза и определения любых драйверов или аномалий затрат.
- АВС бюджеты — Используйте этот удобный инструмент, чтобы установить пользовательские бюджеты и отслеживать ваши затраты/использование для различных вариантов использования. Вы можете установить предупреждение, когда фактическая или прогнозируемая стоимость превышает ваш бюджетный порог. Инструмент также может предупредить вас, когда ваши фактические зарезервированные экземпляры или использование плана сбережений падают ниже порога, который вы установили для него.
- Отчет о стоимости и использовании AWS — Этот отчет дает вам всесторонний обзор ваших затрат и использования вместе с некоторыми дополнительными метаданными по ценам AWS, услугам, зарезервированным случаям и планам сбережений. Вы можете увидеть все это на разных уровнях детализации и организовать все дальше с помощью тегов распределения затрат и категорий затрат.
Несколько команд, использующих одну учетную запись AWS — как с этим справиться?
Если несколько команд или департаментов вносят свой вклад в ваш облачный счет AWS, вам нужен метод, чтобы понять его (или, по крайней мере, дать руку к финансовому директору).
К счастью, AWS предоставляет механизмы для классификации расходов по счетам, организациям или проектам. Вы можете использовать их, чтобы команды не тратили слишком много.
- Организации — Используйте эту функцию для центрального управления и управлять своей средой при масштабировании ресурсов AWS. Создайте новую учетную запись AWS, распределяйте ресурсы, организуйте рабочие процессы, группируя учетные записи, а затем примените бюджеты и политики на счета или группы. Вы можете сделать выставление счетов проще, используя один способ оплаты.
- Метка Ресурсы — Когда вы напрямую помечаете ресурсы, они не собираются приземлиться на ваш счет. Вам нужно разбить данные по тегам вручную. Для этого напишите отчет в исследователе затрат или загрузите данные с S3 и используйте его напрямую (не ожидайте, что это будет простой задачей). Все компании существуют только для создания инструментов для выражения и представления счетов. Обратите внимание, что некоторые службы/компоненты/ресурсы не могут быть помечены.
В качестве альтернативы, вы можете использовать теги ресурсов в AWS Explorer. Обычная практика состоит в том, чтобы создавать теги для каждой команды, среды, приложения, сервиса и даже функции. Затем включите группировку затрат на эти теги, и вы сможете создавать отчеты на биллинговой консоли AWS.
Как прогнозировать затраты на облачные данные? 3 методы
Облачные счета колеблются в зависимости от использования, поэтому прогнозирование их болезненным.
Но это стоит вашего времени. Понимание ваших будущих требований к ресурсам помогает контролировать расходы.
Вот три метода для прогнозирования затрат на оптимизацию затрат AWS.
- Проанализируйте ваши отчеты об использовании — Прежде всего, вам нужно достичь четкой видимости ваших облачных расходов. Регулярно отслеживать отчеты об использовании ресурсов. Установите электронную почту и другие оповещения, чтобы контролировать ваш счет.
- Моделируйте свои облачные расходы — Как вы рассчитываете общую стоимость владения своими облачными ресурсами? Начните с анализа моделей ценообразования AWS и спланируйте требования к мощности с течением времени, чтобы прогнозировать затраты. Разумно также измерять затраты на приложение или рабочую нагрузку для разработки плана затрат на уровне приложения. Вам нужно одно место для агрегирования — вот как вы лучше понимаете расходы.
- Обнаружение пиковых сценариев использования ресурсов — Используйте периодическую аналитику и запустите отчеты о ваших данных об использовании для определения этих сценариев. Вы можете использовать другие источники данных — например, сезонные модели спроса клиентов. Если вы заметите, что эти модели коррелируют с вашим пиковым использованием ресурсов, теперь вы можете идентифицировать их заранее (и подготовиться к этому соответственно).
8 лучших практик, чтобы уменьшить ваш счет AWS Kubernetes
Выбор правильного типа экземпляра VM
1. Определите свои требования **
Закажите только то, что требует вашей рабочей нагрузки в расчетных измерениях:
- Количество процессоров и архитектура,
- Память,
- хранилище,
- сеть.
Доступный экземпляр может выглядеть заманчиво, но что произойдет, если вы начнете запускать приложение с интенсивной памятью и в конечном итоге сталкиваться с проблемами производительности, затрагивающих ваш бренд и клиентов?
Обратите внимание при выборе между плотными экземплярами процессора и графического процессора. Если вы разрабатываете приложение для машинного обучения, вам, вероятно, нужен тип плотного экземпляра графического процессора, потому что обучающие модели на нем намного быстрее.
2. Выберите правильный тип экземпляра
Нельзя отрицать, что вычислительные ресурсы являются самой большой позицией в вашем счете. Выбор правильного типа экземпляра VM может сэкономить вам даже 50% вашего счета ( Мы фактически проверили его ).
AWS предлагает много разных Типы экземпляров, соответствующие широкому диапазону вариантов использования, с совершенно разными комбинациями процессора, память, хранение и сетевую емкость. Каждый тип бывает в одном или нескольких размерах, поэтому вы можете легко масштабировать свои ресурсы.
Но знай это: Облачные провайдеры разрабатывают разные компьютеры для своих виртуальных машин И чипы в этих компьютерах имеют разные характеристики производительности. Таким образом, вы можете выбрать тип экземпляра с сильной производительностью, которая вам на самом деле не нужно (и вы даже не знаете его).
Понимание и расчет всего этого сложно. AWS предлагает более 150 различных типов экземпляров.
Лучший способ проверить возможности виртуальной машины — это сравнительный анализ: сбросив одну и ту же рабочую нагрузку на каждом типе машины и проверяя его производительность. Мы действительно сделали это, посмотрите Здесь Анкет
3. Проверьте ограничения передачи хранилища
Хранение данных — еще один аспект оптимизации затрат, который стоит вашего времени.
Каждое приложение поставляется с уникальными потребностями хранения. Убедитесь, что виртуальная машина, которую вы выбираете, обладает пропускной способностью хранилища.
Также Избегайте дорогих вариантов диска как премиум -SSD, если вы не планируете использовать их в полной мере.
Точечные экземпляры
4. Проверьте, готова ли ваша рабочая нагрузка
Точечные экземпляры-отличный способ сэкономить на вашем счете AWS Kubernetes-даже на 90% скидки на ценообразование по требованию! Но прежде чем прыгнуть на пятно, вам нужно решить, насколько агрессивнее вы собираетесь их реализовать?
Вот несколько вопросов, чтобы привести вас на шаг ближе:
- Сколько времени нужно вашей рабочей нагрузке, чтобы закончить работу?
- Это миссионо-критические?
- Может ли это справиться с прерываниями?
- Он тесно связан между узлами экземпляров?
- Какие инструменты вы собираетесь использовать для перемещения своей рабочей нагрузки, когда AWS тянет завижку?
5. Вишни, приписывая ваши места
При выборе экземпляров пятна выберите немного менее популярные экземпляры, потому что они с меньшей вероятностью будут прерваны.
Как только вы выберете экземпляр, Проверьте его частоту перерыва — Скорость, с которой этот экземпляр восстановил мощность в течение месяца следа.
Вы можете увидеть это консультантом AWS Spot Extance в диапазонах <5%, 5-10%, 10-15%, 15-20%и> 20%:
Не уклоняйтесь от использования точечных экземпляров для более важных рабочих нагрузок.
AWS предлагает тип спотового экземпляра, который дает вам непрерывную гарантию времени на срок до 6 часов (с часовыми приращениями). Вы платите немного больше за это и все еще получаете скидку на 30-50% скидки по требованию по требованию.
6. Ставка на свою цену на место
Как только вы найдете правильный экземпляр, пришло время установить максимальную цену, которую вы готовы заплатить за него. Экземпляр будет работать только тогда, когда цена на рынок ниже или равна вашей ставке.
Вот практическое правило: установите максимальную цену к той, которая равна цене по требованию. В противном случае вы рискуете прерывать свои рабочие нагрузки, как только цена поднимется выше, чем вы устанавливаете.
Чтобы повысить ваши шансы на схватку на точечные экземпляры, вы можете создать группы точечных экземпляров (AWS Spot Fleets) и одновременно запросить несколько типов экземпляров.
Вы будете платить максимальную цену в час за весь флот, а не определенный точечный пул (группа экземпляров с тем же типом, ОС, зоной доступности и сетевой платформы).
Но чтобы заставить его работать, вы сталкиваетесь с огромным количеством задач конфигурации, настройки и обслуживания.
Автоскалирование
7. Используйте смешанные экземпляры
До сих пор я не говорил ни о чем связано исключительно с Kubernetes, так что вот один хороший момент.
Стратегия смешанного значения дает вам большую доступность и производительность по разумной цене. Вы в основном выбираете разные типы экземпляров, поскольку некоторые из них дешевле и достаточно хороши, но могут не подходить для высокопроизводительных рабочих нагрузок с низкой задержкой.
В зависимости от ваших рабочих нагрузок, вы часто можете Выберите самые дешевые машины и заставьте все это работать.
Или у вас может быть меньшее количество машин с более высокими характеристиками. Это может помочь сократить ваш счет AWS Kubernetes, потому что каждый узел требует, чтобы на нем были установлены Kubernetes, и добавляет немного накладных расходов.
Но смешанные экземпляры представляют некоторые проблемы масштабирования.
В сценарии смешанного значения каждый экземпляр использует различный тип ресурса. В то время как вы можете увеличить экземпляры в своих группах автоматической мастерской, используя такие метрики, как процессора и использование сети, вы получите противоречивые метрики.
Cluster Autoscaler помогает здесь, позволяя вам смешивать типы экземпляров в группе узлов. Тем не менее, ваши экземпляры должны иметь такую же мощность с точки зрения процессора и памяти.
8. Сделайте для вас несколько зон доступности
Примеры, охватывающие несколько зон доступности, увеличивают вашу доступность. Но AWS рекомендует сделать это:
Настройте несколько групп узлов, охватите каждую из них в одну зону доступности, а затем включите функцию –balance-similare Node. Если вы создаете только одну группу узлов, вы можете оценить группу узлов, чтобы охватить несколько зон доступности.
Оптимизируйте свой билл AWS Kubernetes Inteply, разумно
Все эти советы применяются независимо от вашего инфра -типа — независимо от того, обрабатываете ли вы кластеры самостоятельно или используете AWS EKS.
Но чтобы серьезно уменьшить ваш счет AWS, вам нужна интеллектуальная платформа, которая может выбрать правильный размер экземпляра из различных типов экземпляров, охватывающих по требованию, SPOT и RESERED,-все время помогая вам управлять зависимостями инфраструктуры.
Это то, что Бросить AI около.
Оптимизация затрат облака (3 серии деталей)
Оригинал: «https://dev.to/castai/8-best-practices-to-reduce-your-aws-bill-for-kubernetes-56od»