Serverless-arkkitehtuurien kustannusten optimointi
Opettele käytännön tekniikoita AWS Lambda -serverless-sovellusten kustannusten hallintaan ja pienentämiseen muistiasetusten säätämisestä arkkitehtuurivalintoihin.
Serverless-arkkitehtuurien kustannusten optimointi on ilmainen Serverless-kehitys AWS Lambdalla-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Serverless-kehitys AWS Lambdalla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.
Serverless-kustannusten merkitys
Serverless poistaa joutilaiden palvelinten kustannukset, mutta se ei poista kustannusten huomioimisen tarvetta. Maksatte pyyntöjen määrästä ja laskennasta GB-sekunteina.
Pienet tehottomuudet kertautuvat miljoonien kutsujen yhteydessä, joten hinnoittelumallin ymmärtäminen on ensimmäinen askel kulujen hallintaan.
Lambdan hinnoittelumalli
AWS Lambda veloittaa kahdella perusteella:
- Pyynnöt: kiinteä hinta miljoonaa kutsua kohden
- Kesto: laskutus GB-sekunteina (varattu muisti kerrottuna suorituksen kestolla)
Keston tai varatun muistin pienentäminen pienentää laskua suoraan.
Muistin mitoittaminen oikein
Lambdassa muisti ja suorittimen teho kasvavat yhdessä. Vastoin intuitiota suurempi muistimäärä voi tulla edullisemmaksi, koska funktio suoritetaan nopeammin.
Testatkaa aina useita muistiasetuksia sen sijaan, että valitsisitte automaattisesti pienimmän arvon.
memory | avg duration | GB-seconds
128 MB | 900 ms | 0.1125
512 MB | 220 ms | 0.1100
1024 MB | 120 ms | 0.1200AWS Lambda Power Tuning
Avoimen lähdekoodin Lambda Power Tuning -työkalu suorittaa funktion useilla muistitasoilla ja näyttää kustannusten ja nopeuden välisen suhteen kaaviona, mikä auttaa valitsemaan optimaalisen asetuksen automaattisesti.
arn: arn:aws:states:us-east-1:123:stateMachine:powerTuning
input: { "powerValues": [128, 256, 512, 1024], "strategy": "cost" }Kylmäkäynnistysten vähentäminen edullisesti
Kylmäkäynnistykset lisäävät viivettä, mutta Provisioned Concurrency lisää kustannuksia. Edullisempia vaihtoehtoja ovat:
- supistakaa käyttöönotettavan paketin kokoa
- käyttäkää kevyempiä runtime-ympäristöjä
- alustakaa SDK-asiakkaat handlerin ulkopuolella
Alustaminen handlerin ulkopuolella
Handlerin ulkopuolinen koodi suoritetaan kerran säilöä kohden, ja sitä käytetään uudelleen kutsujen välillä. Raskaan alustuksen siirtäminen sinne estää sen suorittamisesta aiheutuvat kustannukset jokaisella kutsulla.
const db = new Database();
exports.handler = async (event) => {
return db.query(event.id);
};Oikean triggerin valinta
Tapahtumalähteen valinta vaikuttaa kustannuksiin. SQS:n tai Kinesiksen avulla tehtävä eräajo käsittelee useita tietueita yhtä kutsua kohden, mikä vähentää laskutettavien pyyntöjen määrää huomattavasti verrattuna malleihin, joissa jokainen viesti käsitellään erillisellä kutsulla.
Graviton2 (arm64) -funktiot
Lambdan vaihtaminen arm64-arkkitehtuuriin (AWS Graviton2) voi pienentää kestoa koskevia kustannuksia jopa 20 prosenttia suorituskyvyn pysyessä samana tai parantuessa — usein kyse on vain yhden rivin määritysmuutoksesta.
Resources:
MyFn:
Type: AWS::Serverless::Function
Properties:
Architectures:
- arm64Huomioi piilokustannukset
Laskenta muodostaa harvoin koko laskun. Huomioikaa seuraavat:
- CloudWatch-lokien vastaanotto ja tallennus
- AWS:stä ulospäin siirrettävien tietojen kustannukset
- API Gatewayn pyyntömaksut
- NAT Gateway -maksut VPC:hen liitetyistä funktioista
Aseta lokien säilytysaika
Oletusarvoisesti CloudWatch säilyttää lokit ikuisesti, jolloin tallennuskustannuksia kertyy huomaamatta. Asettakaa jokaiselle lokiryhmälle rajattu säilytyskäytäntö.
aws logs put-retention-policy \
--log-group-name /aws/lambda/myFn \
--retention-in-days 14Kulujen seuranta kustannustyökaluilla
Lisätkää funktioihin tiimin tai ominaisuuden mukaiset tagit ja käyttäkää AWS Cost Exploreria ja Budgetsia hälytysten kanssa. Näkyvyys muuttaa yksittäisen optimoinnin jatkuviksi säästöiksi.
Pikatarkistus
Testatkaa tietonne kustannusten optimoinnista.
Kertaus
Opitte optimoimaan serverless-kustannuksia:
- ymmärtäkää pyyntöihin ja GB-sekunteihin perustuva hinnoittelumalli
- mitoittakaa muisti oikein ja käyttäkää Power Tuningia
- alustakaa asiakkaat handlerin ulkopuolella ja käyttäkää triggerien eräajoa
- ottakaa arm64 käyttöön ja määrittäkää lokien säilytysaika
- seuratkaa kuluja tagien, Cost Explorerin ja Budgetsin avulla
Kustannusten optimointi on jatkuvaa arkkitehtuurityötä.
Opi Serverless-kehitys AWS Lambdalla tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Serverless-arkkitehtuurien kustannusten optimointi” ilmainen?
Kyllä – oppitunnin ”Serverless-arkkitehtuurien kustannusten optimointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Serverless-kehitys AWS Lambdalla-kurssin, päivitä CoddyKit PROhon. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Serverless-arkkitehtuurien kustannusten optimointi”?
Opettele käytännön tekniikoita AWS Lambda -serverless-sovellusten kustannusten hallintaan ja pienentämiseen muistiasetusten säätämisestä arkkitehtuurivalintoihin. Harjoittelet Serverless-kehitys AWS Lambdalla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Serverless-kehitys AWS Lambdalla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Serverless-kehitys AWS Lambdalla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Serverless-arkkitehtuurien kustannusten optimointi”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Serverless-kehitys AWS Lambdalla-oppitunnilla?
Kyllä. Jokainen Serverless-kehitys AWS Lambdalla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Canary- ja Blue/Green-julkaisut
- Vikasietoisten palvelimettomien järjestelmien rakentaminen
- Palvelimettomat arkkitehtuurimallit
- Serverless-arkkitehtuurien kustannusten optimointi