Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Arthy 11. 02. 2019, 15:39:55

Název: Zajímavá aplikace pro AWS Lambda
Přispěvatel: Arthy 11. 02. 2019, 15:39:55
Zdravím,
přemýšlím o vhodné bakalářské práci a napadlo mě "AWS-Lambda" Serverless computing. Je tady někdo, kdo má zkušenosti s vývojem s použití AWS-Lambda?
Já si o tom četl pouze teoreticky. Mohl by mi někdo, prosím, poradit, co udělat za zajímavou aplikaci s použití této technologie? Nebo nějaké příklady, co jste vy s tím dělali?
Mockrát děkuji
Název: Re:AWS-Lambda-aplikace
Přispěvatel: TWVzc2E 11. 02. 2019, 16:16:57
V lambdě se podle mě dělají především

- "serverless" webovky/HTTP API. V budoucnu by Lambda měla mít nějakou podporu websocketů, tak by množina vhodných use cases měla být ještě větší.
- nějaká integrace/automatizace/glue cloudových služeb - protože Lambda funkci lze triggernout různými událostmi ve spoustě dalších služeb = SQS, S3, EC2... Např. že byla vytvořena nějaká entita (S3 soubor, instance něčeho...), změněn stav, něco se rozbilo apod.


Zkus se podívat na videa (především keynotes) z AWS Reinvent konference, je to na Youtube. A taky doporučuju sledovat Soukiho Twitter  :D https://twitter.com/petrsoukup
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: PetrK 11. 02. 2019, 17:38:36
Lambda funkce je takova funkce v ramci AWS enviromentu, da se to pouzivat pro takove agilnejsi ucely, abys nemusel na kazdou pitomost tvorit nejakou plnotucnou komponentu, muzes to udelat pres Lambdu. Pouziva se to jako uzitecna doplnkova vlastnost, ale plnotucnou standardni komponentu to podle me nenahrazuje. Ale myslim si ze jako bakalarka je to dobre tema.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Arthy 11. 02. 2019, 18:16:46
a nějaký konkrétní případ aplikace, prosím? Co by se s tím dalo udělat a bylo to použitelné do bakalářky jakožto nějaká aplikace?
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: AoK 11. 02. 2019, 18:52:24
- digitalizace dokumentů v pdf či skenů
- generování posílání denních, hodinových, měsíčních reportů
- kontrola či zpracování nahraných souborů uživateli (vytvoření náhledů videí, antivirová kontrola atd.)

A spousty jiných věcí, které vykazují špičku a nejsou pravidelné. Cokoliv musí běžet hodně často či nonstop není vhodné pro lambdu.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 11. 02. 2019, 19:06:49
Pokud se něco nezměnilo, tak AWS nemělo zastropování finančního limitu, spoustě menších vývojářům to vadilo, takže pokud bys to chtěl po bakalářce používat i v praxi a bojíš se, aby ti nepřišla faktura na 100tis Kč, tak se zkus podívat i na Azure Functions, kde by zastropování mělo fungovat.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: jeniceek 11. 02. 2019, 19:43:53
Pokud to chceš jenom pro studijní účely, můžu doporučit Google Cloud Functions, princip je obdobný.
Nevím jak AWS (co jsem koukal posledně, byl tam jenom JavaScript), v Azure bych čekal k JS ještě nějakou formu .NET, Google umí JS a v betě Python a Go.
Jako nováček dostaneš na první rok kredit $300, což na otestování v menším měřítku asi stačí.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 11. 02. 2019, 20:43:40
Je tady někdo, kdo má zkušenosti s vývojem s použití AWS-Lambda?
Nějaký jo.

Já si o tom četl pouze teoreticky. Mohl by mi někdo, prosím, poradit, co udělat za zajímavou aplikaci s použití této technologie? Nebo nějaké příklady, co jste vy s tím dělali?
Je to dost otázka toho, co za zajímavý považuješ ty a jak vysoko má tvoje škola laťku na bakalářky.

Osobně jsem lambdu použil na pokusnou implementaci SPA webové aplikace - totálně serverless: logika je v JS na klientovi, stav se ukládá přes lambdu do DynamoDB. Žádný server tam neběží, platím čistě jenom za traffic a data. Když tam není návštěvnost, stojí mě to něco kolem dolaru měsíčně za DNS nebo tak něco.

