Amazon EMR szerver nélküli költségbecslő

Amazon EMR szerver nélküli költségbecslő

Forrás csomópont: 1776349

Amazon EMR szerver nélküli egy szerver nélküli opció Amazon EMR Ez megkönnyíti az adatelemzők és mérnökök számára a nyílt forráskódú nagy adatelemzési keretrendszerek, például az Apache Spark és a Hive alkalmazását a fürtök vagy szerverek konfigurálása, kezelése és méretezése nélkül. A legújabb nyílt forráskódú keretrendszerek összes funkcióját megkapja az Amazon EMR teljesítmény-optimalizált futási idejével, anélkül, hogy meg kellene terveznie és működtetnie kellene a példányokat és fürtöket.

Az Amazon EMR segítségével elemző alkalmazásait dedikált EMR-fürtökön futtathatja, a meglévőkön Amazon Elastic Kubernetes szolgáltatás (Amazon EKS) fürtök, vagy az új EMR Serverless telepítési lehetőség használatával, ahol nem kell fürtöket vagy példányokat kezelnie. Amikor egy Spark- vagy Hive-alkalmazást készít egy Amazon EMR-kiadás, például az Amazon EMR 6.8 használatával, az alkalmazást EMR-fürtökön, EKS-fürtökön pedig a használatával futtathatja. Amazon EMR az EKS-en, vagy az EMR Serverless használatával anélkül, hogy módosítani kellene az alkalmazást.

Az egyes telepítési lehetőségek előnyeiről itt tájékozódhat EMR szerver nélküli, hivatkozni Milyen különbségek vannak az EMR Serverless és az Amazon EMR között az EC2-n? az Amazon EMR GYIK-ben. Ezen opciók árairól is tájékozódhat a Amazon EMR árképzési oldal. Sok ügyfél már fut adatelemző alkalmazásokat EMR-fürtökön, és úgy találja, hogy az új kiszolgáló nélküli lehetőség egyszerűbb és olcsóbb.

Ebben a bejegyzésben megvitatjuk, hogyan becsülheti meg, mennyibe kerülhet egy olyan alkalmazás futtatása, amely jelenleg EMR-fürtökön fut az új kiszolgáló nélküli opció használatával, és hogyan végezheti el ezt az elemzést egyszerűen a jelenlegi alkalmazási mérőszámok használatával. Ez a megközelítés segít az alkalmazás számára legköltséghatékonyabb telepítési lehetőség értékelésében és elfogadásában. Az Amazon EMR árképzési oldala azonban nem mondja meg, hogyan becsülheti meg egyszerűen a meglévő EMR-fürt-alkalmazások EMR Serverless rendszeren való futtatásának költségeit. A következő szakaszokban egy olyan megközelítést ismertetünk, amely lehetővé teszi ezt.

Bár az ebben a bejegyzésben található példa azt tárgyalja, hogyan kaphat költségbecslést az EMR-fürtökön futó alkalmazásokhoz, akkor is használhatja ezt a megközelítést, ha Spark- vagy Hive-alkalmazást futtat máshol, és meg szeretné becsülni az EMR-en való futtatásának költségeit. Szerver nélküli. Például, ha önállóan kezelt Spark vagy Hive alkalmazásokat futtat Amazon rugalmas számítási felhő (Amazon EC2) fürtök, vagy ha Spark-feladatokat futtat AWS ragasztó, megmutatjuk, hogyan használhatja ezt a megközelítést az alkalmazás EMR Serverless rendszeren való futtatásának költségeinek becslésére.

Az alkalmazások EMR-fürtön való futtatásának költségének becslése

Amikor alkalmazásokat futtat az Amazon EMR-fürtökön, külön díjat kell fizetnie a következőkért:

  1. A fürtpéldányok futtatásának Amazon EC2 ára (az alapul szolgáló szerverek ára)
  2. Az ár a Amazon Elastic Block Store (Amazon EBS) kötetek, ha úgy dönt, hogy EBS-köteteket csatol
  3. A fürt példányok Amazon EMR ára

