ื“ื™ื˜ื™ื™ืœื“ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ AWS Lambda

ื“ื™ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืกืคึผืึทืกื™ืคื™ืงืœื™ ืคึฟืึทืจ ื“ื™ ืกื˜ื•ื“ืขื ื˜ืŸ ืคื•ืŸ ื“ืขื ืงื•ืจืก "ื•ื•ืึธืœืงืŸ ืกืขืจื•ื•ื™ืกืขืก". ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืื™ืŸ ื“ืขื ืจื™ื›ื˜ื•ื ื’? ื”ื™ื˜ืŸ ื“ื™ ื‘ืขืœ ืงืœืึทืก ืคื•ืŸ Egor Zuev (TeamLead ื‘ื™ื™ InBit) "AWS EC2 ืกืขืจื•ื•ื™ืก" ืื•ืŸ ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ืงื•ืจืก ื’ืจื•ืคึผืข: ืกื˜ืึทืจืฅ ืื•ื™ืฃ 26 ืกืขืคื˜ืขืžื‘ืขืจ.

ื“ื™ื˜ื™ื™ืœื“ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ AWS Lambda

ืžืขืจ ืžืขื ื˜ืฉืŸ ืžื™ื’ืจื™ืจืŸ ืฆื• AWS Lambda ืคึฟืึทืจ ืกืงืึทืœืึทื‘ื™ืœื™ื˜ื™, ืคืึธืจืฉื˜ืขืœื•ื ื’, ืกื™ื™ื•ื•ื™ื ื’ื– ืื•ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉืขืคึผืŸ ืžื™ืœื™ืึทื ื– ืึธื“ืขืจ ืืคื™ืœื• ื˜ืจื™ืœื™ืึทื ื– ืคื•ืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ื—ื•ื“ืฉ. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืคื™ืจืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ื™ืฃ ื•ื•ืึธืก ื“ื™ ืกืขืจื•ื•ื™ืก ืœื•ื™ืคื˜. ืื•ืŸ ืึทื•ื˜ืึธืกืงืึทืœื™ื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ื™ื ืขืŸ ื˜ื•ื™ื–ื ื˜ืขืจ ืคื•ืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืก ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข. ืื™ืš ื˜ืจืึทื›ื˜ืŸ AWS Lambda ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืจื•ืคึฟืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก AWS ื‘ืึทื“ื™ื ื•ื ื’ืก.

AWS Lambda

AWS Lambda ืื™ื– ืึทืŸ ืขื•ื•ืขื ื˜-ื’ืขื˜ืจื™ื‘ืŸ ืกืขืจื•ื•ืขืจืœืขืกืก ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ื“ื™ื ืกื˜ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืœื•ื™ืคืŸ ืงืึธื“ ืึธืŸ ืคึผืจืึทื•ื•ื™ื–ืฉืึทื ื– ืึธื“ืขืจ ืึธื ืคื™ืจื•ื ื’ ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืคืึทืจื‘ืจื™ื™ื˜ืขืจืŸ ืื ื“ืขืจืข AWS ื‘ืึทื“ื™ื ื•ื ื’ืก ื ื™ืฆืŸ ืžื ื”ื’ ืœืึธื’ื™ืง. Lambda ืจื™ืกืคึผืึทื ื“ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืฆื• ืคืึทืจืฉื™ื“ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ (ื’ืขืจื•ืคืŸ ื˜ืจื™ื’ืขืจื–), ืึทื–ืึท ื•ื•ื™ ื”ื˜ื˜ืคึผ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš Amazon API Gateway, ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ืึทื˜ืŸ ืื™ืŸ Amazon S3 ื‘ืึทืงืึทืฅ ืึธื“ืขืจ Amazon DynamoDB ื˜ื™ืฉืŸ; ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ ื“ื™ื™ืŸ ืงืึธื“ ื“ื•ืจืš ืึทืคึผื™ ืงืึทืœืœืก ื ื™ืฆืŸ ื“ื™ AWS SDK ืื•ืŸ ืฉื˜ืึทื˜ ื˜ืจืึทื ื–ื™ืฉืึทื ื– ืื™ืŸ AWS ืกื˜ืขืคึผ ืคืึทื ื’ืงืฉืึทื ื–.

Lambda ืœื•ื™ืคื˜ ืงืึธื“ ืื•ื™ืฃ ืึท ื”ืขื›ืกื˜ ื‘ื ื™ืžืฆื ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ืื™ื– ื’ืึธืจ ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ื™ืึธืŸ ืคื•ืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืข, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ื•ื™ืฉืึทืœื˜, ืžื™ื˜ืœ ืคึผืจืึทื•ื•ื™ื–ืฉืึทื ื–, ืึทื•ื˜ืึธ-ืกืงื™ื™ืœื™ื ื’, ืงืึธื“ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื•ืŸ ืœืึธื’ื™ื ื’. ืึทื– ืื™ื–, ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฆื•ืคึฟืขืœื™ืงืขืจ ื“ื™ื™ืŸ ืงืึธื“ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื•ื•ื™ ืื•ืŸ ื•ื•ืขืŸ ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“. ืื™ืŸ ืงืขืจ, ื“ื™ ื“ื™ื ืกื˜ ื•ื•ืขื˜ ื ืขืžืขืŸ ืงืขื™ืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ืงืึทื˜ืขืจ ืื•ืŸ ืขื ืฉื•ืจ ื”ื•ื™ืš ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ.

ื•ื•ืขืŸ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• Lambda?