Popis kompletního řešení nějaké relativně jednoduché webovky si jako bakalářku dovedu představit.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 11. 02. 2019, 20:48:04
Je to dost otázka toho, co za zajímavý považuješ ty
Jinak teda pokud bys chtěl nějakou zajímavější doménu než webovky, Lambda se dá docela dobře použít na celkem cokoli z oblasti IoT - pokud ti tam těch dat neteče moc, nebo můžou téct nárazově, může být Lambda fajn řešení.

Mohl bys třeba zkusit vytvořit počítání počtu aut na silnici pomocí nějakýho laseru nebo něco, odesílání dat přes LoRa, zpracování Lambdou, ukládání do DynamoDB, k tomu jednoduchoučký web s D3. Taky fajn bakalářka.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 11. 02. 2019, 22:06:37
Když tam není návštěvnost, stojí mě to něco kolem dolaru měsíčně za DNS nebo tak něco.
A když tam návštěvnost je, tak máš nějaké cenové srovnání v porovnání s běžným hostingem?
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 11. 02. 2019, 22:33:38
Google umí JS a v betě Python a Go.
Chtěl jsem napsat, že Python v betě je slabota, ale vidím, že na Azure je také zatím jako "Preview", ale mám dojem, že u Googlu je těch jazyků na výběr asi nejmíň, třeba Javu tam nevidím.

Azure Functions: https://docs.microsoft.com/en-us/azure/azure-functions/supported-languages
AWS Lambda: https://aws.amazon.com/lambda/faqs/
Google Cloud Functions: https://cloud.google.com/functions/docs/writing/
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Karel Rank 12. 02. 2019, 02:14:35
Vyvoj muzes delat lokalne pomoci AWS SAM local https://aws.amazon.com/about-aws/whats-new/2017/08/introducing-aws-sam-local-a-cli-tool-to-test-aws-lambda-functions-locally/ (https://aws.amazon.com/about-aws/whats-new/2017/08/introducing-aws-sam-local-a-cli-tool-to-test-aws-lambda-functions-locally/)

Lambda podporuje Java, Node.js, Python, Ruby, Go a .NET https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)

Lambda free tier ma v sobe 1M request per month a nevyexpiruje po 12 mesicich https://aws.amazon.com/lambda/pricing/ (https://aws.amazon.com/lambda/pricing/)

Muzes si nastavit limit na concurrent executions per function https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html (https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). Default je 1000 a deli se o to vsechny funkce v danym regionu.

Idealni pouziti: v podstate na cokoliv. Muzes to mit za API Gateway a mas restovou sluzbu. Jako trigger muzes mit i cron.

Koukni se i na step functions https://aws.amazon.com/step-functions/
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: cjohn 12. 02. 2019, 02:25:52
Slabo navstevovane webovky su standard (viacmenej servuju iba staticky obsah). Potom su uz cele frameworky, ked potrebujes viac funkcionality:


Z mojho Lambda todo listu - viacmenej akademicka uloha:
zoberies standardnu daemonizovanu aplikaciu, ktora je napisana v jazyku, ktory je podporovany Lambdou (napr. Grafana s backendom v Go) - napises wrapper, ktory z nej bez velkeho hackovania urobi Lambda funkciu a porovnas (cold/hot) vykonnost a ekonomicku vyhodnost (do urciteho poctu requestov bude lambda lacnejsia/asi aj pomalsia, avsak pri dakej hranici uz bude lacnejsia daemon verzia na EC2).

Jedno najzaujimavejsie pouzitie funkcii podla mna: https://www.troyhunt.com/i-wanna-go-fast-why-searching-through-500m-pwned-passwords-is-so-quick/
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 12. 02. 2019, 02:41:55
A když tam návštěvnost je, tak máš nějaké cenové srovnání v porovnání s běžným hostingem?
Nemám a ani mě nenapadá, jak by se to dalo rozumně porovnat. Musel bys mít aplikaci s úplně stejnou funkcionalitou, napsanou nějak srovnatelným způsobem (??) a musel bys ji provozovat na mašině přesně odpovídající trafficu, popř. ji mít napsanou jako flexibilně škálující.

