Amazon EMR palvelimeton kustannusarvio

Amazon EMR palvelimeton kustannusarvio

Lähdesolmu: 1776349

Amazon EMR-palvelimeton on palvelimeton vaihtoehto Amazonin EMR jonka avulla dataanalyytikot ja insinöörit voivat käyttää sovelluksia, joissa käytetään avoimen lähdekoodin suurdatan analytiikkakehystä, kuten Apache Sparkia ja Hivea, ilman klustereiden tai palvelimien määrittämistä, hallintaa ja skaalausta. Saat kaikki uusimpien avoimen lähdekoodin kehysten ominaisuudet Amazon EMR:n suorituskyvylle optimoidun ajon aikana ilman, että sinun tarvitsee suunnitella ja käyttää ilmentymiä ja klustereita.

Amazon EMR:n avulla voit käyttää analytiikkasovelluksiasi omistetuissa EMR-klustereissa, olemassa olevissa Amazonin elastisten kuberneettien palvelu (Amazon EKS) -klustereita tai käyttämällä uutta EMR Serverless -käyttöönottovaihtoehtoa, jossa sinun ei tarvitse hallita klustereita tai esiintymiä. Kun rakennat Spark- tai Hive-sovelluksen käyttämällä Amazon EMR -julkaisua, esimerkiksi Amazon EMR 6.8:aa, voit käyttää sovellusta EMR-klustereissa tai EKS-klustereissa käyttämällä Amazon EMR EKS:ssätai käyttämällä EMR Serverless -ohjelmaa ilman, että sinun tarvitsee vaihtaa sovellusta.

Saat lisätietoja kunkin käyttöönottovaihtoehdon eduista EMR palvelimeton, mainita Mitä eroja on EMR Serverlessin ja Amazon EMR:n välillä EC2:ssa? Amazon EMR:n usein kysytyissä kysymyksissä. Voit myös tutustua näiden vaihtoehtojen hinnoitteluun osoitteessa Amazon EMR -hinnoittelusivu. Monet asiakkaat käyttävät jo data-analytiikkasovelluksia EMR-klustereissa, ja heidän mielestään uusi palvelinton vaihtoehto on yksinkertaisempi ja halvempi.

Tässä viestissä keskustelemme siitä, kuinka voit arvioida, kuinka paljon EMR-klustereissa tällä hetkellä toimivan sovelluksen suorittaminen voi maksaa käyttämällä uutta palvelintonta vaihtoehtoa, ja suorittaa tämän analyysin yksinkertaisesti käyttämällä nykyisiä sovellusmittareitasi. Tämä lähestymistapa auttaa sinua arvioimaan ja ottamaan käyttöön sovellukselle kustannustehokkaimman käyttöönottovaihtoehdon. Amazonin EMR-hinnoittelusivulla ei kuitenkaan kerrota, kuinka voit helposti arvioida nykyisten EMR-klusterisovellustesi käyttökustannukset EMR Serverlessissä. Seuraavissa osioissa kuvailemme lähestymistapaa, jonka avulla voit tehdä sen.

Vaikka tämän viestin esimerkissä keskustellaan siitä, kuinka voit saada kustannusarvion EMR-klustereissa toimivista sovelluksista, voit käyttää lähestymistapaa myös, jos käytät Spark- tai Hive-sovellusta muualla ja haluat arvioida sen EMR-käyttöjärjestelmän kustannukset. Palvelimeton. Jos esimerkiksi käytät itsehallittuja Spark- tai Hive-sovelluksia Amazonin elastinen laskentapilvi (Amazon EC2) -klusterit tai jos suoritat Spark-töitä AWS-liima, näytämme sinulle, kuinka voit käyttää tätä lähestymistapaa arvioidaksesi sovelluksen käyttökustannukset EMR Serverlessissä.

Arvioi EMR-klusterin sovellusten käytön kustannukset

Kun suoritat sovelluksia Amazon EMR -klustereissa, sinua veloitetaan erikseen seuraavista:

  1. Amazon EC2 -hinta klusteriinstanssien ajon aikana (hinta taustalla oleville palvelimille)
  2. Hinta Amazonin elastisten lohkojen myymälä (Amazon EBS) -taltiot, jos päätät liittää EBS-taltiot
  3. Klusteriinstanssien Amazon EMR -hinta

