FrontEnd

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์ด๋ž€? - ์„œ๋ฒ„๋ฆฌ์Šค ๊ฐœ๋…๊ณผ AWS Lambda(๋žŒ๋‹ค) ์„œ๋น„์Šค ์•Œ์•„๋ณด๊ธฐ

๊น€ํ‰๋ฒ”๋‹˜ 2022. 7. 3. 14:55
๋ฐ˜์‘ํ˜•

AWS ๋žŒ๋‹ค ์„œ๋ฒ„๋ฆฌ์Šค ๊ตฌ์„ฑ ์žฅ์  ๋‹จ์ 

๐Ÿค”์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…(Serverless computing)์ด๋ž€?

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์ด๋ž€ ๋ณดํ†ต ํด๋ผ์šฐ๋“œ ๋ชจ๋ธ ์ค‘ํ•˜๋‚˜์ด๋‹ค.

๋‹จ์–ด ์ž์ฒด๋กœ๋Š” ์„œ๋ฒ„๋ฆฌ์Šค์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์„œ๋ฒ„๋Š” ์กด์žฌํ•˜๋‚˜

์„œ๋ฒ„์— ๊ด€๋ จ๋œ ๋ถ€๋ถ„์„ ํฌ๊ฒŒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋ผ๋Š” ์˜๋ฏธ๋กœ ์„œ๋ฒ„๋ฆฌ์Šค๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํ”Œ๋žซํผ์— ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์— 

์†Œ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜๋ฉด ๋ฐ”๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

 

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์„ ์ด์šฉํ•˜๋ฉด ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•  ํ•„์š”๋„ ์—†์œผ๋ฉฐ,

๋ฐฐํฌ ํ›„์— user ์ˆ˜์— ๋”ฐ๋ฅธ ์Šค์ผ€์ผ๋ง์ด๋ผ๋˜์ง€ ํ”„๋กœ๋น„์ €๋‹๋„ ์ž๋™์œผ๋กœ ์ œ๊ณต๋˜์–ด

์†Œ์Šค ์™ธ ์„œ๋ฒ„์— ๊ด€๋ จ๋œ ๋ถ€๋ถ„์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด ์žฅ์ ์ด๋‹ค.

 

 

โœจAWS Lambda

AWS Lambda

์•„๋งˆ์กด ๋žŒ๋‹ค๋Š” ์•„๋งˆ์กด ์›น์„œ๋น„์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ํด๋ผ์šฐํŒ… ์„œ๋น„์Šค์ด๋‹ค.

์•„๋งˆ์กด ๋žŒ๋‹ค๋Š” ์„œ๋ฒ„๋ฅผ ํ”„๋กœ๋น„์ €๋‹ ๋˜๋Š” ๊ด€๋ฆฌํ•˜์ง€ ์•Š์•„๋„

๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”

์ด๋ฒคํŠธ ์ค‘์‹ฌ์˜ ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํ„ฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

AWS Lambda ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜

AWS ๋žŒ๋‹ค ๋กœ ์›น์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑํ•˜๊ธฐ

์ผ๋‹จ Amazon S3์— ํ”„๋ŸฐํŠธ ์•ค๋“œ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ ค์„œ ๋ฐฐํฌ๋ฅผ ํ•œ ์ดํ›„

user๊ฐ€ ํ•ด๋‹น ์‚ฌ์ดํŠธ์— ๋“ค์–ด์™€์„œ ํŠน์ • function์„ ํ˜ธ์ถœํ•˜๋ฉด

Amazon API Gateway์—์„œ Lambda์— ์˜ฌ๋ผ๊ฐ„ Backend Function Code๊ฐ€ ์‹คํ–‰๋˜์–ด

๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์„œ User์—๊ฒŒ Return ๊ฐ’์œผ๋กœ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ตฌ์กฐ๊ฐ€ ๋œ๋‹ค.

 


 

AWS Lambda์˜ ์žฅ์ 

1๏ธโƒฃ์ž๋™ํ™” ๊ด€๋ฆฌ 

AWS Lambda๋ฅผ ํ™œ์šฉํ•  ๊ฒฝ์šฐ ์ธํ”„๋ผ ๊ด€๋ฆฌ๋Š” AWS Lambda์—์„œ ์ž๋™์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.

OS ์—…๋ฐ์ดํŠธ ์‹ ๊ทœ ํŒจํ‚ค์ง€ ๋“ฑ ๋„ ์•Œ์•„์„œ Lambda๊ฐ€ ์•Œ์•„์„œ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉฐ,