AWS Lambda ืื™ื– ืึท ื‘ืึทืงื•ื•ืขื ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืข ื•ื•ืึธืก ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ืึท ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ ื ื•ืฆืŸ ืงืึทืกืขืก, ื•ื•ื™ ืœืึทื ื’ ื•ื•ื™ ื“ื™ ืฉืคึผืจืึทืš ืื•ืŸ ืจื•ื ื˜ื™ืžืข ืคื•ืŸ โ€‹โ€‹ื“ื™ื™ืŸ ืงืึธื“ ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืกืขืจื•ื•ื™ืก. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืคืึธืงื•ืก ืื•ื™ืฃ ื“ื™ื™ืŸ ืงืึธื“ ืื•ืŸ ื’ืขืฉืขืคื˜ ืœืึธื’ื™ืง ื‘ืฉืขืช ืึทื•ืฆืึธืจืกื™ื ื’ ืกืขืจื•ื•ืขืจ ื•ื™ืฉืึทืœื˜, ืคึผืจืึทื•ื•ื™ื–ืฉืึทื ื– ืื•ืŸ ืกืงื™ื™ืœื™ื ื’ ืฆื• ืึท ื’ืœื™ื™ึทืš ืคึผืจื™ื™ึทื–, AWS Lambda ืื™ื– ื‘ืืฉื˜ื™ืžื˜ ื“ืขืจ ื•ื•ืขื’ ืฆื• ื’ื™ื™ืŸ.

Lambda ืื™ื– ื™ื“ืขืึทืœ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื–, ืื•ืŸ ื•ื•ืขืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืงืึทื ื“ื–ืฉืึทื ื’ืงืฉืึทืŸ ืžื™ื˜ API Gateway, ืื™ืจ ืงืขื ืขืŸ ื‘ืื˜ื™ื™ื˜ื™ืง ืจืขื“ื•ืฆื™ืจืŸ ืงืึธืก ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืฆื• ืžืึทืจืง ืคืึทืกื˜ืขืจ. ืขืก ื–ืขื ืขืŸ ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืขื’ืŸ ืฆื• ื ื•ืฆืŸ Lambda ืคืึทื ื’ืงืฉืึทื ื– ืื•ืŸ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืึท ืกืขืจื•ื•ืขืจืœืขืกืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ - ืึทืœืขืžืขืŸ ืงืขื ืขืŸ ืงืœื™ื™ึทื‘ืŸ ืขืคึผืขืก ืคึผืึทืกื™ืง ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื–ื™ื™ืขืจ ืฆื™ืœ.

Lambda ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืึท ื‘ืจื™ื™ื˜ ืงื™ื™ื˜ ืคื•ืŸ ื˜ืึทืกืงืก. ืื–ื•ื™, ื“ืึทื ืง ืฆื• CloudWatch ืฉื˜ื™ืฆืŸ, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ื™ืคืขืจื“ ื˜ืึทืกืงืก ืื•ืŸ ืึธื˜ืึทืžื™ื™ื˜ ื™ื—ื™ื“ ืคึผืจืึทืกืขืกืึทื–. ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ื ืึทื˜ื•ืจ ืื•ืŸ ื™ื ื˜ืขื ืกื™ื˜ื™ ืคื•ืŸ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ืกืขืจื•ื•ื™ืก (ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืื•ืŸ ืฆื™ื™ื˜ ื–ืขื ืขืŸ ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ), ืื•ืŸ ื’ืึธืจื ื™ืฉื˜ ืคึผืจื™ื•ื•ืขื ืฅ ืื™ืจ ืคื•ืŸ ืกื™ืกื˜ืึทืžืึทื˜ื™ืงืœื™ ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืึท ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืœืึทืžื‘ื“ืึท.

ื“ืึธ ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ื™ื ืกื˜-ืึธืจื™ืขื ื˜ื™ื“ ืึทืงืฉืึทื ื– ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ืœื•ื™ืคืŸ ืงืึทื ื˜ื™ื ื™ื•ืึทืกืœื™. ื ื˜ื™ืคึผื™ืฉ ื‘ื™ื™ึทืฉืคึผื™ืœ ืื™ื– ื‘ื™ืœื“ ืกืงื™ื™ืœื™ื ื’. ืืคื™ืœื• ืื™ืŸ ื“ื™ ืคืึทืœ ืคื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืกื™ืกื˜ืขืžืขืŸ, Lambda ืคืึทื ื’ืงืฉืึทื ื– ื‘ืœื™ื™ื‘ืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง.

ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ืึทืœืึทืงื™ื™ื˜ื™ื ื’ ืื•ืŸ ืึธื ืคื™ืจื•ื ื’ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ, ืคึผืจื•ึผื•ื•ื˜ AWS Lambda; ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฉื•ื•ืขืจ, ืžื™ื˜ืœ-ืื™ื ื˜ืขื ืกื™ื•ื•ืข ื—ืฉื‘ื•ื ื•ืช, ืื•ื™ืš ืคึผืจื•ื‘ื™ืจืŸ AWS Lambda; ืื•ื™ื‘ ื“ื™ื™ืŸ ืงืึธื“ ืœื•ื™ืคื˜ ืคึผื™ืจื™ืึทื“ื™ืงืœื™, ื“ืึธืก ืื™ื– ืจืขื›ื˜, ืื™ืจ ื–ืึธืœ ืคึผืจื•ื‘ื™ืจืŸ AWS Lambda.

ื–ื™ื›ืขืจืงื™ื™ึทื˜

ื‘ื™ื– ืื™ืฆื˜ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ื˜ืขื ื•ืช ื•ื•ืขื’ืŸ ื–ื™ื›ืขืจืงื™ื™ึทื˜. ืื•ื™ืฃ ื“ื™ ืื ื“ืขืจืข ื”ืึทื ื˜, ื–ื™ื ื˜ ืคื™ืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื™ื ืขืจืœืขืš ืคึผืจืึทืกืขืกืึทื– ืื•ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ืขื ืžืึธื“ืขืœ ื–ืขื ืขืŸ ืคืึทืจื‘ืึธืจื’ืŸ ืคื•ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืคื•ืŸ ื“ื™ AWS Lambda ื’ืขืจืื˜ืŸ ืจื•ื ื˜ื™ืžืข ืกื•ื•ื™ื•ื•ืข, ืขื˜ืœืขื›ืข ื‘ื›ืœืœ ืื ื’ืขื ื•ืžืขืŸ ื›ึผืœืœื™ื ืคื•ืŸ ื•ื•ืึธืœืงืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ื•ื•ืขืจืŸ ื™ืจืขืœืึทื•ื•ืึทื ื˜.

