Výkon a optimalizace zdrojů
Nasazování aplikací na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Pomalé a drahé
Při špičkách provozu je aplikace pomalá
Stejný měsíc skočí i účet za Lambda
Ladění ji zrychlí a zlevní
Souběžnost: náklady vs. cold start
Rezervovaná: omez a ochraň
Omezuje a garantuje kapacitu funkce
Nejlevnější způsob řízení, ale cold starty neřeší
Provisioned: plať za zahřátí
Udržuje instance předehřáté – žádné cold starty
Stojí víc; použij jen tam, kde latence skutečně záleží
Správná velikost paměti pomocí křivky nákladů
Více paměti = více CPU =
kratší doba běhu
Cena = cena paměti × doba běhu
Nejlevnější bod bývá
uprostřed
Profiluj při více velikostech, pak vyber
Cachování na úrovni aplikace
Znovu používej práci
uvnitř execution contextu
Teplá Lambda si uchovává globální proměnné mezi voláními
Ukládej do cache konfiguraci, klienty a časté vyhledávání
ElastiCache
pro sdílenou cache napříč instancemi
Edge cachování přes CloudFront
CloudFront
: ukládá odpovědi v edge lokacích
Opakované požadavky obslouží bez zátěže backendu
Klíče cache mohou zahrnovat
hlavičky, query stringy, cookies
Statický a kešovatelný obsah se škáluje zdarma
Výběr správné vrstvy cache
Edge (CloudFront)
: statický, široce sdílený obsah
Aplikační (in-memory)
: hot objekty v rámci instance
Datová (ElastiCache/DAX)
: sdílená hot čtení
Vrstvuj je; každá snižuje jiné náklady
Optimalizace v praxi
Nastav paměť podle
křivky nákladů
Provisioned concurrency přidej jen tam, kde záleží na latenci
Cachuj na úrovni
edge, aplikace i dat
Měř, změň jednu věc, měř znovu
Pojďme cvičit!
Nasazování aplikací na AWS
Preparing Video For Download...