A fürt üzemeltetésének teljes költsége magában foglalja mind a hármat. Számos Amazon EC2 árképzési lehetőség közül választhat, beleértve az On Demand, az 1 és 3 éves lefoglalt példányokat, a kapacitásmegtakarítási terveket és az azonnali példányokat. Az Ön által választott Amazon EC2 árképzési opció határozza meg (a), az Amazon EC2 árat. Az alkalmazás EMR-fürtökön való futtatásának költsége (a), (b) és (c) összege. Kiszámíthatja ezt a költséget a fürt futásának élettartamára (a fürt elindításának időpontjától a fürt leállításáig), vagy egy adott időtartamra, amíg a fürt fut. Javasoljuk az előbbi futtatását, vagyis az (a), (b) és (c) számítását a fürt elindításának időpontjától a fürt leállításáig. Ha címkéket állított be az Amazon EMR-fürthöz, könnyen megszerezheti a részletes költségjelentés az EMR-fürtről az AWS Cost Explorer segítségével.

Azonos alkalmazások futtatásának költségének becslése az EMR Serverless használatával

Ha ugyanazokat az alkalmazásokat EMR Serverless használatával futtatja, akkor fizetnie kell az alkalmazások által felhasznált vCPU, memória és tárolóerőforrások mennyiségéért. Az EC2-példányok és az EBS-kötetek nem számítanak fel külön díjat. És csak az alkalmazás által ténylegesen használt erőforrásokért kell fizetnie, a kiépített EC2-példányokért nem. Például, amikor alkalmazásokat futtat EMR-fürtökön, amikor a fürtben lévő EC2-példány részlegesen ki van használva (mondjuk 16 GB memória van felhasználva a példányon elérhető 64 GB-ból, vagy 4 VCPU-t használnak a példányon elérhető 16 VCPU-ból ), vagy ha az EC2-példány tétlen (például amikor a példány inicializálódik, vagy egy alkalmazás elindulására vár), továbbra is Amazon EC2-, Amazon EMR- és Amazon EBS-díjat kell fizetnie a teljes EC2-példányért és az időtartamra. a példány aktív az EMR-fürtben. Az EMR Serverless szolgáltatással csak a vCPU-t, a memóriát és a tárolóerőforrásokat kell fizetnie attól az időponttól kezdve, amikor a dolgozók elkezdik futtatni a Spark- vagy Hive-feladatot, egészen addig, amíg leállnak.

Az EMR Spark vagy Hive alkalmazás EMR Serverless rendszeren való futtatásának költségének becsléséhez először összesítenie kell az EMR-fürtön futó egyes YARN-alkalmazások által felhasznált teljes számítási vCore-másodperceket, memória-MB-másodperceket és tárolási GB-másodperceket. a YARN tároló elindításának időpontjától a YARN tároló leállításáig. Ezeket a mérőszámokat a YARN erőforrás-kezelő naplóiból szerezheti be, amelyek a YARN idővonal-kiszolgálóról vagy a YARN CLI-eszközökről érhetők el. Lekérheti az egyes YARN-alkalmazások által használt futási időt, vCore-másodperceket és memória-MB-másodperceket.

Ha a fürt csak Spark-alkalmazásokat futtat, van egy egyszerűbb megközelítés a becsléshez. Ahelyett, hogy a vCore-másodperceket, a memória-MB-másodperceket és a tárolási GB-másodperceket YARN-erőforrás-kezelő naplóiból szerezné be, ezeket a mutatókat a Spark-eseménynaplókból szerezheti be. Mi biztosítottuk az eszközt EMR szolgáltatás nélküli becslő, amely képes elemezni az alkalmazások Spark eseménynaplóit, és összesített mérőszámokat biztosít a költségbecsléshez.

Miután megkapta az alkalmazás használati mutatóit, kiszámíthatja a becsült EMR szerver nélküli költséget a EMR szerver nélküli árak. Egyszerűen többszörözze meg összesített vCore-másodperceit az EMR Serverless vCPU másodpercenkénti árazásával, szorozza meg az összesített memória MB-másodpercét az EMR Serverless memória másodpercenkénti díjszabásával, és szorozza meg a tárolási GB-másodperceket az EMR Serverless tárolási díjszabással másodpercenként (csak akkor, ha a tárolási követelmények teljesülnek munkavállalónként meghaladja a 20 GB-ot). A vCPU, a memória és a tárhely költségeinek összeadásával összehasonlíthatja ugyanazon alkalmazások EMR Serverless rendszeren való futtatásának költségeit.