ื•ื•ื™ ืจื•ื‘ึฟ AWS ื‘ืึทื“ื™ื ื•ื ื’ืก, Lambda ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ืื•ื™ืฃ ืึท ืฉืขืจื“ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ื”ืขืกืงืขื ื™ืงืขืจ ืฆื•ื•ื™ืฉืŸ AWS ืื•ืŸ ื“ืขืจ ืงื•ื ื”. ื“ืขืจ ืคึผืจื™ื ืฆื™ืคึผ ืจืึทื“ื•ืกืึทื– ื“ื™ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ืžืึทืกืข ืื•ื™ืฃ ื“ืขื ืงืœื™ืขื ื˜, ื–ื™ื ื˜ AWS ื ืขืžื˜ ืื•ื™ืฃ ื“ื™ ื˜ืึทืกืงืก ืคื•ืŸ ืžื™ื™ื ื˜ื™ื™ื ื™ื ื’, ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ื™ืึธืŸ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกืขืจื•ื•ื™ืก ืงืึทืžืคึผืึธื•ื ืึทื ืฅ - ืคึฟื•ืŸ ื“ื™ ื‘ืึทืœืขื‘ืึธืก ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืื•ืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ืฉื™ื›ื˜ืข ืฆื• ื“ื™ ื’ืฉืžื™ื•ืช ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืึทืกืขืฅ.

ืกืคึผืึทืกื™ืคื™ืงืœื™ ื•ื•ืขื’ืŸ AWS Lambda, AWS ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ืคึฟืึทืจื‘ื•ื ื“ืŸ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื‘ืึทื“ื™ื ื•ื ื’ืก, ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึผืœืึทื˜ืคืึธืจืžืข. ื‘ืฉืขืช ื“ืขืจ ืงืœื™ืขื ื˜ ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื“ื™ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคื•ืŸ ื–ื™ื™ืŸ ืงืึธื“, ืกื˜ืึธืจื™ื ื’ ืงืึทื ืคืึทื“ืขื ืฉืึทืœ ื“ืึทื˜ืŸ, ืงืึทื ื˜ืจืึธื•ืœื™ื ื’ ืึทืงืกืขืก ืฆื• ืขืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ืœืึทืžื‘ื“ืึท ืกืขืจื•ื•ื™ืก ืื•ืŸ ืจืขืกื•ืจืกืŸ (ืื™ื“ืขื ื˜ื™ื˜ื™ ืื•ืŸ ืึทืงืกืขืก ืžืึทื ืึทื’ืขืžืขื ื˜, IAM), ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืœื™ืžืึทืฅ ืคื•ืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ื’ืขื ื™ืฆื˜.

ื“ื™ ื“ื™ืึทื’ืจืึทืžืข ืื•ื ื˜ืŸ ื•ื•ื™ื™ื–ื˜ ื“ื™ ืฉืขืจื“ ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืžืึธื“ืขืœ ื•ื•ื™ ืขืก ืึทืคึผืœื™ื™ื– ืฆื• AWS Lambda. AWS ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืื™ื– ืžืึทืจืึทื ืฅ ืื•ืŸ ืงื•ื ื” ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืื™ื– ื‘ืœื•ื™. ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, AWS ื ืขืžื˜ ืžืขืจ ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืคึฟืึทืจ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ื™ืคึผืœื•ื™ื“ ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ื™ืก.

ื“ื™ื˜ื™ื™ืœื“ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ AWS Lambda

ืฉืขืจื“ ืคึฟืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขื›ืงื™ื™ื˜ ืžืึธื“ืขืœ ืึทืคึผืœื™ื™ื– ืฆื• AWS Lambda

ืœืึทืžื‘ื“ืึท ืจื•ื ื˜ื™ืžืข

ื“ืขืจ ื”ื•ื™ืคึผื˜ ืžื™ื™ึทืœืข ืคื•ืŸ โ€‹โ€‹Lambda ืื™ื– ืึทื– ื“ื•ืจืš ื“ื•ืจื›ืคื™ืจืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ืื•ื™ืฃ ื“ื™ื™ืŸ ื‘ื™ื›ืึทืฃ, ื“ื™ ืกืขืจื•ื•ื™ืก ื–ื™ืš ืึทืœืึทืงื™ื™ืฅ ื“ื™ ื ื™ื™ื˜ื™ืง ืจืขืกื•ืจืกืŸ. ืื™ืจ ืงืขื ืขืŸ ื•ื™ืกืžื™ื™ื“ืŸ ื•ื•ื™ืกื˜ ืฆื™ื™ื˜ ืื•ืŸ ืžื™ ืื•ื™ืฃ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทืฆื™ืข ืื•ืŸ ืคืึธืงื•ืก ืื•ื™ืฃ ื’ืขืฉืขืคื˜ ืœืึธื’ื™ืง ืื•ืŸ ืงืึธื•ื“ื™ื ื’.

