Цены на AWS Glue по сравнению с AWS EMR

Я провожу сравнение цен на AWS Glue и AWS EMR, чтобы выбрать между EMR и Glue.

Я рассмотрел 6 DPU (4 виртуальных ЦП + 16 ГБ памяти) с выполнением задания ETL в течение 10 минут в течение 30 дней. Предполагается, что ожидаемое количество запросов сканера превышает уровень бесплатного пользования на 1 миллион и рассчитывается из расчета 1 доллар за 1 миллион дополнительных запросов.

На EMR я рассматривал m3.xlarge как для EC2, так и для EMR (цена 0,266 и 0,070 доллара соответственно) с 6 узлами, работающими в течение 10 минут в течение 30 дней.

При подсчете за месяц я вижу, что AWS Glue стоит около 14,64 доллара, а для EMR - около 10,08 доллара. Я не учел другие дополнительные расходы, такие как S3, RDS, Redshift и т. Д. И конечную точку DEV, которая не является обязательной, поскольку моя цель - сравнить преимущества цены работы ETL.

Похоже, что EMR дешевле по сравнению с AWS Glue. Правильно ли указаны цены на EMR, может ли кто-нибудь предложить, если чего-то не хватает? Я попробовал калькулятор цен AWS для EMR, но запутался и не понял, учитываются ли в нем нормализованные часы.

С Уважением

Юва


person Yuva    schedule 07.02.2018    source источник
comment
Я не понимаю, почему этот вопрос заслуживает отрицательного голосования. Цены на AWS очень сбивают с толку.   -  person Kyle Bridenstine    schedule 14.09.2018


Ответы (4)


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

person charmander    schedule 08.02.2018
comment
Спасибо, поняла. - person Yuva; 08.02.2018

@ user2889316 - Вы проверяли мой вопрос, в котором я предоставил сравнительные цифры?

Также обратите внимание, что клей составляет примерно 0,44 в час / DPU для работы. Я не думаю, что у вас будет какое-либо ЗАДАНИЕ AWS Glue, которое, как ожидается, будет выполняться в течение дня? Вы говорите о конечной точке Glue Dev или о работе?

Для работы AWS Glue требуется как минимум 2 DPU, что означает 0,88 в час, что, по-моему, примерно 21 доллар в день? Это только для задания GLUE, и есть дополнительные расходы, такие как S3, и любые расходы на базу данных / подключение / сборы для сканера и т. Д.

Соответствующим экземпляром для EMR является m3.xlarge, и его стоимость составляет 0,266 доллара США и 0,070 доллара США соответственно. Это будет примерно менее 16 долларов за 2 экземпляра в день? плюс другие S3, плата за базу данных и т. д. Я рассматриваю 2 экземпляра EMR вместо DPU по умолчанию для задания AWS Glue.

Надеюсь, это даст вам представление.

Спасибо

person Yuva    schedule 09.09.2018

Если ваша инфраструктура не требует резкого масштабирования (и в основном имеет фиксированную конфигурацию), используйте EMR. Но если это необходимо, лучше выбрать Glue, так как он бессерверный. Простая замена DPU позволяет масштабировать вашу инфраструктуру. Однако в EMR вы должны выбрать тип кластера, количество узлов, правила автоматического масштабирования. Для каждого изменения вам нужно будет изменить сценарий создания кластера, протестировать его, развернуть - в основном добавить накладные расходы на стандартный цикл выпуска для изменений. Изменив конфигурацию Infra, вы можете изменить конфигурацию Spark, чтобы соответствующим образом оптимизировать задания. Таким образом, время выпуска новой версии больше с изменением конфигурации инфраструктуры. Если вы добавите для начала высокую конфигурацию, это будет стоить дороже. Если вы добавите низкую конфигурацию для запуска, вам потребуются частые изменения в скрипте.

При этом AWS Glue имеет фиксированную конфигурацию инфраструктуры для каждого DPU - например, 16 ГБ памяти на ядро. Если ваш ETL требует больше памяти на каждое ядро, вам, возможно, придется перейти на EMR. Однако, если ваш ETL спроектирован таким образом, что он не будет превышать 11 ГБ памяти драйвера с 1 исполнителем или 5,5 ГБ с 2 исполнителями (например, взять дополнительный том данных параллельно на новом ядре или разделить том в пакете 5 ГБ / 11 ГБ и запустить для петля на ту же сердцевину), клей правильный выбор.

Если ваш ETL сложен и все рабочие места будут загружать кластер в течение дня, я бы порекомендовал использовать EMR со специальной командой DevOps для управления инфраструктурой EMR.

person Sandeep Fatangare    schedule 11.10.2019

Если вы используете Spot экземпляр EMR вместо On-Demand, он будет стоить 1/3 от цены по запросу и окажется намного дешевле. AWS Glue не имеет таких ценовых преимуществ.

person Srihari Karanth    schedule 07.10.2019
comment
Спотовый инстанс не рекомендуется в производстве. Вы не хотите, чтобы сервер не работал в середине ETL. :П - person Sandeep Fatangare; 11.10.2019
comment
Если EMR используется только в течение 10 минут каждый день (по запросу OP), то для этого лучше всего подходят спотовые инстансы. Я использую спотовые инстансы каждый день более 5 часов в течение последних 2 месяцев, и ни разу не отключил их внезапно. Кроме того, необходимо использовать спотовые инстансы вместе с on-Demand, чтобы в случае отказа спотовых инстансов по какой-либо причине задание не было прервано и выполнялось с уменьшенной емкостью. - person Srihari Karanth; 19.10.2019