Ocenjevalnik stroškov Amazon EMR Serverless

Ocenjevalnik stroškov Amazon EMR Serverless

Izvorno vozlišče: 1776349

Amazon EMR brez strežnika je možnost brez strežnika v Amazonski EMR ki podatkovnim analitikom in inženirjem olajša izvajanje aplikacij z uporabo odprtokodnih analitičnih ogrodij velikih podatkov, kot sta Apache Spark in Hive, brez konfiguriranja, upravljanja in skaliranja gruč ali strežnikov. Dobite vse funkcije najnovejših odprtokodnih ogrodij z optimiziranim časom izvajanja Amazon EMR, ne da bi morali načrtovati in upravljati primerke in gruče.

Z Amazon EMR lahko izvajate svoje analitične aplikacije v namenskih gručih EMR na obstoječih Amazonski elastični kubernetes storitev (Amazon EKS) ali z uporabo nove možnosti uvajanja brez strežnika EMR, kjer vam ni treba upravljati gruč ali primerkov. Ko zgradite aplikacijo Spark ali Hive z izdajo Amazon EMR, recimo Amazon EMR 6.8, lahko aplikacijo zaženete v gručah EMR, v gručah EKS z Amazon EMR na EKS, ali z uporabo EMR Serverless, ne da bi morali spremeniti aplikacijo.

Če želite izvedeti več o prednostih vsake možnosti uvajanja v EMR brez strežnika, nanašati se na Kakšne so nekatere razlike v funkcijah med EMR Serverless in Amazon EMR na EC2? v pogostih vprašanjih o Amazon EMR. O cenah teh možnosti lahko izveste tudi pri Stran s cenami Amazon EMR. Številne stranke že izvajajo aplikacije za analizo podatkov v gručah EMR in ugotavljajo, da je nova možnost brez strežnika preprostejša in cenejša.

V tej objavi razpravljamo o tem, kako lahko ocenite, koliko lahko stane zagon aplikacije, ki se trenutno izvaja v gručah EMR z uporabo nove možnosti brez strežnika, in izvedete to analizo preprosto z uporabo trenutnih meritev aplikacije. Ta pristop vam pomaga oceniti in sprejeti možnost uvedbe, ki je najbolj stroškovno učinkovita za aplikacijo. Vendar vam stran s cenami Amazon EMR ne pove, kako lahko preprosto ocenite stroške izvajanja obstoječih aplikacij gruče EMR na EMR Serverless. V naslednjih razdelkih opisujemo pristop, ki vam to omogoča.

Čeprav primer v tej objavi razpravlja o tem, kako lahko dobite oceno stroškov za aplikacije, ki se izvajajo v gručah EMR, lahko pristop uporabite tudi, če uporabljate aplikacijo Spark ali Hive drugje in želite oceniti stroške izvajanja v EMR Brez strežnika. Na primer, če izvajate samoupravljane aplikacije Spark ali Hive na Amazonski elastični računalniški oblak (Amazon EC2) ali če izvajate opravila Spark AWS lepilo, vam pokažemo, kako lahko s tem pristopom ocenite stroške izvajanja aplikacije na EMR Serverless.

Ocena stroškov izvajanja aplikacij v vaši gruči EMR

Ko izvajate aplikacije v gručah Amazon EMR, vam posebej zaračunamo naslednje:

  1. Cena Amazon EC2 izvajanja primerkov gruče (cena za osnovne strežnike)
  2. Cena za Trgovina z elastičnimi bloki Amazon (Amazon EBS), če se odločite priložiti nosilce EBS
  3. Cena Amazon EMR za primerke gruče