Klusterin ylläpidon kokonaiskustannukset sisältävät kaikki kolme. Voit valita useista Amazon EC2 -hinnoitteluvaihtoehdoista, mukaan lukien on-demand-, 1- ja 3-vuoden varatut esiintymät, kapasiteetin säästösuunnitelmat ja spot-instanssit. Valitsemasi Amazon EC2 -hinnoitteluvaihtoehto määrittää (a) Amazon EC2 -hinnan. Sovelluksen suorittaminen EMR-klustereissa on (a), (b) ja (c) summa. Voit laskea nämä kustannukset klusterin käyttöiän ajalta (klusterin käynnistyshetkestä klusterin lopettamiseen) tai tietylle ajanjaksolle, kun klusteri on käynnissä. Suosittelemme edellisen suorittamista eli laskemaan (a), (b) ja (c) klusterin käynnistyshetkestä klusterin lopettamiseen. Jos olet määrittänyt tunnisteita Amazon EMR -klusterillesi, voit helposti hankkia ne yksityiskohtainen kustannusraportti EMR-klusterillesi AWS Cost Explorerin avulla.

Arvioi samojen sovellusten käyttökustannukset EMR Serverless -sovelluksella

Kun käytät samoja sovelluksia EMR Serverless -sovelluksella, maksat sovellusten kuluttamasta vCPU-, muisti- ja tallennusresursseista. EC2-esiintymistä tai EBS-volyymeista ei peritä erillistä maksua. Ja maksat vain resursseista, joita sovellus tosiasiallisesti käyttää, etkä varatuista EC2-esiintymistä. Esimerkiksi suoritettaessa sovelluksia EMR-klustereissa, kun klusterin EC2-ilmentymä on osittain käytössä (esim. 16 Gt:n muistia käytetään ilmentymän 64 Gt:sta tai 4 VCPU:ta käytetään ilmentymän 16 VCPU:sta ), tai kun EC2-esiintymä on käyttämättömänä (esimerkiksi kun ilmentymä alustetaan tai odottaa sovelluksen käynnistymistä), sinulta veloitetaan silti Amazon EC2-, Amazon EMR- ja Amazon EBS -maksut koko EC2-esiintymästä ja sen keston ajalta. ilmentymä on aktiivinen EMR-klusterissa. EMR Serverless -sovelluksella maksat vain vCPU-, muisti- ja tallennusresursseista, joita käytetään siitä hetkestä lähtien, kun työntekijät alkavat suorittaa Spark- tai Hive-työtäsi siihen asti, kun he lopettavat.

Arvioidaksesi EMR Spark- tai Hive-sovelluksesi käyttökustannukset EMR Serverlessissä, sinun on ensin laskettava yhteen kunkin EMR-klusterissasi suoritetun YARN-sovelluksen kuluttamat vCore-sekunnit, muistin MB-sekunnit ja tallennus-GB-sekunnit. siitä hetkestä, kun YARN-säiliö käynnistetään, siihen hetkeen, kun YARN-säiliö lopetetaan. Voit hankkia nämä tiedot YARN-resurssienhallinnan lokeista, jotka ovat käytettävissä YARN-aikajanapalvelimesta tai YARN CLI -työkaluista. Voit hakea kunkin YARN-sovelluksen käyttämän käyntiajan, vCore-sekunnit ja muistisekunnit.

Jos klusterisi käyttää vain Spark-sovelluksia, on olemassa yksinkertaisempi tapa arvioida. Sen sijaan, että hankkisit vCore-sekunnit, muistin MB-sekunnit ja tallennus-GB-sekunnit YARN-resurssienhallinnan lokeista, voit hankkia nämä tiedot Spark-tapahtumalokeista. Olemme toimittaneet työkalun EMR-palvelimeton estimaattori, joka voi jäsentää sovelluksiesi Spark-tapahtumalokit ja tarjota koostetut tiedot kustannusarviollesi.

Kun olet saanut sovelluksesi käyttötiedot, voit laskea arvioidut EMR-palvelimettomat kustannukset käyttämällä EMR-palvelimeton hinnoittelu. Yksinkertaisesti moninkertaista kootut vCore-sekunnit EMR-palvelimettoman vCPU-hinnoittelulla sekunnissa, moninkertaista aggregoidut muistin MB-sekunnit EMR-palvelimettoman muistin hinnoittelulla ja moninkertaista tallennus Gt-sekunnit EMR-palvelimettoman tallennustilan hinnoittelulla sekunnissa (vain jos tallennusvaatimukset täyttyvät yli 20 Gt työntekijää kohti). Kun lasket yhteen nämä vCPU-, muisti- ja tallennuskustannukset, voit verrata samojen sovellusten käyttökustannuksia EMR Serverlessissä.