Čili bys v podstatě jenom implementací tohodle srovnání strávil půlku mládí a výsledek by nebyl aplikovatelný na jakoukoli jinou aplikaci, čili by byl v podstatě k ničemu ;)
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: PetrK 12. 02. 2019, 08:10:03
Ja jsem tu pointu Lambda funkce predtim tak naprd napsal. Pointa je takova, ze AWS bezi v nejakem enviromentu, podobne jako ti bezi treba Aplikacni Server. Aplikacni Server umi spoustet Java WAR aplikace a ty vsechny bezi tak nejak spolecne nad jedinou JVM se spolecnymi zdroji. VLastne Lambda funkce je pro AWS "Aplikacni server" neco jako je WAR pro Java EE Aplikacni Server. Lambda je zkratka cosi nativne zakomponovaneho do AWS enviromentu. A je to Event driven. Pouzijes to na veci, ktere dokazi vyvolat eventu, jako napr. nahrani souboru do S3.

Zaroven lambda funkce sama o sobe je pasivni prvek, musi ji vzdycky neco zavolat.

To me vede k tomu, ze sam vlastne moc nechapu, k cemu se ve vyvoji lastne hodi. Pokud vyvijis v AWS nejakou nejakou komponentu, tak to, co by ti zprostreddkovala ta lambda funkce, muzes dat primo jako soucast te komponenty - nepotrebujes to mit nekde udelane v Lambde.

Tzn. ta lambda slouzi jako takovy doplnek ke standardnim AWS sluzbam. Lambda je vlastne takovy adapter mezi AWS sluzbami ktere vyvolavaji ruzne udalosti a mezi tvymi komponentami. Nevim napr. jak by ve Springove komponente slo napojit udalost z S3. Ale muzes tam dat lambdu, ktera dokaze reagovat na S3, a  te lambde zavolas treba REST API od tve komponenty. A to vidim jako pointu Lambdy.

Pak je jeste jedna pointa Lambdy a to je pro socky a velice jednoducha pouziti, ale o tom se mi tu nechce psat.

A pak je jeste jedno pouziti lambdy, ktere tak nejak vyplyva z jeji jednoduchosti - je overhead re-deployovat zmenu nejake komponenty do AWS, ale je velice jednoduche upravit lambdu. Muzes proto do Lambdy delegovat ruzne funkce komponent, kde ocekavas, ze se ti bude hodit rychla zmena funkcionality.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 12. 02. 2019, 10:33:21
A když tam návštěvnost je, tak máš nějaké cenové srovnání v porovnání s běžným hostingem?
Nemám a ani mě nenapadá, jak by se to dalo rozumně porovnat. Musel bys mít aplikaci s úplně stejnou funkcionalitou, napsanou nějak srovnatelným způsobem (??) a musel bys ji provozovat na mašině přesně odpovídající trafficu, popř. ji mít napsanou jako flexibilně škálující.

Čili bys v podstatě jenom implementací tohodle srovnání strávil půlku mládí a výsledek by nebyl aplikovatelný na jakoukoli jinou aplikaci, čili by byl v podstatě k ničemu ;)
Neměl jsem na mysli nějaké akademické srovnání, ale jen přibližné. Třeba když by firma měla několik webů v PHP, které by se přes API napojovaly na hlavní backend, který by byl třeba v Pythonu nebo Javě a na nějaké VPSce. No a ten backend by se firma rozhodla kvůli škálovatelnosti převést z VPS (nebo vlastních serverů) na Lambdu. Funkcionalita, návštěvnost i traffic by byl pořád zhruba stejný, takže srovnání měsíčních nákladů před a po by se dalo hezky porovnat. Zajímalo by mě to od někoho z první ruky kdo se na vývoji podílel a mohl by případně říct i výhody/nevýhody takového přesunu.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: cjohn 12. 02. 2019, 11:33:58
A když tam návštěvnost je, tak máš nějaké cenové srovnání v porovnání s běžným hostingem?
Nemám a ani mě nenapadá, jak by se to dalo rozumně porovnat. Musel bys mít aplikaci s úplně stejnou funkcionalitou, napsanou nějak srovnatelným způsobem (??) a musel bys ji provozovat na mašině přesně odpovídající trafficu, popř. ji mít napsanou jako flexibilně škálující.

