[AWS] Lambda: ์‹œ์ž‘

๋žŒ๋‹ค๋Š” ํ•จ์ˆ˜ ๋‹จ์œ„๋กœ ๋™์ž‘ํ•˜๋Š” ๋…ํŠนํ•˜๋ฉด์„œ๋„ ํšจ์œจ์ ์ธ ํด๋ผ์šฐ๋“œ Faas ์„œ๋น„์Šค๋‹ค.
์„œ๋ฒ„๋ฆฌ์Šค ๊ตฌ์กฐ์˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์š”๊ธˆ ๊ด€๋ฆฌ๊ฐ€ ์œ ์—ฐํ•˜๊ณ  ๊ดœ์ฐฎ์€ ํŽธ์ด๋‹ค.
ํƒ€ ํ”Œ๋žซํผ์˜ ๊ตฌ๊ธ€ Functions, Azure Functions์™€ ๋™๋“ฑํ•˜๋‹ค.

๋จผ์ € ์จ๋ณด์ž.
์„œ๋น„์Šค-์ปดํ“จํŒ… ํ•ญ๋ชฉ์— ๋ณด๋ฉด ๋žŒ๋‹ค ํ•ญ๋ชฉ์ด ์žˆ๋‹ค.

๋ˆŒ๋Ÿฌ์ฃผ๋ฉด

์ด๋ ‡๊ฒŒ ํŽ˜์ด์ง€๊ฐ€ ๋œฐ ๊ฒƒ์ด๋‹ค.

๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ์šฉ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด๋ณด์ž.

์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ ํ•จ์ˆ˜ ์ƒ์„ฑ์„ ๋ˆ„๋ฅด๊ณ 

์ƒˆ๋กœ ์ž‘์„ฑ์„ ์„ ํƒ. ํ•จ์ˆ˜์˜ ์ด๋ฆ„๊ณผ ํ•จ์ˆ˜๊ฐ€ ๋™์ž‘ํ•  ๋Ÿฐํƒ€์ž„์„ ๊ณจ๋ผ์ฃผ๋ฉด ๋œ๋‹ค.

ํ•จ์ˆ˜์˜ ๋Ÿฐํƒ€์ž„์œผ๋ก  ๋‹ท๋„ท์ฝ”์–ด, Go, Node, ํŒŒ์ด์ฌ, ์ž๋ฐ”, ๋ฃจ๋น„ ๋“ฑ์˜ ๊ด€๋ฆฌ๋˜๋Š” ์–ธ์–ด๋“ค์ด ์ œ๊ณต๋œ๋‹ค.

๋‚˜๋Š” ์ผ๋‹จ ๊ธฐ๋ณธ์„ค์ •์ธ Node๋กœ ๊ฐ€๋ณด๊ฒ ๋‹ค.

์—ญํ• ๋„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘”์ฑ„ ์ƒ์„ฑํ•œ๋‹ค.

๋ช‡์ดˆ๊ฐ„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ํ•จ์ˆ˜๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฐ ๊ฒƒ์ด๋‹ค.

์ €๊ธฐ์„œ ์Šคํฌ๋กค์„ ์ข€ ๋‚ด๋ฆฌ๋ฉด ์ด๋Ÿฐ ์ฝ”๋“œ๊ฐ€ ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

'Hello from Lambda!' ํ…์ŠคํŠธ๋ฅผ JSON์œผ๋กœ ๊ฐ€๊ณตํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ์ž„์€ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ด๊ฑธ ํ•œ๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด์ž.
๋งจ ์œ„์— ๋ณด๋ฉด ํ…Œ์ŠคํŠธ ๋ฒ„ํŠผ์ด ์žˆ๋Š”๋ฐ, ์ €๊ฑธ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด

ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•  ์ด๋ฒคํŠธ๊ฐ’์„ ์“ฐ๊ฒŒ ํ•œ๋‹ค.

์ €๊ธฐ JSON ํ˜•ํƒœ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ์œ„ ํ•จ์ˆ˜์—์„œ์˜ event ์ธ์ž๋กœ ์ „๋‹ฌ๋œ๋‹ค.
์ด ๊ฒฝ์šฐ์—” event๋ฅผ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด ์—†์œผ๋‹ˆ ์‚ฌ์‹ค ๋น„์›Œ๋†”๋„ ๋œ๋‹ค.

์ƒ์„ฑํ•˜๊ณ , ๋‹ค์‹œ ํ…Œ์ŠคํŠธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์œ„์— ์ด๋ ‡๊ฒŒ ์„ฑ๊ณต์ด๋ผ๊ณ  ๋œจ๋Š”๋ฐ

์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํด๋ฆญํ•˜๋ฉด,

ํ•จ์ˆ˜๊ฐ€ event๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ  ๋ฐ˜ํ™˜ํ•œ ๋‚ด์šฉ๊ณผ ๊ธฐํƒ€ ์‚ฌํ•ญ๋“ค์„ ์ „๋ถ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทผ๋ฐ ๊ธฐ๋ณธ์ ์œผ๋กœ lambda์˜ ํ•จ์ˆ˜๋Š” AWS ๋‚ด๋ถ€์˜ ์„œ๋น„์Šค์—์„œ๋งŒ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๋ฌผ๋ก  HTTP๋กœ ํ•จ์ˆ˜๋ฅผ ๊ณต๊ฐœํ•ด์„œ ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์—ฐ๋™ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ์€ ํ•˜๋‹ค.
์ด์— ๋Œ€ํ•œ ๊ฒƒ์€ ์ดํ›„ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ค„๋ณด๊ฒ ๋‹ค.