์„œ๋ฒ„์— User๊ฐ€ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ ์„œ๋ฒ„ ๊ทœ๋ชจ ์กฐ์ • ๋“ฑ๋„ Lambda๊ฐ€ ๋‹ค ์•Œ์•„์„œ ํ•ด์ค€๋‹ค.

์œ ์ง€๋ณด์ˆ˜, ๋ณด์™„, ๋ชจ๋‹ˆํ„ฐ๋ง ์€ Lambda๊ฐ€ ๋‹ค ์•Œ์•„์„œ ํ•ด์ฃผ๋Š” ๊ตฌ์กฐ์ด๋ฏ€๋กœ

backend ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ ์ž‘์„ฑ์—๋งŒ ์ง‘์ค‘ํ•˜๋ฉด ๋œ๋‹ค.

 

2๏ธโƒฃ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ์ง€๋ถˆ

Lambda๊ฐ€ ์ €๋ ดํ•œ ์ด์œ ๋Š” ๋ฐ”๋กœ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.

๋ณดํ†ต ๊ฐ€์ƒ๋จธ์‹ ์— ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ๊ฐ€์ƒ ๋จธ์‹ ์ด ๋„๋Š” 24์‹œ๊ฐ„ ์•„๋ฌด ํ˜ธ์ถœ์ด ์—†์–ด๋„ ์šฐ๋ฆฌ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ์ƒ์„ฑํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค ํ•˜๋‚˜๋กœ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ Lambda์˜ ๊ฒฝ์šฐ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งŒ ๋น„์šฉ์ด ๋ฐœ์ƒ๋˜์–ด

์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์ด ์ ‘์†ํ•˜์ง€ ์•Š๋Š” ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ Lambda๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 


AWS Lambda์˜ ๋‹จ์ 

1๏ธโƒฃ์šฉ๋Ÿ‰ ์ œํ•œ

๋ฐฐํฌ ํŒจํ‚ค์ง• ์šฉ๋Ÿ‰์ œํ•œ

Lambda๋Š” ์ž‘์€ ๋‹จ์œ„์˜ ํ•จ์ˆ˜๋ฅผ ๋‚˜๋ˆ ์„œ ์—…๋กœ๋“œ๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ์ œํ•œ์ด ์žˆ๋‹ค.

๋žŒ๋‹ค์— ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฐํฌ ํŒจํ‚ค์ง€๋Š” 250MB ์ œํ•œ์ด ์žˆ๋‹ค.

 

๋ณดํ†ต ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” Nuxt ๋ฐฐํฌ ํŒจํ‚ค์ง€๋„ ๋žŒ๋‹ค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ฐฐํฌ ํŒจํ‚ค์ง€ ์šฉ๋Ÿ‰ ์ œํ•œ์ด ์žˆ์–ด์„œ

๋Œ€๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜๋ฉด ์šฉ๋Ÿ‰์ œํ•œ์ด ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.

 

2๏ธโƒฃ์ฝœ๋“œ ์Šคํƒ€ํŠธ(Cold Start) ์ด์Šˆ

์ฝœ๋“œ ์Šคํƒ€ํŠธ๋Š” ๋žŒ๋‹ค๊ฐ€ ์˜ค๋žซ๋™์•ˆ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋‹ค๊ฐ€ ์˜ค๋žœ๋งŒ์— ํ˜ธ์ถœ๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋”œ๋ ˆ์ด๋ฅผ ๋งํ•œ๋‹ค.

๋žŒ๋‹ค๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ํ˜ธ์ถœ๋  ๋•Œ ์‹คํ–‰์ด ๋˜๋Š” ๊ตฌ์กฐ๋ผ

์˜ค๋žซ๋™์•ˆ ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ํ˜ธ์ถœ์ด ๋˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

3๏ธโƒฃ๋žŒ๋‹ค ๋™์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ์ œํ•œ

๋žŒ๋‹ค ๋™์‹œ์‹คํ–‰ ์ œํ•œ

๋žŒ๋‹ค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 1000๊ฐœ์˜ ํ•จ์ˆ˜๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ๋˜์—ˆ๋‹ค.

์„œ๋น„์Šค๊ฐ€ ์ปค์ง€๊ฒŒ ๋œ๋‹ค๊ณ  ํ•˜๋ฉด ๊ธฐ๋ณธ ํ• ๋‹น๋Ÿ‰์„ ๋„˜์–ด์„œ ์„œ๋น„์Šค ๋™์‹œ ์‹คํ–‰ ์ˆ˜๋ฅผ ์ฆ๊ฐ€ํ•ด์„œ ์‚ฌ์šฉ์„ ํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•