Čili bys v podstatě jenom implementací tohodle srovnání strávil půlku mládí a výsledek by nebyl aplikovatelný na jakoukoli jinou aplikaci, čili by byl v podstatě k ničemu ;)
Neměl jsem na mysli nějaké akademické srovnání, ale jen přibližné. Třeba když by firma měla několik webů v PHP, které by se přes API napojovaly na hlavní backend, který by byl třeba v Pythonu nebo Javě a na nějaké VPSce. No a ten backend by se firma rozhodla kvůli škálovatelnosti převést z VPS (nebo vlastních serverů) na Lambdu. Funkcionalita, návštěvnost i traffic by byl pořád zhruba stejný, takže srovnání měsíčních nákladů před a po by se dalo hezky porovnat. Zajímalo by mě to od někoho z první ruky kdo se na vývoji podílel a mohl by případně říct i výhody/nevýhody takového přesunu.

To sa neda porovnat tak jednoducho ako uz bolo spomenute. Zalezi na konkretnom pripade. Pokial mas par requestov do mesiaca, tak bude lacnejsia lambda. Ked vsak requestov bude tak vela, ze cena za lambda execution time bude vacsia ako cena za VPS tak uz bude ekonomicky vyhodnejsia VPS (pozor, vacsinou este s lambdou platis za traffic, API GW, ...). Nemusis vsak pozerat iba na ekonomiku. Napr. operations nepotrebujes v takej miere (ziadne OS/siet deployment) + mas priestor (cloud), kde sa inovuje super rychlo a zdroje su dostupne na par klikov za par sekund.

Moj priklad: potreboval som reverse proxy s basic auth. Typicky admin nahodi/nakonfiguruje nginx, hispterskejsi to urobi este v kontajneri. EC2 t3.nano to zvladne ($0.0052/hod). Viem, vsak ze par ms latencie pre pouzivatela v mojom pripade nie su kriticke a nebudem mat vela requestov, tak to mam cez API GW (pripadny throttling)+lambda 1 (auth)/lambda 2 (proxy) - kalkulovane prevadzkove naklady na toto riesenie su okolo $1/mesiac a to sa samo skaluje a uz to nemusim chytat v buducnosti. Len cista t3.nano by mala naklady $3+ bez skalovatelnosti + OS by potreboval pravidelnu starostlivost. Pokial by som uz mal 5 nasobne viac requestov, tak to nebudem implementovat v Lambde.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 15. 02. 2019, 13:36:14
... Pokial by som uz mal 5 nasobne viac requestov, tak to nebudem implementovat v Lambde.
V podstatě jsi mi potvrdil moji domněnku, že když je těch požadavků moc, tak se Lambda nevyplatí. Našel jsem zajímavé srovnání https://www.prerender.cloud/blog/2017/06/19/lambda-is-cheaper-than-ec2 . Souhlasím, že serverless má své výhody, ale stavit na tom backendy webových aplikací, kde se předpokládá nárust návštěvnosti (požadavků) se k výše řečenému asi nevyplatí.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 15. 02. 2019, 15:20:02
Bohužel, ani žádné "bajvoko" srovnání nemám. Jak jsem psal, moje zkušenosti se omezují na jeden pokusný web (který v žádné jiné formě předtím neexistoval).

V podstatě jsi mi potvrdil moji domněnku, že když je těch požadavků moc, tak se Lambda nevyplatí.
To nevím, jestli je úplně platné tvrzení. Z mýho pohledu ti Lambda dává především plně elastické a predikovatelné náklady (víš celkem přesně, že vyřízení jednoho požavku tě stojí $X) a prakticky libovolnou škálovatelnost "zadarmo".