Ebben a megközelítésben feltételezzük, hogy az alkalmazás teljesítménye egyenértékű. Más szavakkal, az EMR-fürt egyes YARN-tárolóinak mérete (vCPU, memória) és futási időtartama megegyezik az alkalmazás EMR-kiszolgáló nélküli futtatásához szükséges dolgozók számával, méretével és futási időtartamával. Ezt a feltételezést azért tesszük, mert az EMR-kiadás EMR-futásideje ugyanaz, függetlenül attól, hogy az alkalmazás EMR-fürtön vagy EMR-kiszolgáló nélküli rendszeren fut.

Példa

Végezzünk egy mintaköltség-összehasonlítást az Amazon EMR EC2 és EMR Serverless rendszeren egyetlen fürt használatával.

Futtattunk egy Spark-alkalmazást egy öt csomóponttal (egy elsődleges, két maggal és két feladattal) rendelkező EMR-fürtön, és YARN-metrikákat gyűjtöttünk a YARN CLI segítségével. A következő kód az összesített erőforrás-elosztásunkat mutatja.

összesített erőforrás-allokáció

Az Amazon EMR-t az EC2 költségekre vonatkozóan a következőképpen számítottuk ki:

  • Klaszterpéldányok
    • Elsődleges: m5.2xnagy:1
    • Mag: r5.2xlarge:2
    • Feladat: r5.2xnagy:2
  • A fürt futási ideje = 18 perc
  • Példány igény szerinti költség
    • m5.2xlarge (8 vCPU, 32 GiB memória)
      • Amazon EC2: 0.384 USD/óra
      • Amazon EMR növekmény: 0.096 USD/óra
    • r5.2xlarge (8 vCPU, 64 GiB memória)
      • Amazon EC2: 0.504 USD/óra
      • Amazon EMR növekmény: 0.126 USD/óra

A következő az EMR az EC2 költségszámításánál:

  • Amazon EMR költség = ((1 elsődleges csomópont x 0.096 USD/óra) + (2 magcsomópont x 0.126 USD/óra) + (2 feladatcsomópont x 0.126 USD/óra)) = 0.60 USD
  • Amazon EC2 költség = ((1 elsődleges x 0.384 USD/óra) + (2 központi csomópont x 0.504 USD/óra) + (2 feladatcsomópont x 0.504 USD/óra)) = 2.40 USD
  • Amazon EMR az EC2 klaszteren költség/óra = 0.6 USD + 2.40 USD = 3 USD/óra * 8/60 óra (futásidő órákban)

Az Amazon EMR teljes költsége az Amazon EC2-n 0.40 USD/óra.

Az EMR-kiszolgáló nélküli költség kiszámításához összesítse a vCore-másodperceket és a memória-MB-másodperceket ugyanahhoz az alkalmazáshoz, amelyet korábban az EMR-fürtön futtatott. Ezután szorozza meg ezeket a számokat az EMR Serverless vCPU és a memória árával. Számítási eredményeink a következők:

  • Total_vcore_seconds = 5737
  • Total_Memory_mb_seconds = 120156631
  • Átalakítás vCPU/óra és memória-GB/óra formátumra:
    • Összesített vCPU/óra: 5737/(60*60)=1.59
    • Aggregated memory/hr: 120156631/(60*60*1024)=32.5
  • Teljes vCPU-óra költség = 33 vCPU * 0.052624 VCPU/óra * 8/60 = 0.23 USD
  • Teljes memória GB költség = 1.59 MB * 0.0057785 memória/óra * 8/60 = 0.00122 USD

Ebben a példában a teljes EMR Serverless költség 0.231 USD, ami 42%-os csökkenést jelent.

Következtetés

Az Amazon EMR Serverless egy nemrégiben bevezetett kiszolgáló nélküli opció az Amazon EMR-ben, amely megkönnyíti a nyílt forráskódú keretrendszerek, például a Spark és a Hive futtatását a fürtök konfigurálása, kezelése és méretezése nélkül. Azok az ügyfelek, akik már használnak EMR-fürtöket, szeretnék megérteni, hogyan becsülhetik meg EMR-alkalmazásaik EMR Serverless használatával történő futtatásának költségeit. Bemutattunk egy megközelítést, amellyel költségelemzést végezhet az EMR-fürtök alkalmazási mutatóinak elemzése alapján.

Reméljük, hogy kipróbálja, és megosztja velünk visszajelzését!


A szerzőkről

Radhika Ravirala az AWS fő termékmenedzsere.

Matthew Liem az AWS Senior Solution Architecture Managere.

Időbélyeg:

Még több AWS Big Data