Tässä lähestymistavassa oletamme, että sovelluksen suorituskyky on vastaava. Toisin sanoen kunkin EMR-klusterin YARN-säilön koko (vCPU, muisti) ja suoritusaika on sama kuin sovelluksen suorittamiseen EMR Serverless -palvelimessa tarvittavien työntekijöiden lukumäärä, koko ja ajonaika. Teemme tämän oletuksen, koska EMR-julkaisun EMR-ajoaika on sama riippumatta siitä, ajetaanko sovellusta EMR-klusterissa vai EMR-palvelimettomassa.

esimerkki

Tehdään esimerkkihintavertailu Amazon EMR:stä EC2:ssa ja EMR Serverlessissä käyttämällä yhtä klusteria.

Suoritimme Spark-sovelluksen EMR-klusterissa, jossa oli viisi solmua (yksi ensisijainen, kaksi ydintä ja kaksi tehtävää) ja keräsimme YARN-mittareita YARN CLI:n avulla. Seuraava koodi näyttää resurssien kokonaisallokoinnin.

resurssien kokonaisallokointi

Laskemme Amazon EMR:n EC2-kustannuksista seuraavasti:

  • Klusteriinstanssit
    • Ensisijainen: m5.2xsuuri:1
    • Ydin: r5.2xlarge:2
    • Tehtävä: r5.2xlarge:2
  • Klusterin suoritusaika = 18 min
  • Esimerkki tilauksesta
    • m5.2xlarge (8 vCPU, 32 GiB muisti)
      • Amazon EC2: 0.384 dollaria/tunti
      • Amazon EMR:n lisäys: 0.096 dollaria/tunti
    • r5.2xlarge (8 vCPU, 64 GiB muisti)
      • Amazon EC2: 0.504 dollaria/tunti
      • Amazon EMR:n lisäys: 0.126 dollaria/tunti

Seuraava on EC2-kustannuslaskelman EMR:

  • Amazon EMR -kustannukset = ((1 ensisijainen solmu x 0.096 $/h) + (2 ydinsolmua x 0.126 $/h) + (2 tehtäväsolmua x 0.126 $/tunti)) = 0.60 $
  • Amazon EC2:n hinta = ((1 ensisijainen x 0.384 $/h) + (2 ydinsolmua x 0.504 $/h) + (2 tehtäväsolmua x 0.504 $/tunti)) = 2.40 $
  • Amazon EMR EC2-klusterin hinta/tunti = 0.6 $ + 2.40 $ = 3 $/tunti * 8/60 h (ajoaika tunteina)

Amazon EMR:n kokonaishinta Amazon EC2:ssa on 0.40 dollaria/tunti.

Laskeaksesi EMR-palvelimettomat kustannukset, yhdistä vCore-sekunnit ja muistin MB-sekunnit samalle sovellukselle, jota käytit aiemmin EMR-klusterissa. Kerro sitten nämä luvut EMR Serverless vCPU:n ja muistin hinnalla. Laskutuloksemme ovat seuraavat:

  • Total_vcore_seconds = 5737
  • Yhteensä_muisti_mb_sekuntia = 120156631
  • Muunna vCPU/h ja muisti-GB/h:
    • Koottu vCPU/tunti: 5737/(60*60)=1.59
    • Aggregated memory/hr: 120156631/(60*60*1024)=32.5
  • vCPU-tuntien kokonaishinta = 33 vCPU * 0.052624 VCPU/h * 8/60 = 0.23 $
  • Muistin kokonaishinta = 1.59 Mt * 0.0057785 muistia/tunti * 8/60 = 0.00122 dollaria

Tässä esimerkissä EMR-palvelimettoman kokonaiskustannus on 0.231 dollaria, mikä on 42 %:n alennus.

Yhteenveto

Amazon EMR Serverless on äskettäin lanseerattu palvelimeton vaihtoehto Amazon EMR:ssä, jonka avulla on helppo ajaa avoimen lähdekoodin kehyksiä, kuten Spark ja Hive ilman klustereiden määrittämistä, hallintaa ja skaalausta. Asiakkaat, jotka jo käyttävät EMR-klustereita, haluavat ymmärtää, kuinka he voivat arvioida EMR-sovellustensa käyttökustannukset käyttämällä EMR Serverless -palvelua. Olemme esittäneet lähestymistavan, jonka avulla voit tehdä kustannusanalyysin, joka perustuu EMR-klusterien sovellusmittojen analysointiin.

Toivomme, että kokeilet tätä ja jaat palautteesi kanssamme!


Tietoja kirjoittajista

Radhika Ravirala on AWS:n päätuotepäällikkö.

Matthew Liem on AWS:n Senior Solution Architecture Manager.

Aikaleima:

Lisää aiheesta AWS Big Data