Představ si třeba, že máš službu, kde může být za minutu jeden požadavek nebo milion požadavků a chceš je odbavit v nějakém rozumném čase (max třeba 500ms). Pokud to budeš dělat klasicky pomocí serverů, budeš muset postavit nějakou dobře implementovanou distribuovanou architekturu s automatickým škálováním. To samo o sobě jsou obrovské fixní náklady na vývoj a ladění. A ani tak se ti to zadání nepodaří úplně splnit, protože nový stroj za 500ms nespustíš kdyby ses na hlavu postavil - aspoň nějaké množství požadavků nejspíš prostě zahodíš nebo nevyřídíš do toho limitu. Navíc kvůli ceně za vývoj a údržbu jsou náklady na jeden požadavek prakticky nepredikovatelné. Poběží ti to třeba na nějakém Docker Swarmu a do nákladů ti půjdou takové zhovadilosti jako ladění jeho chyb, přechody na nové verze atd. atd.

Takže mně osobně to připadá, že spíš než na objem v absolutních číslech bych se díval na to, jak moc objem požadavků skáče a jak přísné mám požadavky na jeho vyřizování. Pokud mám provoz, který je stabilní a/nebo můžu batchovat, tak tam imho nemusí být Lambda vhodné řešení. Samotný objem ale imho neříká nic.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 15. 02. 2019, 17:44:58
To nevím, jestli je úplně platné tvrzení. Z mýho pohledu ti Lambda dává především plně elastické a predikovatelné náklady (víš celkem přesně, že vyřízení jednoho požavku tě stojí $X) a prakticky libovolnou škálovatelnost "zadarmo".
Když za VPS platíš pevnou měsíční cenu, tak tam jsou ty náklady také předvídatelné. Cjohn psal, že u Lambdy se platí i trafic a ten ne vždy přesně odhadneš.

Představ si třeba, že máš službu, kde může být za minutu jeden požadavek nebo milion požadavků
Nevím kolik je takových projektů v praxi, ale když vezmu, že u Lambdy je prvních milion požadavků zdarma, tak se to asi vyplatí, ale co když těch požadavků bude 100mil? (Nevím jak se ty požadavky u Lambdy přesně počítají, takže si nedokážu představit jak velký projekt by to musel být.)

chceš je odbavit v nějakém rozumném čase (max třeba 500ms).
Nezapomínej na cold starts, které mohou být až 4 sekundy. Možná jen problém Lambdy a jiné serverless tím netrpí.


Škálování - ano asi ta hlavní výhoda cloudů.
Serverless - taky super výhoda a ušetří to náklady, tak jak píšeš.

Škálovat nemůžeš do nekonečna. Na projekt máš vyhrazený nějaký rozpočet a kdyby ti počet požadavků vystřelil, tak to také musíš nad nějakým limitem přiškrtit.

Nevím, mám z toho takový pocit, že Lambda se vyplatí na menší projekty nebo jako doplněk větších projektů, ale jakmile je to větší projekt, tak se víc vyplatí EC2 kde je také škálování, ale už to není serverless. Pokud by šel projekt jednoduše přemigrovat z Lambdy na EC2, pak by byla Lambda (nebo alternativy u jiných firem) pro začínající projekty dobrá volba.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 15. 02. 2019, 17:54:40
To nevím, jestli je úplně platné tvrzení. Z mýho pohledu ti Lambda dává především plně elastické a predikovatelné náklady (víš celkem přesně, že vyřízení jednoho požavku tě stojí $X) a prakticky libovolnou škálovatelnost "zadarmo".
Když za VPS platíš pevnou měsíční cenu, tak tam jsou ty náklady také předvídatelné. Cjohn psal, že u Lambdy se platí i trafic a ten ne vždy přesně odhadneš.
Psal jsem o nákladech na jeden request - explicitně je to v té závorce. U EC2 máš víceméně jenom fixní náklady (pokud nemáš výborně udělané škálování serverů), u Lambdy naopak jenom flexibilní (per request).

Nezapomínej na cold starts, které mohou být až 4 sekundy. Možná jen problém Lambdy a jiné serverless tím netrpí.
Pokud si dobře pamatuju (je to už asi rok, co jsem si s tím hrál), tak to byl jenom problém prvního startu - tj. stačí lambdu po nasazení jednou zavolat. Pokud se pak volá jednou za (nějaká doba), tak se už nestartuje. Nebo možná jo, za nějakých podmínek, nevím přesně.

Škálovat nemůžeš do nekonečna. Na projekt máš vyhrazený nějaký rozpočet a kdyby ti počet požadavků vystřelil, tak to také musíš nad nějakým limitem přiškrtit.
Jasně, ale to platí pro jakýkoli řešení, že jo. Oběd zdarma nemáš nikde.

