åãã CïŒãLambdaã«å°å ¥ããŠããã ãããããšãããããŸãã 倧奜ãã§ãïŒ
ããŸããŸãªã©ã ãé¢æ°ãåŒã³åºãé床ãæ¯èŒããããã«ããã°ããæ±ãããã©ãŒãã³ã¹ãã¹ããè¡ããŸããã ãã¹ãŠã®ãã¹ãã¯ãAWSã³ã³ãœãŒã«ã䜿çšããŠããããã®é¢æ°ãžã®å
¥åãšããŠæåå"foo"
ãéä¿¡ããããšã«ãã£ãŠè¡ãããŸããã ãã¹ãã¯éåžžã«ç°¡åTest
ãAWSLambdaã³ã³ãœãŒã«ã®
Python
REPORT RequestId: 6c2026c2-c028-11e6-aecf-116ec5921e69 Duration: 0.20 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 15 MB
Javascript / NodeJS
REPORT RequestId: 10a2ac96-c028-11e6-b5eb-978ea2c1c2bd Duration: 0.27 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 16 MB
CïŒ
REPORT RequestId: d9afca33-c028-11e6-99df-0f93927a56a6 Duration: 0.85 ms Billed Duration: 100 ms Memory Size: 256 MB Max Memory Used: 42 MB
é¢æ°ã¯ãããããã®ããã©ã«ãèšå®ã§us-east-1
ãããã€ãããŸããã CïŒé¢æ°ã¯ã dotnet lambda deploy-function
ã䜿çšããŠãããã€ãããŸããã Nodeé¢æ°ãšPythoné¢æ°ã¯ãããããã®èšèªã®HelloWorld
ãµã³ãã«ã³ãŒãã䜿çšããŠãããã€ãããåçŽãªæååãåãå
¥ããããŠå€§æåã«å€æãããããã«å®è£
ãå€æŽãããŸããã
ããã§ã³ãŒããèŠã€ããããšãã§ããŸãïŒ https ïŒ
èªåã®åŽã§åŒã³åºãæéãæé©åããããã«ã§ããããšã¯ãããŸããïŒ ããã¯ããªãããŸã åãçµãã§ããããšã§ããïŒ ã¹ããŒã¿ã¹ã«èå³ããããŸãã ããããšãïŒ
ããã©ãŒãã³ã¹ã¯ãLambdaãšãµããŒããããŠãããã¹ãŠã®ã©ã³ã¿ã€ã ã§åžžã«åãçµãã§ãããã®ã§ãã ãã¹ãŠã®èšèªã«ã¯é·æãšçæãããããããç§ãã¡ããšãŠã楜ããèšèªæŠäºãããŠããçç±ã§ã:)
ãã®ãã¹ãã¯ãèšèªã®å®è¡æã®èµ·åæéã枬å®ããã ãã§ããããã¯ãNode.jsãPythonãªã©ã®åçèšèªã¯ãåãã§ãã¯ããªããäŸåé¢ä¿ã®èªã¿èŸŒã¿ãé ããããCïŒãJavaãªã©ã®éçèšèªãšæ¯èŒããŠåžžã«é«éã§ãã
ç³ãèš³ãããŸããããéããã€ããã¯ãããŸããã§ããã æ°è»œã«äŒè©±ãç¶ããŠãã ããã
ãããéãããŸãŸã«ããŠãããŠããããšãã ããã¯æ¹å€ãšããŠã§ã¯ãªããéãããè°è«ã®åºç€ãšããŠã®æå³ããããŸãã
ããªãã®åçã§ã¯ããã¹ãã¯èšèªã®èµ·åæéã枬å®ãããšè¿°ã¹ãŸããã ãã®å£°æããã£ãšæ確ã«ããããšæããŸãã æåã®ãããã§ã¯ãã¢ããªã±ãŒã·ã§ã³ãããããžã§ãã³ã°ããïŒå¿ èŠãªå ŽåïŒãèµ·åããããšæããŸãããããã®åŸã®ãããã§ã¯ããŠã©ãŒã ã¢ãããããŸãã æ¯åèµ·åããå Žåã¯ããšã«ãããã¹ãŠã®åŒã³åºãã§æ§ç¯ããããããrun-onceã³ãŒãïŒæ§æå€ã®èªã¿åããªã©ïŒããã³ãã©ãŒã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒã«ç§»åããã¡ãªããã¯ãããŸããã ããã¯ããªãã®reïŒInventãã¬ãŒã³ããŒã·ã§ã³ããç§ãç解ããæ¹æ³ã§ã¯ãããŸããã æ確ã«ããŠããã ããŸãããã ã©ããïŒ
ç解ã確èªããããã«ãLambdaã³ã³ãããã©ã®ããã«æ©èœããããããã§èªã¿çŽããŸããïŒ //docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html
@bjorg @normjãã®ç¹ã«é¢ããŠãããã¥ã¡ã³ãã¯ããªããããŸãã§ã:(
ç§ã¯ä»¥äžã®ãã£ãŒãããã¯ãæäŸããŸããããããŠãããæããã«ãªãããšãé¡ã£ãŠããŸã
@bjorgããã«æçš¿ããã®ã¯ãLambdaã®_ã³ãŒã«ãèµ·åæé_ã§ã¯ãããŸããã ãããã_æããå¿çæé_ã
CïŒé¢æ°ãæåã«å¯ãããèµ·åãããšããæ倧ã§æ°çŸããªç§ãããå ŽåããããŸãïŒç§ã®å Žåã¯500ããªç§ã§ãïŒã ãŠã©ãŒã ã¢ããããããšãããã¯çãç¶ããããªããæçš¿ãããã®ãšåæ§ã®ããéãé床ã§ãªã¯ãšã¹ããåŠçããŸãïŒç§ã®å Žåã¯çŽ0.9ãã1msã§ããïŒã æçµçã«ã¯ããã®åç¶æéã®çµããã«åæ¢ããããèªåã¹ã±ãŒãªã³ã°ãçºçããŠãããå€ãã®ã³ãŒã«ãã©ã ããèµ·åããŸãã èµ·åæéãååŸããã«ã¯ã15åã»ã©åŸ ã£ãŠããã[ãã¹ã]ãã¯ãªãã¯ããŸãã
ããã§ããããªãã¯ãŸã ç©äºãã³ã³ã¹ãã©ã¯ã¿ãŒã«å ¥ããŠããŸãã [ãã¹ã]ãã¯ãªãã¯ãããã³ã«æ°ããã©ã ããååŸããããã§ã¯ãªãããã§ãã ãã ãã1æéã«1åã¯ãªãã¯ããã ãã§ãæ°ããã©ã ããå ¥æã§ããŸãã
æé©åã«é¢ããŠã¯ã_ã³ãŒã«ãã¹ã¿ãŒãã¢ããæé_ã«å¯ŸããŠæ¬¡ã®ããšãã§ããŸãã
_æããå¿çæé_ã«ã€ããŠã¯ãå®éã«ã¯ããŸãæé©åããå¿ èŠã¯ãããŸããã
helloworld
ãŸãã¯toUpper
以å€ã§ãã®ã¬ãŒããååŸããããšã¯ãã£ãã«ãããŸããããŸããããã©ãŒãã³ã¹ãšå¿çæéãæ··åããªãã§ãã ããã æåã§é çªã«ã¯ãªãã¯ãããšãããŒãã20ããªç§ã§å¿çãããããšãã£ãŠã1ç§ããã100kã®èªåãªã¯ãšã¹ãããã©ããã£ã³ã°ãã1ç§ããšã«å¢å ããå Žåã«åãããã«åäœããããã§ã¯ãããŸããã å®éã®åæå®è¡æ§ãšè² è·ãã¹ããå®è¡ããŸãã JavaãCïŒãªã©ã®ãã«ãã¹ã¬ããèšèªã¯ãè² è·ãããã£ãç¶æ ã§1ç§ãããã«ããå€ãã®èŠæ±ãåŠçããå ŽåããããŸãã ç§ã¯å®éã«ã©ã ãçµ±èšãã©ããã§èŠãŸããïŒPython =æéã®ã³ãŒã«ãã¹ã¿ãŒãã¢ãããJava = 1ç§ãããã®æéã®ãŠã©ãŒã ãªã¯ãšã¹ãã§ãããä»ã¯èŠã€ãããŸããã
ãšã«ãããããã¯ããŸãããã°ããªãã®è³ªåã«çããã¯ãã§ãã
ãã³ãããŒã¯ãå«ããã£ã¹ã«ãã·ã§ã³ãèŠã€ãããŸããhttps://www.quora.com/Which-language-better-suits-for-AWS-Lambda
@yunspace ã詳现ãªFoo(Stream, ILambdaContext)
眲åã¯ããã€ããŒããPOCOã€ã³ã¹ã¿ã³ã¹ã«å€æããããã®ããžãã¯ããã€ãã¹ããäºåå®çŸ©ããããã³ãã©ãŒãã¿ãŒã³ã§ããå¯èœæ§ããããŸãã
æ®å¿µãªãããåŒã³åºãã³ãŒãã¯æ€æ»ã«å©çšã§ããªããããããã«æé©åã§ãããã©ããã¯ããããŸããã ãŠã©ãŒã åŒã³åºãã®ããã©ãŒãã³ã¹ã¯ãä»ã®ã©ã³ã¿ã€ã ã«éåžžã«è¿ããšæããŸãã
çã®å ¥åJSONãPOCOã«éããŒã·ã£ãªã³ã°ããããã«ãããã©ã«ãã§ã¯ãã©ã ãã¯äººæ°ã®ããAmazon.Lambda.Serialization.Jsonã䜿çšããŸãã ãã ãããã®ããã©ã«ãã®å®è£ ãç¬èªã®ã·ãªã¢ã©ã€ã¶ãŒãšäº€æããããšãã§ããŸãã æšæºããŒã¿åã®åŠçã«é¢ããã»ã¯ã·ã§ã³ãåç §ããŠãã ãã
æå³ãããããŸãã ã»ãšãã©ã®ã·ãªã¢ã©ã€ã¶ãŒïŒJson.Netãå«ãïŒã¯ãé
ããªãã¬ã¯ã·ã§ã³ã䜿çšããŸãã ãã®çè«ã蚌æããããã«ã Foo(Stream, ILambdaContext)
ããŠã©ãŒã åŒã³åºãã®å¿çæéãæ¹åãããã©ããã確èªã§ãããšæããŸãã ãããããªããæååãšPOCOã®ããã«ããªãèªèº«ã®é¡§å®¢ã·ãªã¢ã©ã€ã¶ãŒãããŒã«ããããšã¯ãããã䟡å€ããããŸãã
å®éãç§ã¯ããŒã¿ãã·ãªã¢ã©ã€ã¶ãŒã«ã€ããŠè©±ããŠããŸããã§ããããã©ã ããã³ãã©ãŒãåŒã³åºãã¡ãœããã«ã€ããŠè©±ããŠããŸããã ã©ã ããã³ãã©ãŒã¯ïŒåŒæ°ã®åãšæ°ã®äž¡æ¹ã§ïŒç°ãªãã·ã°ããã£ãæã€ããšãã§ãããããã©ã ããã³ãã©ãŒãåŒã³åºãã¡ãœããã¯ãªãã¬ã¯ã·ã§ã³ã«äŸåããå¿ èŠããããŸãã AFAIKããã®äŸ¿å©ãªæ©æ¢°ããã€ãã¹ããããããªæ¹æ³ã§ã©ã ããã³ãã©ãŒãäœæããæ¹æ³ã¯ãããŸããã
ç§ã¯æè¿ããã«ã€ããŠããã€ãã®ãã¹ããè¡ããŸããããã·ãªã¢ã©ã€ã¶ãŒã¯å®éã«ã¯ããã»ã©å€§ããªåœ±é¿ãäžããŠããªãããšãããããŸããã å®éãã»ãšãã©ãã¹ãŠã®å¯åéšåãåé€ããŠéçããŒã¿ãŸãã¯ç©ºã®ã¹ããªãŒã ãè¿ããšããŠã©ãŒã é¢æ°ã§çŽ0.85msãååŸã§ããã®ãæåã®ããã§ãã CïŒé¢æ°ãåŒã³åºããŠããã³ãŒããåå ã§ããå¯èœæ§ãé«ããã©ã ãããŒã ïŒ @normj ïŒã«ãã£ãŠã®ã¿ã¢ãã¬ã¹å¯èœã§ããããã«æãããŸãã
Javaãå«ãä»ã®ãã¹ãŠã®ã©ã³ã¿ã€ã ã§ã¯ããŠã©ãŒã é¢æ°ã§0.22ã0.30ããªç§ãååŸã§ããŸãã åºæ¬çã«ãã©ã ãåŒã³åºãã®ãªãŒããŒãããã¯CïŒã§ã¯3åãã4åæªãããšãæå³ããŸãã
CïŒã®æ¹ãå®éã®äœæ¥ãéããªãå¯èœæ§ããããããããã§å šäœåããããããã§ã¯ãªãããšã«åæããŸããããã®ãã¬ãŒã ã¯ãŒã¯ã®ãªãŒããŒãããã¯æ€èšã«å€ããŸãã ããã®ããã€ãã¯ããããæ°ãããããã©ãŒãã³ã¹ãæåªå äºé ã§ã¯ãªãã£ãããšãåå ã§ããå¯èœæ§ããããšæããŸãã ãŸããããçš®ã®ãã£ãã·ã³ã°ãªãã§ãªãã¬ã¯ã·ã§ã³ã䜿ããããããšãåå ã§ããå¯èœæ§ããããŸãã
ãããåæã®ã³ãŒãã«ãããã®ã ãšæããŸãã ãããã©ã®ããã«èŠããããèŠãŠãæé©åãæ¯æŽã§ããããã«ããããšæããŸãã ãããã¯ãå®éšããããã®äœã¬ãã«ã®ããã¯ãçšæããããšã圹ç«ã¡ãŸãã
ç§ãå©ããŠããããããã®ã«ãšæããŸãã ç§ã¯ãCïŒã³ã¢ãç¡æ°ã®æ¹æ³ã§æ©èœããããã«ãªãã®ãåŸ ã£ãŠããŸãã ããã¯ãAzureãšAmazonã®éã®éèŠãªå®çŸ©èŠçŽ ã§ãã ãµãŒããŒã¬ã¹CïŒã¢ãããŒãã¯ãWindows Updateãããã©ãŒãã³ã¹ãã§ãã¯ãSQLUpdateãªã©ã§è€æ°ã®EC2ãã·ã³ãç¶æãããããã¯ããã«åªããŠããŸãã ãããã®ç°å¢ãã¯ã©ã€ã¢ã³ãã«ãšã£ãŠææ°ã®ç¶æ ã«ä¿ã€ããšã¯ãã»ãŒãã«ã¿ã€ã ã®ä»äºã§ãã
ãµãŒããŒã¬ã¹CïŒã¢ãããŒãã¯ãè²»çšå¹æãé«ããåŽåéçŽçã§ãªããèªåçã«ã¹ã±ãŒã©ãã«ã§åå©çšå¯èœã§ãã
ä»ã®å¯äžã®æªè§£æ±ºã®åé¡ã¯ãçŸåšãè²»çšå¹æã®é«ãã¹ã±ãŒã©ãã«ãªRDCã¢ãããŒãã§ã:-)
ãã®ã¹ã¬ããããµãŒãã¹ããŒã ã«æž¡ããŠç¢ºèªããŸããã ç§ã¯äž»ã«ããããã®ã©ã€ãã©ãªãVisual Studioçµ±åãªã©ã®ã¯ã©ã€ã¢ã³ãããŒã«ãç¶æããŠããããããµãŒãã¹åŽã§äœãèµ·ãã£ãŠãããã«ã€ããŠã¯ããŸã話ãããšãã§ããŸããã ãµãŒãã¹ã³ãŒãã®è¡šç€ºãå¶éããããšã§ããªãã¬ã¯ã·ã§ã³ã®äœ¿çšãæé©åãããŠããããšãããããŸããã調æ»ããå¿ èŠã®ããä»ã®èŠå ãåžžã«ãããŸãã
@genifycomç§ã®ç解ã§ã¯ããã®ã¹ã¬ããã¯ãä»ã®ã©ã³ã¿ã€ã ãšæ¯èŒããŠããŠã©ãŒã ã¹ã¿ãŒãã®0.5ããªç§ã®ããã©ãŒãã³ã¹ã®éãã远跡ããŠããŸãã Lambdaã¯100ããªç§åäœã§è«æ±ããã®ã§ããã®ããã©ãŒãã³ã¹ã®éãã䜿çšã劚ããŠããŸããïŒ ç§ã¯ãã®äžäžèŽã®æ ¹åºã«å°éããããšã®éèŠæ§ãæžããããšã¯ããŠããŸããããã©ã ãããŒã ãçŸåšããã©ãŒãã³ã¹ãæ¹åããããã«åãçµãã§ãã倧ããªé åã¯ã³ãŒã«ãã¹ã¿ãŒãæéã§ãã
æ確ã«ããããã«ãããã¯CïŒLambdaïŒãŸãã¯ç§ãã¡ããããåœåããããã«LambdaSharpïŒã®æ¡çšãæ¢ããŠããŸããã ããã¯ãããã©ã€ãã®æºã§ãã :)
å®å šã«ç解ããŠãã ããïŒ
ãããé©åãªå Žæãã©ããã¯ããããŸããããçŸåšCïŒã§Webããã¯ãšã³ããæ§ç¯ããŠãããã³ãŒã«ãã¹ã¿ãŒãæéã¯æ°ç§ãå Žåã«ãã£ãŠã¯æ倧10ç§ä»¥äžã«ãªããŸãã ãããããã®æåã®ãããã®åŸããã¹ãŠãé 調ã§ãã ããã¯éèŠãªCïŒãããžã§ã¯ãã§ã¯ãŸã æ£åžžã§ããããããšããããæžããããã«ã§ããããšããããŸããïŒ äœ¿ãæ £ãã.NETãšã³ã·ã¹ãã ã§äœæ¥ã§ããããšã¯å€§å¥œãã§ãããããã¯ç§ãã¡ã«ããã€ãã®é çã®çš®ãäžããŠããŸãã
空ã®ãããžã§ã¯ãã®æ¹ãã¯ããã«ããŸãããããã«èŠããã®ã§ããããžã§ã¯ãã«å«ããå€éšããã±ãŒãžãšãã³ãŒã«ãã¹ã¿ãŒãæã«Amazonãããããã©ã®ããã«åŠçãããã«é¢ä¿ããŠãããšæããŸãã ç§ã¯èª°ããããã«å ãåœãŠãããšãã§ããããšãæãã§ããŸããã
@normjç§ãã¡ãèŠãŠããããã©ãŒãã³ã¹ã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ
@SpoonOfDoom 10åããšã«å©ããšããã¢ããã€ã¹ãèŠãŸãããïŒ ããã¯.Netã®åžžèã§ããã90幎代ã«ã¯ãä»ã®èª°ãããªãã£ãããšãç¥ã£ãŠããã¹ãã£ã³ã°ããžãã¹ãæéã«ããŸãã-ããããããã¯ãã¯ãéåžžã«äžè¬çã§ããããã®ãããªäžè¬çãªããŒã«ã§ããã-httpsïŒ//www.iis.net/downloads / microsoft / application-initialization-æšå¥šãããŸãã Lambdaã¯ã³ã¹ãã¢ãã«ãå€æŽããŸããããšã³ãžãã¢ãªã³ã°æ¹æ³ã«é¢ä¿ãªããããçšåºŠåã課é¡ã«çŽé¢ããŸãã
@bitshopãããç§ãã¡ãçŸåšè¡ã£ãŠããããšã§ãã ç§ãã¡ã¯ãã¹ãŠã10åããšã«1ååŒã³åºããŸãããã»ãšãã©ã®å Žåãããã圹ç«ã¡ãŸãã ãã ããæ°æéããšã«ã¹ãã€ã¯ãçºçããã³ãŒã«ãã¹ã¿ãŒããåã³çºçããŸãã.NetLambdasãå®è¡ããŠããAWSã€ã³ã¹ã¿ã³ã¹ã®æå¹æéã¯æ倧ã§ãçŸåšã®ããã/ã³ãŒã«ãã¹ããŒã¿ã¹ã«é¢ä¿ãªãæ°ããã€ã³ã¹ã¿ã³ã¹ã䜿çšãããããã§ãã ããããªãã
éçºè
ã«ããããå®å
šã«ä¿è·ããæ©äŒãäžããªããšããAmazonã®å¥åŠãªæ±ºå®ã®ããã§ãïŒå°ãªããšãäŸ¡æ Œã«ã€ããŠã¯ïŒã 確ãã«ãçŸåšã¯æ°æéããšã«ããŒã¯ã«éããŠããŸãããã¹ã¯ãªããã§ã¯ãªã顧客ããããããå Žåã§ãã顧客ã¯ã€ã©ã€ã©ããã¢ããªã®ä¿¡é Œæ§ãäœãããŸãã¯é
ããšèªèããŸãã
@yunspaceãã³ãã¬ãŒãã©ã ãé¢æ°ã¯ãŸã 2000ms以äžã®ã³ãŒã«ãã¹ã¿ãŒãã¢ããæéãå¿
èŠãšããããã§ãã
REPORT RequestId: d1e5f56c-0ea9-11e7-bb5d-bb039f76a793 Duration: 2120.69 ms Billed Duration: 2200 ms
@normjäœãééã£ãããšã¯ãããŸããïŒ
æŽæ°ïŒé¢æ°ãstring
å
¥åãåãåãå Žåãèµ·åæéã¯çŽ800ããªç§ã«ãªããŸãããå®éã«å¥ã®ã¿ã€ããéžæãããšã2000ããªç§ãè¶
ããããšã«ãªããŸãã
// 800ms
public string FunctionHandler(string input, ILambdaContext context)
// 2000ms, Request being the other object type
public string FunctionHandler(Request input, ILambdaContext context)
CïŒã®2ã€ã®ç°ãªãã©ã³ãæ©èœã§128MBã§çŽ21ç§ã®ã³ãŒã«ãèµ·åæéããããã©ã¡ããSNSãåä¿¡ããŠââããŸãã ç§ã¯S3ãããããªã¬ãŒãšSNSã§ã»ãŒåãæéãååŸããŸãã æãããããã¯ã2ç§ã§ãã
ã¡ã¢ãªã256Mã«å¢ãããšãã¿ã©ã®æéãçŽ10ç§ã«äœäžããã®ãããããŸãã
Lambdaãã°ã¯ãåèš40MBã®ã¡ã¢ãªã§äœ¿çšããŠããããšã瀺ããŠããŸãã
é¢æ°ã®1ã€ãããåèšå®è¡æéïŒ
128MBã³ãŒã«ãïŒã¬ããŒãæéïŒ21775.92ããªç§è«æ±æéïŒ21800ããªç§ã¡ã¢ãªãµã€ãºïŒ128 MBæ倧䜿çšã¡ã¢ãªïŒ35 MB
128MBãŠã©ãŒã ïŒã¬ããŒãæéïŒ1326.76ããªç§è«æ±æéïŒ1400ããªç§ã¡ã¢ãªãµã€ãºïŒ128 MBæ倧䜿çšã¡ã¢ãªïŒ37 MB
256MBã³ãŒã«ãïŒã¬ããŒãæéïŒ11159.49ããªç§è«æ±æéïŒ11200ããªç§ã¡ã¢ãªãµã€ãºïŒ256 MBæ倧䜿çšã¡ã¢ãªïŒ39 MB
256MBãŠã©ãŒã ïŒã¬ããŒãæéïŒ792.37ããªç§è«æ±æéïŒ800ããªç§ã¡ã¢ãªãµã€ãºïŒ256 MBæ倧䜿çšã¡ã¢ãªïŒ39 MB
384MBã³ãŒã«ãïŒã¬ããŒãæéïŒ7566.07ããªç§è«æ±æéïŒ7600ããªç§ã¡ã¢ãªãµã€ãºïŒ384 MBæ倧䜿çšã¡ã¢ãªïŒ43 MB
384MBãŠã©ãŒã ïŒã¬ããŒãæéïŒ850.59ããªç§è«æ±æéïŒ900ããªç§ã¡ã¢ãªãµã€ãºïŒ384 MBæ倧䜿çšã¡ã¢ãªïŒ47 MB
ç¬ãã®ããã ãã«ïŒ
1024MBã³ãŒã«ãïŒã¬ããŒãæéïŒ3309.12ããªç§è«æ±æéïŒ3400ããªç§ã¡ã¢ãªãµã€ãºïŒ1024 MBæ倧䜿çšã¡ã¢ãªïŒ38 MB
1024MBãŠã©ãŒã ïŒã¬ããŒãæéïŒ677.57ããªç§è«æ±æéïŒ700ããªç§ã¡ã¢ãªãµã€ãºïŒ1024 MBæ倧䜿çšã¡ã¢ãªïŒ41 MB
ããã¯ãã³ãŒã«ãã¹ã¿ãŒãã¢ããã®ãªãŒããŒãããã倧ãããªããŸãã
æ¯èŒãããšãããã¯çŽååã®äœæ¥ïŒCïŒãžã®ç§»æ€åã®å€ãããŒãžã§ã³ïŒãå®è¡ããnodejsé¢æ°ã§ãããåãçš®é¡ã®äœæ¥ïŒSNSã®ååŸãããŒã¿ããŒã¹ãžã®æžã蟌ã¿ãS3ãžã®ä¿åïŒã§ãããããã¯å šäœã§åœãŠã¯ãŸãããã§ãç§ãã¡ãæã£ãŠããä»ã®æ©èœãåããããŒãïŒ
128MBã³ãŒã«ãïŒã¬ããŒãæéïŒ262.58ããªç§è«æ±æéïŒ300ããªç§ã¡ã¢ãªãµã€ãºïŒ128 MBæ倧䜿çšã¡ã¢ãªïŒ19 MB
128MBãŠã©ãŒã ïŒã¬ããŒãæéïŒ134.79ããªç§è«æ±æéïŒ200ããªç§ã¡ã¢ãªãµã€ãºïŒ128 MBæ倧䜿çšã¡ã¢ãªïŒ19 MB
å¯ããšãã®ãªãŒããŒãããã®å²åã¯ãã¯ããã«åççãšæãããŸãã
Visual Studio AWSããŒã«ã䜿çšããŠãã³ãã«ãã¢ããããŒãããŠããŸã-ã³ãŒãã¯ã¢ããããŒããããåã«ã¿ãŒã²ãããã©ãããã©ãŒã çšã«ããªã³ã³ãã€ã«ãããŠããŸãããïŒ ç§ãèŠéããŠãããã®ã¯ãããŸããããããšãããã¯æ£åžžã§ããïŒ ããã§å ±åãããŠããä»ã®æ°å€ã¯å°ããã§ãããã¡ã¢ãªå²ãåœãŠãããããŸããã
ã³ãŒã«ãããŒãæéã¯ãSlackã3,000ããªç§åŸã«ã¿ã€ã ã¢ãŠããããããSlackããããæ§ç¯ãããšãã«åé¡ã«ãªããŸãã ã€ã³ã¹ã¿ã³ã¹ãåžžã«å©çšå¯èœã§ããããšãä¿èšŒããæ¹æ³ããã£ããããã®ã«ãšæããŸãã
ãã®åé¡ã«é¢ãããã¯ãã«ã«ãµããŒããã±ãããéããŸããã äœã圹ã«ç«ã€ããšãåŠãã ããããã§å ±æããŸãã
Cloudwatch pingãªã©ã䜿çšããŠã©ã ãããŠã©ãŒã ã«ä¿ã€ããã®å€ãã®åé¿çããããŸãããæçµçã«ã¯ã³ãŒã«ãã¹ã¿ãŒãæéã¯å¿«é©ãªãã®ã«ããå¿ èŠããããŸãã ã³ãŒã«ãã¹ã¿ãŒããæé©åããããšã¯ã§ããŸãããåé¿ããããšã¯ã§ããŸããã èªåã¹ã±ãŒãªã³ã°ãçºçãããšãæ°ããã©ã ããã³ãŒã«ãããã¹ã±ãŒã«ã¢ããããããšã¯ééããããŸããã
@bjorgã¯ãã€ã³ã¹ã¿ã³ã¹ãåžžã«å©çšå¯èœã§ããããšãä¿èšŒããŸããããããEC2ãŸãã¯ECSãæ€èšããæ¹ãããã§ãããã
@ InsidiousForce21ç§ã®ã³ãŒã«ãã¹ã¿ãŒããçºçããŠããããšã«é©ããŠããŸãã ã©ã ãèªäœã§ã¯ãªããããªãã®ã³ãŒãã ãšåŒ·ãæããŸãã éãåæåãããã¯ããããŸããïŒ ã³ãŒããŸãã¯åäœãã¹ããVSã§ããŒã«ã«ã«å®è¡ããå Žåãã©ã®ãããæéãããããŸããïŒ ãšã«ãããç§ã¯ããªãã®ã³ãŒããç¥ããªãã®ã§ãæšæž¬ããŠããã ãã§ãã @SpoonOfDoomã®ãããª
@yunspaceç°ç«¯ïŒ :)
ããŠãã¢ããŸã³ã§åªããæè¡ãµããŒãã¹ã¿ãããšé·ãååŸã«ããåŸãäŒè©±ã®åºæ¬çãªãæã¡åž°ãã¯ããã§ãïŒ
ããªãã¯ãããªãã®ã³ãŒããæé©åããããšããããšãã§ããŸã - 説æããããã«ãCPUãã¯ãŒãé«ããããã«ããã¡ã€ã«ãµã€ãºãæžãã絶察ã«å¿
èŠã§ã¯ãªãã©ã€ãã©ãªãæšãŠãå°ãéçããã³å¯èœæ§ãšããŠãèµ·åæã«åæåããåŸãä»ã®ãã®ãšããŠæã£ãŠããŠã¿ãŠãã ããããããŠãã¡ããã®å¢å å²ãåœãŠãããã¡ã¢ãªã®ãã®ã¹ã¬ããã€ã³ããããåŒã³åºããŠã©ã ããçããç¶ãããšåé¡ãåŒãåºãããšãã§ããŸããããããæé€ããããšã¯ã§ããŸããã ããã¯ä¿¡é Œæ§ã®é«ãã«ãŒã«ã¯ãããŸãããã4åã®ééã¯ãã»ãšãã©ã®å Žåã®ããã«æé«ã®äŸ¡å€ã®ããã§ãããã©ãããåºæ¬çãªåäœã¯ãå®å
šã«ã¯ç¢ºå®çã§ã¯ãããŸããã ãããŠããã§ããåé¡ãå®å
šã«ã¯æé€ããŸããã
æ®å¿µãªãããäžçªäžã®è¡ã¯ããããŸã§ã«ãããŸã§ã«åŸãããšãã§ããã ãã§ãããããæç¹ã§å²ãåœãŠãå®è¡å¯èœã§ããå¯èœæ§ããããŸãã ããªãã¯ãåžžã«ãããã®ã³ãŒã«ãã¹ã¿ãŒãæéãæã€ããšã«ãªããŸãããããªããããããæžããããšãã§ãããããããªãããããªãã¯ãããããã®ããã«ãããã¯å
Œ
±ã®å¯Ÿé¢APIãäœãã®ããã«åççã ãã€ã³ãã«ãããã軜æžããããšãã§ããŸãã - ããã¯ããªãã®å ŽåãšæãããŸãããªãã容æãªå±éãšèªåã¹ã±ãŒãªã³ã°ããããå Žåã¯ãElastic Beanstalkã§ã¡ããã©ä»ããã¹ãŠãåŸ
ã£ãŠããå床ããã®åŸãCïŒã®ã©ã ãã¯ããªãã®ããã§ã¯ãªããããªããããè¯ããªãEC2ã€ã³ã¹ã¿ã³ã¹ãæã€ããå€åïŒç§ãã¡ãä»ãã£ãŠããããïŒããŠããäœè£ã¯ãããŸããã
ç§ãã¡ã¯ãä»ãç§ãã¡ããŸã ã®Visual Studioããå¿«é©ãªå±éãè¡ããšãããã€ãã®èªåã¹ã±ãŒãªã³ã°ãªãã·ã§ã³ãç¶æããããšãã§ããŸãASP.NET Web APIããããžã§ã¯ãã®äžã«ç§ãã¡ã®ã©ã ããå€æããŠããŸãã
TL; DRïŒãã®åé¡ã®ãŸããã®ä¿¡é Œã§ããæ¹æ³ãããããã§ãã 代ããã«äœ¿çšEBSãEC2ã
掻åäžè¶³ã®ããéäŒã ãŸãããã®ãªããžããªã¯äž»ã«ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªãšããŒã«ããµããŒãããããã®ãã®ã§ãã ãã®ãã£ã¹ã«ãã·ã§ã³ã®ããè¯ãå Žæã¯ãLambdaãµãŒãã¹ããŒã ãç£èŠããLambdaãã©ãŒã©ã ã§ãã
ããã«ã¡ã¯ãã¿ããªïŒ
PythonãPHPãJavaãRubyãCïŒãæ¯èŒããèšäºãäœæããŸããã
ããããã§ãã¯ããŠãããã«ã€ããŠããªãã®æèŠãèšãããšãã§ããŸããïŒ ïŒããã¯çŽç²ã«æè¡çãªè³æã§ã¯ãããŸããããåå¿è
åãã«ããäžè¬åãããŠããŸãïŒ
https://www.cleveroad.com/blog/python-vs-other-programming-languages
ãã®èšäºã¯ç§ã«ã¯åœ¹ã«ç«ã¡ãŸããã§ããã
第äžã«ãããã¯æ¯èŒã§ã¯ãããŸããã§ããã ããŒãžã®ã¿ã€ãã«ã«ã¯ãä»ã®èšèªãããPythonã䜿çšããå©ç¹ããšæžãããŠããã®ã§ãæããã«æ¯èŒã§ã¯ãããŸããã
第äºã«ããã¹ãŠã®èŠä»¶ãæºããèšèªã¯1ã€ã§ã¯ãããŸããã
ããšãã°ãã¹ã¯ãªããèšèªã䜿çšããŠè€éãªãã¬ãŒã ã¯ãŒã¯ãæ§ç¯ããããšã¯éåžžã«å°é£ã§ãã ãPythonã¯ãããã«ãªèšèªã§ãããšèšããŸããèªã¿æžãã¯éåžžã«ç°¡åã§ããåé¡ã«ã€ããŠèãããšãã¯ãéçºè ã¯èšèªã§ã¯ãªãåé¡ã«éäžã§ããŸãããã®æ§æãã è±å¯ãªã¢ãã«ãã¢ãã«ã³ã³ããŒãã³ãéã®çžäºäœçšãæ¯æŽãå§ããããšãããããŸããã
ç§ãã¡ã¯ãã€ã¯ããµãŒãã¹ããã¹ãŠã«çããã ãããšèãå§ããããã§ãããç§ã¯ãããéåžžã«çŽ æŽãªã¢ãããŒãã§ããããšãç¥ãã®ã«ååé·ãéãã®ã²ãŒã ã«åå ããŠããŸããã
åé¡ã«ã¯ããŸããŸãªåœ¢ããããŸãã
genifycomã«åæããŸãã ããã«å ããŠãééã£ãŠããªããšããŠãçããããšæãããç¹ãããã€ããããŸãã ããšãã°ãPythonã§ïŒç§ã¯æ段ãåæ£ã³ã³ãã¥ãŒãã£ã³ã°ãšä»®å®ïŒïŒããªãã¯ããããã¯ãŒã¯ããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãè¡ãããšãã§ããªããšããããšãããç¡ç¥ãããã³CïŒãå©çšã§ããå€ãã®ã©ã€ãã©ãªãæã£ãŠããªãããšãäŒãããšã䜿çšå¯èœãªãããã100kã®ããã±ãŒãžããããŸãèæ
®ãããšå¥åŠãªæã§ãNugetã ãã§ã
ãŸããPythonã«ã¯ãåé¡ã解決ãã1ã€ã®æ¹æ³ãããããŸãããåé¡ã解決ããæ¹æ³ã¯åžžã«è€æ°ãããéåžžã¯èšèªãšã¯ãŸã£ããé¢ä¿ãããŸããã
次ã«ãççŸããŠããããã«èŠãããããã1ã€ãããŸããã°ã©ãã§ãPythonã¯ã¯ãã¹ãã©ãããã©ãŒã ã¢ããªãå®è¡ã§ããªããšèšã£ãŠããŸãïŒãïŒããã¯ééã£ãŠããããã§ãïŒã次ã«ãããã¹ãã§ãPythonã¯ã»ãšãã©ãã¹ãŠã®ææ°ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšäºææ§ããããŸãã ã
ä»ã«ãå°ããªåé¡ããããŸããããšãã°ãçè«çã«ã¯ã¡ã¢åž³ã䜿çšããŠCïŒã§ã³ãŒãã£ã³ã°ããã³ãã³ãã©ã€ã³ããã³ã³ãã€ã«ã§ããŸããIDEã¯å¿
èŠãããŸããããIntelliJã®ãããªé©åãªIDEã䜿çšãããšãPythonã®éçºãã¯ããã«ç°¡åã«ãªããŸãã
ããã«å ããŠãã»ãŒ1幎é䜿çšãããŠããªãGitHubã®åé¡ããããã°ã宣äŒããé©åãªæ¹æ³ã§ãããã©ããã¯ããããŸããã
genifycomãšSpoonOfDoomãæèŠããããšãããããŸãããããèæ ®ã«å ¥ããŸãã
.NetCoreã«æå©ãªå¥ã®æèŠã¯æ¬¡ã®ãšããã§ãã
https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-python-java-c-and-go-29c1163c2581
ã©ã ããã³ãã©ãŒã®.NETã®èŠ³ç¹ããcïŒã³ãŒããããå¹ççã«ããæ¹æ³ã«é¢ãããã³ãã¯ãããŸããïŒ
ç§ã察åŠããããšããŠãã質åã®äŸã®ããã€ãïŒ
1ïŒã©ã ãé¢æ°ãéçã«ãããšãã©ã ãã³ã³ããã¹ãã®åå©çšãå¢ããããã©ãŒãã³ã¹ãåäžããŸããïŒ
2ïŒFuâânctionsã¯ã©ã¹ïŒãã¹ãŠã®ã©ã ããã³ãã©ãŒãå«ãïŒãã·ã³ã°ã«ãã³ã¯ã©ã¹ã«ãããšãããã©ãŒãã³ã¹ãåäžããŸããïŒ
3ïŒå®æ°/èªã¿åãå°çšå€æ°ãäœæãããããã©ã ãé¢æ°éã§å
±æãããšãããã©ãŒãã³ã¹ãåäžããŸããïŒ
誰ããäœãæ å ±ãæã£ãŠãããªããææ¡ããŠãã ãã
@ niraj-bpsoftwareãªãããªãã¯ãããè©ŠããŠã¿ãŠãããªãã®çºèŠãããã«æçš¿ããã®ã§ããïŒ ç®ç«ã£ãéãããããã©ãããç¥ããããšæããŸãã æ£çŽãªãšããããããã®ããããã圱é¿ãäžãããšããããç§ã¯éåžžã«é©ããŸãã
1ïŒé¢æ°ã®åç¶æéäžã®1åéãã®åºå®è²»ã§ããã€ã³ã¹ã¿ã³ã¹åãåè¿°ããããšã®å©ç¹ã¯ã絶察ã«æå°éã§ããã枬å®å¯èœãªãããå€ãã¯ããã«è¶ ããŠããããã§ãã
2ïŒè©±ããªãã®ã§è©±ããŸããã ãã ãããã³ãã©ãŒãç°ãªãã©ã ãé¢æ°ã§ããå Žåãç§ã®ç解ã§ã¯ããã³ãã©ãŒã¯ãã¹ãŠå¥ã ã®ããã»ã¹/ã³ã³ãããŒã§å®è¡ããããããããããäœãå ±æããŸããã
3ïŒåäžã
æãåèã«ãªãã³ã¡ã³ã
@yunspaceç°ç«¯ïŒ :)