ื“ื™ ืœืึทืžื‘ื“ืึท ื“ื™ื ืกื˜ ืื™ื– ืฆืขื˜ื™ื™ืœื˜ ืื™ืŸ ืฆื•ื•ื™ื™ ืคึผืœื™ื™ื ื–. ื“ืขืจ ืขืจืฉื˜ืขืจ ืื™ื– ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš. ืœื•ื™ื˜ ื•ื•ื™ืงื™ืคืขื“ื™ืข, ืื™ื– ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš ื“ืขืจ ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขืจ ื ืขืฅ ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื˜ืจืึทื ืกืคึผืึธืจื˜ื™ื ื’ ืกื™ื’ื ืึทืœื™ื ื’ ืคืึทืจืงืขืจ ืื•ืŸ ืจื•ื˜ื™ื ื’. ืขืก ืื™ื– ื“ืขืจ ืขืจืฉื˜ื™ืง ืงืึธืžืคึผืึธื ืขื ื˜ ื•ื•ืึธืก ืžืื›ื˜ ื’ืœืื‘ืืœืข ื“ื™ืกื™ื–ืฉืึทื ื– ื•ื•ืขื’ืŸ ืคึผืจืึทื•ื•ื™ื–ืฉืึทื ื–, ืกืขืจื•ื•ื™ืกื™ื ื’ ืื•ืŸ ื“ื™ืกื˜ืจื™ื‘ื™ื•ื˜ื™ื ื’ ื•ื•ืขืจืงืœืึธื•ื“ื–. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš ืืงื˜ืŸ ื•ื•ื™ ื“ื™ ื ืขืฅ ื˜ืึทืคึผืึทืœืึทื“ื–ืฉื™ ืคื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’ ืฉืคึผื™ื™ึทื–ืขืจ, ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืจื•ื˜ื™ื ื’ ืื•ืŸ ืึธื ืคื™ืจื•ื ื’ ืคืึทืจืงืขืจ.

ื“ื™ ืฆื•ื•ื™ื™ื˜ืข ืคืœืึทืš ืื™ื– ื“ื™ ื“ืึทื˜ืŸ ืคืœืึทืš. ืขืก, ื•ื•ื™ ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš, ื”ืื˜ ื–ื™ื™ึทืŸ ืื™ื™ื’ืขื ืข ื˜ืึทืกืงืก. ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš ื’ื™ื˜ ืึทืคึผื™ืก ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ืคืึทื ื’ืงืฉืึทื ื– (CreateFunction, UpdateFunctionCode) ืื•ืŸ ืงืึธื ื˜ืจืึธืœืก ื•ื•ื™ ืœืึทืžื‘ื“ืึท ืงืึทืžื™ื•ื ืึทืงื™ื™ืฅ ืžื™ื˜ ืื ื“ืขืจืข AWS ื‘ืึทื“ื™ื ื•ื ื’ืก. ื“ื™ ื“ืึทื˜ืŸ ืคืœืึทืš ืงืึธื ื˜ืจืึธืœ ื“ื™ Invoke API, ื•ื•ืึธืก ืœื•ื™ืคื˜ ืœืึทืžื‘ื“ืึท ืคืึทื ื’ืงืฉืึทื ื–. ื ืึธืš ืึท ืคื•ื ืงืฆื™ืข ืื™ื– ื’ืขืจื•ืคืŸ, ื“ื™ ืงืึธื ื˜ืจืึธืœ ืคืœืึทืš ืึทืœืึทืงื™ื™ืฅ ืึธื“ืขืจ ืกืึทืœืขืงืฅ ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ืจื•ื ื˜ื™ืžืข ืกื•ื•ื™ื•ื•ืข ื•ื•ืึธืก ืื™ื– ืคืึทืจ-ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ื“ื™ ืคึฟื•ื ืงืฆื™ืข, ืื•ืŸ ื“ืขืžืึธืœื˜ ืขืงืกืึทืงื™ื•ืฅ ื“ื™ ืงืึธื“ ืื™ืŸ ืขืก.

AWS Lambda ืฉื˜ื™ืฆื˜ ืคืึทืจืฉื™ื“ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2 ืื•ืŸ ืื ื“ืขืจืข, ื“ื•ืจืš ื–ื™ื™ืขืจ ืจื™ืกืคึผืขืงื˜ื™ื•ื• ืจื•ื ื˜ื™ืžืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ. AWS ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื–ื™ื™ ืงืขืกื™ื™ื“ืขืจ, ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฅ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคึผืึทื˜ืฉืึทื– ืื•ืŸ ื“ื•ืจื›ืคื™ืจืŸ ืื ื“ืขืจืข ื•ื™ืฉืึทืœื˜ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ ืื•ื™ืฃ ื“ื™ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ. Lambda ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ ืื ื“ืขืจืข ืฉืคึผืจืึทื›ืŸ, ืื•ื™ื‘ ืื™ืจ ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ืฆื•ื ืขืžืขืŸ ืจื•ื ื˜ื™ืžืข ื–ื™ืš. ืื•ืŸ ื“ืขืžืึธืœื˜ ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ื ืขืžืขืŸ ืงืขื™ืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ื•ื™ืฉืึทืœื˜, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ื–ื™ื™ึทืŸ ื–ื™ื›ืขืจืงื™ื™ึทื˜.

ื•ื•ื™ ื˜ื•ื˜ ื“ืึธืก ืึทืœืข ืึทืจื‘ืขื˜ ืื•ืŸ ื•ื•ื™ ื•ื•ืขื˜ ื“ื™ ืกืขืจื•ื•ื™ืก ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ื™ืŸ ืคืึทื ื’ืงืฉืึทื ื–?