Nevím, mám z toho takový pocit, že Lambda se vyplatí na menší projekty nebo jako doplněk větších projektů, ale jakmile je to větší projekt, tak se víc vyplatí EC2 kde je také škálování
"U EC2 je škálování" je úplně jiná kategorie než "u Lambdy je škálování". V případě EC2 musíš napsat opravdu škálovatelnou dostribuovanou aplikaci a to není čádná pr-del. EC2 se ti nenafukuje sama, musíš si to implementovat.

Pocit je jedna věc a jiná věc je pečlivá kalkulace. Netvrdím, že to je tak nebo tak, spíš jsem jenom chtěl vypíchnout pár věcí, které v tom výpočtu hrají roli.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 15. 02. 2019, 19:54:27
Nezapomínej na cold starts, které mohou být až 4 sekundy. Možná jen problém Lambdy a jiné serverless tím netrpí.
Pokud si dobře pamatuju (je to už asi rok, co jsem si s tím hrál), tak to byl jenom problém prvního startu - tj. stačí lambdu po nasazení jednou zavolat. Pokud se pak volá jednou za (nějaká doba), tak se už nestartuje. Nebo možná jo, za nějakých podmínek, nevím přesně.
https://medium.com/thundra/dealing-with-cold-starts-in-aws-lambda-a5e3aa8f532
Nečetl jsem to celé, ale zdá se, že je potřeba spouště Lambda funkce v určitém intervalu, aby nedošlo k vypnutí kontejneru. Zdá se, že to nebude neřešitelný problém.

"U EC2 je škálování" je úplně jiná kategorie než "u Lambdy je škálování". V případě EC2 musíš napsat opravdu škálovatelnou dostribuovanou aplikaci a to není čádná pr-del. EC2 se ti nenafukuje sama, musíš si to implementovat.
Myslel jsem, že to je někde v nastavení EC2 a že není potřeba mít na to připravenou aplikaci. Např. že v nastavení bude něco ve smyslu: když 1. instance je vytížená na 90% tak automaticky spusť 2. instanci. Jak jsem se teď díval na stránky Amazonu, tak to fakt nevypadá moc jednoduše, ale třeba na Azure to podle toho obrázku nevypadá extra složitě - https://docs.microsoft.com/en-us/azure/azure-monitor/platform/autoscale-best-practices

Pocit je jedna věc a jiná věc je pečlivá kalkulace. Netvrdím, že to je tak nebo tak, spíš jsem jenom chtěl vypíchnout pár věcí, které v tom výpočtu hrají roli.
Taky netvrdím, že mám pravdu, ale zdají se mi ty Lambdy a Funcions až podezřele výhodné - milion požadavků zdarma no nekup to. Třeba do diskuze zavítá někdo kdo s tím má větší zkušenosti.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Mirek Prýmek 15. 02. 2019, 20:01:18
Myslel jsem, že to je někde v nastavení EC2 a že není potřeba mít na to připravenou aplikaci. Např. že v nastavení bude něco ve smyslu: když 1. instance je vytížená na 90% tak automaticky spusť 2. instanci.
To udělat jde, ale to je ten nejmenší problém. Ty dvě instance musí typicky nějak sdílet data, musíš zaručit jejich vzájemnou konzistenci, musíš mezi ně nějak rozkládat zátěž atd. atd. Nakonec zjistíš, že "jenom" kvůlit škálování potřebuješ děsivou jadernou elektrárnu :)

ale třeba na Azure to podle toho obrázku nevypadá extra složitě - https://docs.microsoft.com/en-us/azure/azure-monitor/platform/autoscale-best-practices
To je právě jenom řešení toho "nejmenšího problému".