Skupni stroški delovanja grozda vključujejo vse tri. Izbirate lahko med različnimi cenovnimi možnostmi Amazon EC2, vključno z možnostmi na zahtevo, 1- in 3-letnimi rezerviranimi primerki, načrti za prihranek zmogljivosti in prompnimi primerki. Možnost določanja cene Amazon EC2, ki jo izberete, določa (a) ceno Amazon EC2. Stroški izvajanja aplikacije v gručah EMR so vsota (a), (b) in (c). To ceno lahko izračunate za življenjsko dobo izvajanja gruče (od trenutka, ko je gruča zagnana, do trenutka, ko je gruča prekinjena) ali za določeno časovno obdobje, ko gruča deluje. Priporočamo, da zaženete prvo, to je, da izračunate (a), (b) in (c) od trenutka, ko je gruča zagnana, do trenutka, ko je gruča zaključena. Če ste nastavili oznake za gručo Amazon EMR, lahko preprosto dobite podrobno poročilo o stroških za vašo gručo EMR z uporabo AWS Cost Explorer.

Ocenjevanje stroškov izvajanja istih aplikacij z uporabo EMR Serverless

Ko izvajate iste aplikacije z EMR Serverless, plačate količino vCPE, pomnilnika in virov za shranjevanje, ki jih porabijo vaše aplikacije. Za primerke EC2 ali nosilce EBS ni ločenih stroškov. In plačate samo za vire, ki jih aplikacija dejansko uporablja, in ne za omogočene primerke EC2. Na primer, pri izvajanju aplikacij v gručah EMR, ko je instanca EC2 v gruči delno uporabljena (recimo, uporabljenih je 16 GB pomnilnika od 64 GB, ki so na voljo v instanci, ali so uporabljeni 4 VCPU-ji od 16 VCPU-jev, ki so na voljo v instanci ) ali ko je instanca EC2 nedejavna (na primer, ko se instanca inicializira ali čaka na zagon aplikacije), vam še vedno nastanejo stroški Amazon EC2, Amazon EMR in Amazon EBS za celotno instanco EC2 in za čas, ko primerek je aktiven v gruči EMR. Z EMR Serverless plačate samo za vCPU, pomnilnik in vire za shranjevanje, ki se uporabljajo od trenutka, ko delavci začnejo izvajati vaše opravilo Spark ali Hive, do trenutka, ko se ustavijo.

Če želite oceniti stroške izvajanja vaše aplikacije EMR Spark ali Hive na EMR Serverless, morate najprej združiti skupne računske vCore-sekunde, pomnilniške MB-sekunde in pomnilniške GB-sekunde, ki jih porabi vsaka aplikacija YARN, ki se izvaja v vaši gruči EMR, od trenutka, ko se vsebnik YARN začne, do trenutka, ko se vsebnik YARN zaključi. Te meritve lahko pridobite iz dnevnikov upravljalnika virov YARN, ki so dostopni s strežnika časovne premice YARN ali orodij YARN CLI. Pridobite lahko čas delovanja, vCore-sekunde in MB-sekunde pomnilnika, ki jih uporablja vsaka aplikacija YARN.

Če vaša gruča izvaja samo aplikacije Spark, obstaja enostavnejši pristop za oceno. Namesto pridobivanja vCore-sekund, pomnilniških MB-sekund in pomnilniških GB-sekund iz dnevnikov upravitelja virov YARN, lahko te meritve pridobite iz dnevnikov dogodkov Spark. Pripravili smo orodje EMR Servless Estimator, ki lahko razčlenijo dnevnike dogodkov Spark za vaše aplikacije in zagotovijo združene meritve za vašo oceno stroškov.

Ko dobite meritve uporabe za vašo aplikacijo, lahko izračunate ocenjene stroške EMR Serverless z uporabo Cene EMR brez strežnika. Preprosto pomnožite svoje združene sekunde vCore s ceno EMR Serverless vCPU na sekundo, pomnožite MB-sekunde združenega pomnilnika s ceno EMR Serverless pomnilnika na sekundo in pomnožite GB-sekunde shranjevanja s ceno EMR Serverless shrambo na sekundo (samo če so zahteve za shranjevanje presega 20 GB na delavca). Če seštejete te stroške za vCPE, pomnilnik in shranjevanje, lahko primerjate stroške izvajanja istih aplikacij na EMR Serverless.

Pri tem pristopu predpostavljamo, da je zmogljivost aplikacije enakovredna. Z drugimi besedami, velikost (vCPU, pomnilnik) in trajanje izvajanja za vsak vsebnik YARN v gruči EMR je enako številu, velikosti in trajanju izvajanja delavcev, potrebnih za izvajanje aplikacije na EMR Serverless. To domnevamo, ker je čas izvajanja EMR za izdajo EMR enak ne glede na to, ali se aplikacija izvaja v gruči EMR ali na EMR Serverless.