ื™ืขื“ืขืจ ืคึฟื•ื ืงืฆื™ืข ืœื•ื™ืคื˜ ืื™ืŸ ืื™ื™ืŸ ืึธื“ืขืจ ืžืขืจ ื“ืขื“ืึทืงื™ื™ื˜ืึทื“ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ, ื•ื•ืึธืก ืขืงืกื™ืกื˜ื™ืจืŸ ื‘ืœื•ื™ื– ืคึฟืึทืจ ื“ื™ ืœืขื‘ืŸ ืคื•ืŸ ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืื•ืŸ ื–ืขื ืขืŸ ื“ืขืžืึธืœื˜ ื—ืจื•ื‘ึฟ. ื™ืขื“ืขืจ ืกื•ื•ื™ื•ื•ืข ืžืื›ื˜ ื‘ืœื•ื™ื– ืื™ื™ืŸ ืจื•ืคืŸ ืื™ืŸ ืึท ืฆื™ื™ึทื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ืจื™ื•ื–ื“ ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืคืœ ืกื™ืจื™ืึทืœ ืจื•ืคื˜ ืฆื• ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคึฟื•ื ืงืฆื™ืข. ื›ืœ ืจื•ื ื˜ื™ืžืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืœื•ื™ืคืŸ ืื•ื™ืฃ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืžื™ื˜ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ - ืึทื–ื•ื™ ื’ืขืจื•ืคืขื ืข ืžื™ืงืจืึธื•ื•ื. ื™ืขื“ืขืจ ืžื™ืงืจืึธื•ื•ื ืื™ื– ืึทืกื™ื™ื ื“ ืฆื• ืึท ืกืคึผืขืฆื™ืคื™ืฉ AWS ื—ืฉื‘ื•ืŸ ืื•ืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื™ื•ื–ื“ ื“ื•ืจืš ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ ื“ืขื ื—ืฉื‘ื•ืŸ. ืžื™ืงืจืึธื•ื•ืžื•ืช ื–ืขื ืขืŸ ืคึผืึทืงื™ื“ื–ืฉื“ ืื™ืŸ ื‘ื ื™ืŸ ื‘ืœืึทืงืก ืคื•ืŸ ื“ื™ ืœืึทืžื‘ื“ืึท ื•ื•ืึธืจืงืขืจ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคึผืœืึทื˜ืคืึธืจืžืข, ื•ื•ืึธืก ืื™ื– ืึธื•ื ื“ ืื•ืŸ ืึทืคึผืขืจื™ื™ื˜ืึทื“ ื“ื•ืจืš AWS. ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืจื•ื ื˜ื™ืžืข ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื“ื•ืจืš ืคืึทืจืฉื™ื“ืขื ืข ืคืึทื ื’ืงืฉืึทื ื–, ืื•ืŸ ืžื™ืงืจืึธื•ื•ื ืื™ื– ื ื™ื˜ ื™ื™ื ืฆื™ืง ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข AWS ืึทืงืึทื•ื ืฅ.

ื“ื™ื˜ื™ื™ืœื“ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ AWS Lambda

AWS Lambda Isolation Model

ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืคื•ืŸ ืจื•ื ื˜ื™ืžืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื ื™ืฆืŸ ืขื˜ืœืขื›ืข ืžืขืงืึทื ื™ื–ืึทืžื–. ืื™ืŸ ื“ืขืจ ืฉืคึผื™ืฅ ืžื“ืจื’ื” ืคื•ืŸ ื™ืขื“ืขืจ ืกื•ื•ื™ื•ื•ืข ืขืก ื–ืขื ืขืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืงืืคื™ืขืก ืคื•ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ:

  • ืคึฟื•ื ืงืฆื™ืข ืงืึธื“
  • ืงื™ื™ืŸ ืœืึทืžื‘ื“ืึท ืœื™ื™ึทืขืจืก ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืคึฟืึทืจ ื“ื™ ืคึฟื•ื ืงืฆื™ืข
  • ืคื•ื ืงืฆื™ืข ื“ื•ืจื›ืคื™ืจื•ื ื’ ืกื•ื•ื™ื•ื•ืข
  • ืžื™ื ื™ืžืึทืœ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึทืžืึทื–ืึธืŸ ืœื™ื ื•ืงืก

ื“ื™ ืคืืœื’ืขื ื“ืข ืžืขืงืึทื ื™ื–ืึทืžื– ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืฆื• ื™ื–ืึธืœื™ืจืŸ ืคืึทืจืฉื™ื“ืขื ืข ื“ื•ืจื›ืคื™ืจื•ื ื’ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ:

  • cgroups - ื‘ืึทื’ืจืขื ืขืฆืŸ ืึทืงืกืขืก ืฆื• ืงืคึผื•, ื–ื›ึผืจื•ืŸ, ืกื˜ืึธืจื™ื“ื–ืฉ ืื•ืŸ ื ืขืฅ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ื™ืขื“ืขืจ ืจื•ื ื˜ื™ืžืข ืกื•ื•ื™ื•ื•ืข;
  • ื ืึทืžืขืกืคึผืึทืกืขืก - ื’ืจื•ืคึผื™ื ื’ ืคึผืจืึธืฆืขืก ื™ื“ืก, ื‘ืึทื ื™ืฆืขืจ ื™ื“ืก, ื ืขืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืื•ืŸ ืื ื“ืขืจืข ืจืขืกื•ืจืกืŸ ื’ืขืจืื˜ืŸ ื“ื•ืจืš ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ. ื™ืขื“ืขืจ ืจื•ื ื˜ื™ืžืข ืœื•ื™ืคื˜ ืื™ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื ืึธืžืขืŸ;
  • seccomp-bpf - ืจื™ืกื˜ืจื™ืงืฅ ื“ื™ ืกื™ืกื˜ืขื ืจื•ืคื˜ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ื“ื™ ืจื•ื ื˜ื™ืžืข;
  • iptables ืื•ืŸ ืจื•ื˜ื™ื ื’ ื˜ื™ืฉืŸ - ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืคื•ืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ;
  • chroot - ื’ื™ื˜ ืœื™ืžื™ื˜ืขื“ ืึทืงืกืขืก ืฆื• ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื˜ืขืงืข ืกื™ืกื˜ืขื.

ืงืึทืžื‘ื™ื™ื ื“ ืžื™ื˜ AWS ืคึผืจืึทืคึผืจื™ื™ืึทื˜ืขืจื™ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื–, ื“ื™ ืžืขืงืึทื ื™ื–ืึทืžื– ืขื ืฉื•ืจ ืคืึทืจืœืึธื–ืœืขืš ืจื•ื ื˜ื™ืžืข ืฆืขืฉื™ื™ื“ื•ื ื’. ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืื™ืŸ ื“ืขื ื•ื•ืขื’ ืงืขื ืขืŸ ื ื™ืฉื˜ ืึทืงืกืขืก ืึธื“ืขืจ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ืื ื“ืขืจืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ.