Taky netvrdím, že mám pravdu, ale zdají se mi ty Lambdy a Funcions až podezřele výhodné - milion požadavků zdarma no nekup to. Třeba do diskuze zavítá někdo kdo s tím má větší zkušenosti.
Tak největší nevýhoda je asi v tom, že to je prostě funkce, která má dost omezené, co může a nemůže dělat. Pokud chceš například použít nějakej opensource, kterej bude požadavky nějak zpracovávat (ve "smyčce" - tj. běží pořád), tak ho musíš někde spustit - v Lambdě to nejde, zůstane ti jenom EC2.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: greenlinuxguru 16. 02. 2019, 00:00:18
Já jsem v AWS Lambda (Python) napsal 2 utility - zdrojáky jsou k dispozici na Githubu ( https://github.com/koss822/misc/tree/master/Aws )

Utilita 1 - HTTP HealthCheck Reboot Tool

Je to taková utilita, která testuje, jestli je webový server dostupný, a v případě nedostupnosti ho restartuje.

S3Logs

Trošku komplexnější věc pro zpracování logů z S3.

Co se dá s lambda udělat


Velkou výhodou Lambdy je paraelizace a spolehlivost. Taky se dají z mnoha služeb v AWS udělat různé triggery na lambda funkce - například když přibyde soubor v S3, spusť tuto lambda funkci.

Například můžeš naprogramovat, že pokud nahraješ obrázek do S3, tak se automaticky vytvoří jeho zmenšená verze.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: cjohn 16. 02. 2019, 10:09:02
Pekne akademicke zhrnutie serverless-u (Lambda je tiez serverless): https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Davidkr 23. 02. 2019, 22:12:34
pro lamdbu mam aktualne pripraveny dve funkce ktery cekaj na realizaci

1) overovani nove enrollnutejch Macu do MDM, workflow bude: MDM pushne nasi app (v ni je eula, nejaky vyplnovani jako jmeno, lokace, employee kod) to poputuje do Lamda (v ni kontrola v Workdays pro overeni zamestnance, v Jira inventory kontrola ze mac je nas) to se zpracuje a Lambda da Mac do spravny MDM group (spravny profily, vpn, tiskarny atd) udela manifest pro Munki (spravnej sw presne pro danyho cloveka) a posleze bude nase app pokracovat v instalaci sw. Dal to bude delat nejaky output (logy), reportovat na helpdesk a IT (kdo se enrollnul) a managera danyho cloveka ze jeho podrizenej enrollnul device (bude mit 24 hod na potvrzeni, pokud nic neudela Mac bude erasnutej a marknutej jako rogue device).

2) jelikoz mame hodne iPadu (zoom rooms, envoy, a robin rooms) a obcas ztrati napajeni (neoriginalni a dlouhy kabely) tak je budu kazdej den v 22:00 updatovat (jak app tak ios) a restartovat (pro obnoveni napajeni) a stejne v 6:30 (pro redundanci). Tzn Lambda si kontaktuje MDM (pro list zarizeni) a naridi update, po 30 min restarne, zkontroluje ze vsechny zarizeni se ohlasej zpet a pripadne informuje helpdesk ze zarizeni v xyz se neohlasilo aby to mohli jit zkontrolovat a ne cekat nez to nekdo reportne.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: LarryLin 24. 02. 2019, 13:53:27
pro lamdbu mam aktualne pripraveny dve funkce ktery cekaj na realizaci ...
Zvolili jste Lambdu kvůli nějakým výhodám oproti konkurenci nebo jen ze setrvačnosti? Našel jsem tuhle kalkulačku cen http://serverlesscalc.com/ a pokud to odpovídá realitě, tak IBM OpenWhisk je levnější a navíc jako jediný nabízí i jazyk Swift, takže pro firmu zaměřenou na Apple produkty se to na první pohled zdá být vhodnější než Lambda. Mimo to má IBM ještě i PHP (ve stable verzi) což taky nikdo jiný nemá.
Název: Re:Zajímavá aplikace pro AWS Lambda
Přispěvatel: Davidkr 24. 02. 2019, 15:36:37
pro lamdbu mam aktualne pripraveny dve funkce ktery cekaj na realizaci ...
Zvolili jste Lambdu kvůli nějakým výhodám oproti konkurenci nebo jen ze setrvačnosti?

Ciste setrvacnost. Je jednodussi pridat na nasi fakturu (od aws) 50ecek (odhad, vubec sem to nepocital) nez se dohadovat s Financnim oddelenim o par ecek navic stejne tak Pravni ktery se nebude zajimat kde nam to bezi, proc, jestli je to v eu atd...