Primer

Naredimo vzorčno primerjavo stroškov Amazon EMR na EC2 in EMR Serverless z uporabo ene same gruče.

Zagnali smo aplikacijo Spark v gruči EMR s petimi vozlišči (enim primarnim, dvema jedroma in dvema opraviloma) ter zbrali meritve YARN z uporabo YARN CLI. Naslednja koda prikazuje našo skupno dodelitev virov.

agregatno dodeljevanje sredstev

Amazon EMR za stroške EC2 smo izračunali na naslednji način:

  • Primerki gruče
    • Primarni: m5.2xveliki:1
    • Jedro: r5.2xlarge:2
    • Naloga: r5.2xlarge:2
  • Čas delovanja grozda = 18 min
  • Cena primerka na zahtevo
    • m5.2xlarge (8 vCPE, 32 GiB pomnilnik)
      • Amazon EC2: 0.384 $/h
      • Amazon EMR inkrementalno: 0.096 $/h
    • r5.2xlarge (8 vCPE, 64 GiB pomnilnik)
      • Amazon EC2: 0.504 $/h
      • Amazon EMR inkrementalno: 0.126 $/h

Sledi izračun stroškov EMR za EC2:

  • Stroški Amazon EMR = ((1 primarno vozlišče x 0.096 USD/uro) + (2 osrednji vozlišči x 0.126 USD/uro) + (2 opravilni vozlišči x 0.126 USD/uro)) = 0.60 USD
  • Stroški Amazon EC2 = ((1 primarno x 0.384 USD/uro) + (2 jedrni vozlišči x 0.504 USD/uro) + (2 opravilni vozlišči x 0.504 USD/uro)) = 2.40 USD
  • Amazon EMR na strošek gruče EC2/uro = 0.6 USD + 2.40 USD = 3 USD/uro * 8/60 ur (čas delovanja v urah)

Skupni stroški Amazon EMR na Amazon EC2 znašajo 0.40 USD/uro.

Če želite izračunati stroške EMR Serverless, združite vCore-sekunde in pomnilniške MB-sekunde za isto aplikacijo, ki ste jo prej izvajali v gruči EMR. Nato te številke pomnožite s ceno EMR Serverless vCPE in pomnilnika. Naši rezultati izračuna so naslednji:

  • Total_vcore_seconds = 5737
  • Total_Memory_mb_sekund = 120156631
  • Pretvori v vCPU/uro in pomnilnik-GB/uro:
    • Skupni vCPU/uro: 5737/(60*60)=1.59
    • Aggregated memory/hr: 120156631/(60*60*1024)=32.5
  • Skupni strošek ur vCPU = 33 vCPU * 0.052624 VCPU/uro * 8/60 = 0.23 USD
  • Skupni stroški pomnilnika GB = 1.59 MB * 0.0057785 pomnilnika/h * 8/60 = 0.00122 $

V tem primeru je skupni strošek EMR Serverless 0.231 USD, kar je 42-odstotno znižanje.

zaključek

Amazon EMR Serverless je nedavno predstavljena brezstrežniška možnost v Amazon EMR, ki olajša zagon odprtokodnih ogrodij, kot sta Spark in Hive, brez konfiguriranja, upravljanja in skaliranja gruč. Stranke, ki že uporabljajo gruče EMR, želijo razumeti, kako lahko ocenijo stroške izvajanja svojih aplikacij EMR z uporabo EMR Serverless. Predstavili smo pristop, ki ga lahko uporabite za izvedbo analize stroškov, ki temelji na analizi metrik aplikacije iz vaših EMR grozdov.

Upamo, da boste to poskusili, in delite svoje povratne informacije z nami!


O avtorjih

Radhika Ravirala je glavni produktni vodja pri AWS.

Matthew Liem je višji vodja arhitekture rešitev pri AWS.

Časovni žig:

Več od Veliki podatki AWS