ื›ืึธื˜ืฉ ืงื™ื™ืคืœ ืจื•ื ื˜ื™ืžืขืก ืคื•ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ AWS ื—ืฉื‘ื•ืŸ ืงืขื ืขืŸ ืœื•ื™ืคืŸ ืื•ื™ืฃ ืึท ืื™ื™ืŸ ืžื™ืงืจืึธื•ื•ื, ืื•ื ื˜ืขืจ ืงื™ื™ืŸ ืฆื•ืฉื˜ืื ื“ืŸ ืงืขื ืขืŸ ืžื™ืงืจืึธื•ื•ืžื•ืช ื–ื™ื™ืŸ ืฉืขืจื“ ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข AWS ืึทืงืึทื•ื ืฅ. AWS Lambda ื ื™ืฆื˜ ื‘ืœื•ื™ื– ืฆื•ื•ื™ื™ ืžืขืงืึทื ื™ื–ืึทืžื– ืฆื• ื™ื–ืึธืœื™ืจืŸ ืžื™ืงืจืึธื•ื•ื: EC2 ื™ื ืกื˜ืึทื ืกื™ื– ืื•ืŸ Firecracker. ื’ืึทืกื˜ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืื™ืŸ ืœืึทืžื‘ื“ืึท ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ EC2 ื™ื ืกื˜ืึทื ืกื™ื– ืื™ื– ื’ืขื•ื•ืขืŸ ืึทืจื•ื ื–ื™ื ื˜ 2015. Firecracker ืื™ื– ืึท ื ื™ื™ึทืข ืึธืคึฟืŸ ืžืงื•ืจ ื”ื™ืคึผืขืจื•ื•ื™ื™ื–ืขืจ ืกืคึผืึทืกื™ืคื™ืงืœื™ ื“ื™ื–ื™ื™ื ื“ ื“ื•ืจืš AWS ืคึฟืึทืจ ืกืขืจื•ื•ืขืจืœืขืกืก ื•ื•ืขืจืงืœืึธื•ื“ื– ืื•ืŸ ื‘ืึทืงืขื ืขื  ืื™ืŸ 2018. ื“ื™ ื’ืฉืžื™ื•ืช ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคืœื™ืกื ื“ื™ืง ืžื™ืงืจืึธื•ื•ื ืื™ื– ืฉืขืจื“ ืฆื•ื•ื™ืฉืŸ ื•ื•ืขืจืงืœืึธื•ื“ื– ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข ืึทืงืึทื•ื ืฅ.

ืฉืคึผืึธืจืŸ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืื•ืŸ ืคึผืจืึธืฆืขืก ืฉื˜ืึทื˜ืŸ

ื›ืึธื˜ืฉ ืœืึทืžื‘ื“ืึท ืจื•ื ื˜ื™ืžืข ืื™ื– ื™ื™ื ืฆื™ืง ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืคืึทื ื’ืงืฉืึทื ื–, ื–ื™ื™ ืงืขื ืขืŸ ืจื™ืคึผื™ื˜ื™ื“ืœื™ ืจื•ืคืŸ ื“ื™ ื–ืขืœื‘ืข ืคึฟื•ื ืงืฆื™ืข, ื˜ื™ื™ึทื˜ืฉ ื“ื™ ืจื•ื ื˜ื™ืžืข ืงืขื ืขืŸ ื‘ืœื™ื™ึทื‘ื  ืœืขื‘ืŸ ืขื˜ืœืขื›ืข ืฉืขื” ืื™ื™ื“ืขืจ ื–ื™ื™ ื•ื•ืขืจืŸ ื—ืจื•ื‘ึฟ.

ื™ืขื“ืขืจ ืœืึทืžื‘ื“ืึท ืจื•ื ื˜ื™ืžืข ืื•ื™ืš ื”ืื˜ ืึท ืจื™ื™ื˜ืึทื‘ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ืฆื•ื˜ืจื™ื˜ืœืขืš ื“ื•ืจืš ื“ื™ / tmp ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ื“ืขืจ ืื™ื ื”ืึทืœื˜ ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืึทืงืกืขืกื˜ ืคึฟื•ืŸ ืื ื“ืขืจืข ืจื•ื ื˜ื™ืžื–. ื•ื•ื™ ื•ื•ื™ื™ึทื˜ ื•ื•ื™ ืคึผืขืจืกื™ืกื˜ืึทื ืก ืคื•ืŸ ืคึผืจืึธืฆืขืก ืฉื˜ืึทื˜, ื˜ืขืงืขืก ื’ืขืฉืจื™ื‘ืŸ ืฆื• / ื˜ืžืคึผ ืขืงืกื™ืกื˜ื™ืจืŸ ืคึฟืึทืจ ื“ื™ ื’ืื ืฆืข ืœืขื‘ืŸ ืฆื™ืงืœ ืคื•ืŸ ื“ื™ ืจื•ื ื˜ื™ืžืข ืกื•ื•ื™ื•ื•ืข. ื“ืึธืก ืึทืœืึทื•ื– ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ืงื™ื™ืคืœ ืงืึทืœืœืก ืฆื• ื–ื™ื™ืŸ ืึทืงื™ื•ืžื™ืึทืœื™ื™ื˜ื™ื“, ื•ื•ืึธืก ืื™ื– ืกืคึผืขืฆื™ืขืœ ื ื•ืฆื™ืง ืคึฟืึทืจ ื˜ื™ื™ึทืขืจ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืึทื–ืึท ื•ื•ื™ ืœืึธื•ื“ื™ื ื’ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืึธื“ืขืœืก.

ืจื•ืคืŸ ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ

ื“ื™ Invoke API ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืฆื•ื•ื™ื™ ืžืึธื“ืขืก: ื’ืขืฉืขืขื ื™ืฉ ืžืึธื“ืข ืื•ืŸ ื‘ืขื˜ืŸ-ืขื ื˜ืคืขืจ ืžืึธื“ืข. ืื™ืŸ ื’ืขืฉืขืขื ื™ืฉ ืžืึธื“ืข, ื“ื™ ืจื•ืคืŸ ืื™ื– ืžื•ืกื™ืฃ ืฆื• ืึท ืจื™ื™ ืคึฟืึทืจ ืฉืคึผืขื˜ืขืจ ื“ื•ืจื›ืคื™ืจื•ื ื’. ืื™ืŸ ื‘ืขื˜ืŸ-ืขื ื˜ืคืขืจ ืžืึธื“ืข, ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืื™ื– ื’ืขืจื•ืคึฟืŸ ื˜ื™ื™ืงืขืฃ ืžื™ื˜ ื“ื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืคึผื™ื™ืœืึธื•ื“, ื ืึธืš ื•ื•ืึธืก ื“ืขืจ ืขื ื˜ืคืขืจ ืื™ื– ืื•ืžื’ืขืงืขืจื˜. ืื™ืŸ ื‘ื™ื™ื“ืข ืงืึทืกืขืก, ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืœื•ื™ืคื˜ ืื™ืŸ ืึท ืœืึทืžื‘ื“ืึท ืกื•ื•ื™ื•ื•ืข, ืึธื‘ืขืจ ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ืคึผื™ื™ืœืึธื•ื“ ืคึผืึทื˜ืก.

ื‘ืขืฉืึทืก ื‘ืขื˜ืŸ-ืขื ื˜ืคืขืจ ืงืึทืœืœืก, ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ืคืœืึธื•ื– ืคื•ืŸ ืึท ื‘ืงืฉื” ืคึผืจืึทืกืขืกื™ื ื’ ืึทืคึผื™ (ืึทืคึผื™ ืงืึทืœืœืขืจ), ืึทื–ืึท ื•ื•ื™ AWS API Gateway ืึธื“ืขืจ AWS SDK, ืฆื• ื“ื™ ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจ, ืื•ืŸ ื“ืขืจื ืึธืš ืฆื• ื“ื™ ืœืึทืžื‘ื“ืึท ืจื•ืคืŸ ืกืขืจื•ื•ื™ืก (ื™ื ื•ื•ืึธืงืข ืกืขืจื•ื•ื™ืก). ื“ืขืจ ื™ืขื ืขืจ ื‘ืึทืฉื˜ื™ืžื˜ ื“ื™ ืฆื•ื ืขืžืขืŸ ืกื•ื•ื™ื•ื•ืข ืคึฟืึทืจ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืื•ืŸ ืคึผืึทืกื™ื– ื“ื™ ืคึผื™ื™ืœืึธื•ื“ ื“ืึธืจื˜ ืฆื• ืคืึทืจืขื ื“ื™ืงืŸ ื“ืขื ืจื•ืคืŸ. ื“ื™ ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจ ื ืขืžื˜ TLS-ืคึผืจืึธื˜ืขืงื˜ืขื“ ืคืึทืจืงืขืจ ืื™ื‘ืขืจ ื“ื™ ืื™ื ื˜ืขืจื ืขื˜. ืคืึทืจืงืขืจ ืื™ืŸ ื“ื™ ืœืึทืžื‘ื“ืึท ื“ื™ื ืกื˜ - ื ืึธืš ื“ื™ ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจ - ื’ื™ื™ื˜ ื“ื•ืจืš ืึทืŸ ื™ื ืขืจืœืขืš ื•ื•ืคึผืง ืื™ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ AWS ื’ืขื’ื ื˜.

ื“ื™ื˜ื™ื™ืœื“ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ AWS Lambda

AWS Lambda Call ืคึผืจืึทืกืขืกื™ื ื’ ืžืึธื“ืขืœ: ื‘ืขื˜ืŸ-ืขื ื˜ืคืขืจ ืžืึธื“ืข

ื’ืขืฉืขืขื ื™ืฉ ืงืึทืœืœืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืžืื›ื˜ ื’ืœื™ื™ืš ืึธื“ืขืจ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ืึท ืจื™ื™. ืื™ืŸ ืขื˜ืœืขื›ืข ืงืึทืกืขืก, ื“ื™ ืจื™ื™ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืžื™ื˜ Amazon SQS (Amazon Simple Queue Service), ื•ื•ืึธืก ืคึผืึทืกื™ื– ืงืึทืœืœืก ืฆื• ื“ื™ ืœืึทืžื‘ื“ืึท ืจื•ืคืŸ ืžืงื™ื™ื ื“ื™ื ืกื˜ ื“ื•ืจืš ืึทืŸ ื™ื ืขืจืœืขืš ืคึผืึธืœืขืจ ืคึผืจืึธืฆืขืก. ื“ื™ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืคืึทืจืงืขืจ ืื™ื– ืคึผืจืึธื˜ืขืงื˜ืขื“ ื“ื•ืจืš TLS, ืื•ืŸ ืขืก ืื™ื– ืงื™ื™ืŸ ื ืึธืš ืขื ืงืจื™ืคึผืฉืึทืŸ ืคื•ืŸ ื“ืึทื˜ืŸ ืกื˜ืึธืจื“ ืื™ืŸ Amazon SQS.

ื’ืขืฉืขืขื ื™ืฉ ืงืึทืœืœืก ื˜ืึธืŸ ื ื™ื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืจืขืกืคึผืึธื ืกืขืก - ื“ืขืจ ืœืึทืžื‘ื“ืึท ื•ื•ืึธืจืงืขืจ ืคืฉื•ื˜ ืื™ื’ื ืึธืจื™ืจื˜ ืงื™ื™ืŸ ืขื ื˜ืคืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ื’ืขืฉืขืขื ื™ืฉ-ื‘ืื–ื™ืจื˜ ืงืึทืœืœืก ืคึฟื•ืŸ Amazon S3, Amazon SNS, CloudWatch ืื•ืŸ ืื ื“ืขืจืข ืงื•ื•ืืœืŸ ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ื“ื•ืจืš Lambda ืื™ืŸ ื’ืขืฉืขืขื ื™ืฉ ืžืึธื“ืข. ืงืึทืœืœืก ืคึฟื•ืŸ Amazon Kinesis ืื•ืŸ DynamoDB ืกื˜ืจื™ืžื–, SQS ืงื™ื•ื–, ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืœืึธื•ื“ ื‘ืึทืœืึทื ืกืขืจ ืื•ืŸ API Gateway ืงืึทืœืœืก ื–ืขื ืขืŸ ืคึผืจืึทืกืขืกื˜ ืื™ืŸ ืึท ื‘ืงืฉื”-ืขื ื˜ืคืขืจ ืžืึธื“ืข.

ืžืึธื ื™ื˜ืึธืจื™ื ื’

ืื™ืจ ืงืขื ืขืŸ ืžืึธื ื™ื˜ืึธืจ ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ Lambda ืคืึทื ื’ืงืฉืึทื ื– ื ื™ืฆืŸ ืึท ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ AWS ืžืขืงืึทื ื™ื–ืึทืžื– ืื•ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข.

Amazon CloudWatch
ืงืึทืœืขืงืฅ ืคืึทืจืฉื™ื“ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืึทื–ืึท ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก, ื“ื™ ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก, ืื•ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก ืึทื– ื ื™ื˜ ืึทื ื“ืขืจืฉ.

Amazon CloudTrail
ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืœืึธืฅ, ืงืึทื ื˜ื™ื ื™ื•ืึทืกืœื™ ืžืึธื ื™ื˜ืึธืจ ืื•ืŸ ื˜ื™ื™ึทื ืขืŸ ื—ืฉื‘ื•ืŸ ื˜ืขื˜ื™ืงื™ื™ื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ื™ืŸ AWS ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ. ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืึท ื’ืึทื ืฅ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ืึทืงืฉืึทื ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืžื™ื˜ ื“ื™ AWS ืžืึทื ืึทื’ืขืžืขื ื˜ ืงืึทื ืกืึธื•ืœ, AWS SDK, ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื” ืžื›ืฉื™ืจื™ื ืื•ืŸ ืื ื“ืขืจืข AWS ื‘ืึทื“ื™ื ื•ื ื’ืก.

AWS X-Ray
ืคึผืจืึธื•ื•ื™ื“ืขืก ื’ืึทื ืฅ ื•ื•ื™ื–ืึทื‘ื™ืœื™ื˜ื™ ืื™ืŸ ืึทืœืข ืกื˜ืึทื’ืขืก ืคื•ืŸ ื‘ืขื˜ืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืื™ืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ืžืึทืคึผืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™ึทืŸ ื™ื ืขืจืœืขืš ืงืึทืžืคึผืึธื•ื ืึทื ืฅ. ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื‘ืขืฉืึทืก ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ืŸ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ.

AWS ืงืึธื ืคื™ื’
ืื™ืจ ื•ื•ืขื˜ ืงืขื ืขืŸ ืฆื• ืฉืคึผื•ืจ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• Lambda ืคื•ื ืงืฆื™ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ืœื™ืฉืึทืŸ) ืื•ืŸ ืจื•ื ื˜ื™ืžืขืก, ื˜ืึทื’ืก, ื”ืึทื ื“ืœืขืจ ื ืขืžืขืŸ, ืงืึธื“ ื’ืจื™ื™ืก, ื–ื™ืงืึธืจืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ, ื˜ื™ื™ืžืึทื•ื˜ ืกืขื˜ื˜ื™ื ื’ืก ืื•ืŸ ืงืึทื ืงืขืจืึทื ืกื™ ืกืขื˜ื˜ื™ื ื’ืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ Lambda IAM ื“ื•ืจื›ืคื™ืจื•ื ื’ ืจืึธืœืข, ืกื•ื‘ื ืขื˜ื˜ื™ื ื’ ืื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ื’ืจื•ืคึผืข ื‘ื™ื™ื ื“ื™ื ื’ื– .

ืกืึธืฃ

AWS Lambda ืึธืคืคืขืจืก ืึท ืฉื˜ืึทืจืง ื’ืึทื ื’ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื‘ื ื™ืŸ ื–ื™ื›ืขืจ ืื•ืŸ ืกืงืึทืœืึทื‘ืœืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืคื™ืœืข ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ื”ืขืกืงืขื ืคึผืจืึทืงื˜ื™ืกื™ื– ืื™ืŸ AWS Lambda ื–ืขื ืขืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ืื™ืŸ ืื ื“ืขืจืข AWS ื‘ืึทื“ื™ื ื•ื ื’ืก, ื›ืึธื˜ืฉ ืขืก ื–ืขื ืขืŸ ืื•ื™ืกื ืขืžืขืŸ. ื–ื™ื ื˜ ืžืขืจืฅ 2019, ืœืึทืžื‘ื“ืึท ืื™ื– ื’ืขื”ืึธืจื›ื™ืง ืžื™ื˜ SOC 1, SOC 2, SOC 3, PCI DSS, Health Insurance Portability and Accountability Act (HIPAA) ื”ืขืกืงืขื ืื•ืŸ ืื ื“ืขืจืข ืจืขื’ื™ืึทืœื™ื™ืฉืึทื ื–. ืึทื–ื•ื™, ื•ื•ืขืŸ ืื™ืจ ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื“ื™ื™ืŸ ื•ื•ื™ื™ึทื˜ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ AWS Lambda ื“ื™ื ืกื˜ - ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื“ืขืจ ื‘ืขืกื˜ืขืจ ืคึผืึทืกื™ืง ืคึฟืึทืจ ื“ื™ื™ืŸ ืึทืจื‘ืขื˜.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’