serverless๋ž€?

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

Apr 28, 2024

๊ฐ•์˜๋ฏผ

#ETC

๋“ค์–ด๊ฐ€๋ฉฐ

์ตœ๊ทผ ์„œ๋ฒ„๋ฆฌ์Šค(serverless) ๊ด€๋ จํ•œ ์„œ๋น„์Šค๋‚˜ ํด๋ผ์šฐ๋“œ์— ๋Œ€ํ•ด์„œ ์ข…์ข… ํ™•์ธํ•˜๋˜์ค‘ ์„œ๋ฒ„๋ฆฌ์Šค์˜ ์ •ํ™•ํ•œ ๋œป์ด ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋ฉฐ ๋˜ ์„œ๋น„์Šค๋กœ๋Š” ์–ด๋–ค๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ๊ณต์œ  ๋“œ๋ฆฌ๋ ค ์ด๋ฒˆ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค(serverless)๋ž€?

์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์€ ์›น ๊ฐœ๋ฐœ์˜ ์ƒˆ๋กœ์šด ์ „๋ฌธ ์šฉ์–ด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ์‹ค์ œ๋กœ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๊ฐ€ ์ •๋ง๋กœ ์„œ๋ฒ„๊ฐ€ ์—†๋‹ค๋Š” ์˜๋ฏธ์ผ๊นŒ์š”โ€ฆ? ๊ทธ๋ ‡์ง„ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  โ€œ์„œ๋ฒ„๋ฆฌ์Šคโ€๋Š” ์„œ๋ฒ„๊ฐ€ ์ •๋ง ์—†๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋Œ€์‹  ์ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Œ์„ ์˜๋ฏธํ•˜๋Š”๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋Š” ์ธํ”„๋ผ, ํ™•์žฅ, ์œ ์ง€ ๊ด€๋ฆฌ ๋“ฑ์˜ ๋ชจ๋“  ํ•ต์‹ฌ์ ์ธ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์—๋งŒ ์ง‘์ค‘ ํ•˜์—ฌ๋„ ์›น์•ฑ ์ œ์ž‘ ๋“ฑ ์ž์‹ ์ด ๊ฐ€์žฅ ์ž˜ํ•˜๋Š” ์ผ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค(serverless) ์„œ๋น„์Šค

๋ช‡๋ช‡ ์œ ๋ช… ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋Š” ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๋ช‡๊ฐ€์ง€ ์„œ๋น„์Šค๋“ค์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  • AWS Lambda: ๋‹ค์–‘ํ•œ ํŠธ๋ฆฌ๊ฑฐ์— ์‘๋‹ตํ•˜์—ฌ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Amazon์˜ ์„œ๋ฒ„๋ฆฌ์Šค ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ ์ƒ์ ์ด ์žˆ๊ณ  ๋ˆ„๊ตฐ๊ฐ€ ๊ตฌ๋งคํ•  ๋•Œ๋งˆ๋‹ค ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด ์ด๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋„๋ก Lambda ํ•จ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šคํ† ๋ฆฌ์ง€์šฉ S3, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ DynamoDB์™€ ๊ฐ™์€ ๋‹ค๋ฅธ AWS ์„œ๋น„์Šค์™€๋„ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  • Google Cloud Functions: Google์€ AWS Lambda์™€ ์œ ์‚ฌํ•œ ์ž์ฒด ์„œ๋ฒ„๋ฆฌ์Šค ํ”Œ๋žซํผ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Google Cloud Storage ๋˜๋Š” Pub/Sub์™€ ๊ฐ™์€ Google Cloud ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ Cloud Functions๋ฅผ ์‰ฝ๊ฒŒ ํŠธ๋ฆฌ๊ฑฐํ•˜์—ฌ ํŠน์ • ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Google Cloud Storage์— ์ด๋ฏธ์ง€๊ฐ€ ์—…๋กœ๋“œ๋  ๋•Œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Azure Functions: Microsoft์˜ Azure Functions๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ Microsoft Azure ์„œ๋น„์Šค์™€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Azure์—์„œ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Š” ํ›Œ๋ฅญํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. Azure Functions๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ฑฐ๋‚˜ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์•ฑ์˜ ์ž‘๊ณ  ๋…๋ฆฝ์ ์ธ ๋ถ€๋ถ„์ธ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Firebase: Firebase๋Š” ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์›น ์•ฑ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ํ•„์š”ํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฃผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค(serverless) ์•„ํ‚คํ…์ฒ˜

image01

์ „ํ†ต์ ์ธ ์›น์•ฑ ๊ฐœ๋ฐœ์—์„œ๋Š” ํ•ญ์ƒ ์„œ๋ฒ„์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ค์ •ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ์„ฑ๋Šฅ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋˜๋„๋ก ๊ตฌ์ƒํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ์„œ๋น„์Šค์— ๊ฐ‘์ž๊ธฐ ์–˜๊ธฐ์น˜ ์•Š๊ฒŒ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์ด ์œ ์ž…๋˜๋Š” ๊ฒฝ์šฐ ๊ณจ์น˜ ์•„ํ”ˆ ์ผ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค๋Š” ์ด์— ๋Œ€ํ•ด์„œ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , โ€œํ•จ์ˆ˜โ€๋ผ๋Š” ์ž‘์€ ์ฝ”๋“œ ๋ฉ์–ด๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž๊ฐ€ ๋‚˜๋จธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๋ˆ„๊ตฐ๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ฑฐ๋‚˜, ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋“ฑ์˜ ํŠน์ • ์ด๋ฒคํŠธ์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด ํ•„์š”ํ•  ๋•Œ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ(์›น ๋ฐ ๋ชจ๋ฐ”์ผ)

์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ํ”„๋ŸฐํŠธ ์—”๋“œ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์›น ํด๋ผ์ด์–ธํŠธ(์˜ˆ: ์›น ์‚ฌ์ดํŠธ) ๋˜๋Š” ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ(์˜ˆ: ์Šค๋งˆํŠธํฐ์˜ ์•ฑ)์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ธ์ฆ ์„œ๋น„์Šค

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ๋จผ์ € ์ธ์ฆ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋กœ๊ทธ์ธํ•˜๊ฑฐ๋‚˜ SSO(Single Sign-On) ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•˜๋Š” ๋“ฑ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • API ๊ฒŒ์ดํŠธ์›จ์ด

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

  • ์„œ๋ฒ„๋ฆฌ์Šค ๊ธฐ๋Šฅ(ํ•จ์ˆ˜ 1, ํ•จ์ˆ˜ 2, ํ•จ์ˆ˜ 3)

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๊ฐ ํ•จ์ˆ˜๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ž‘์€ ์ฝ”๋“œ ์กฐ๊ฐ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฉฐ ํŠน์ • ์ด๋ฒคํŠธ๋‚˜ ํŠธ๋ฆฌ๊ฑฐ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์— ํ‘œ์‹œ๋œ ๊ธฐ๋Šฅ์€ ๊ฐ๊ฐ ๊ณ ์œ ํ•œ ์ฑ…์ž„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๊ธฐ๋Šฅ๊ณผ ๋ถ„๋ฆฌ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด๋‚˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋Š” ์˜๊ตฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ๊ธฐ๋Šฅ๊ณผ ํ†ตํ•ฉ๋˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค(serverless)์˜ ์ข…๋ฅ˜

  1. Baas(Backend as a Service)

BaaS ์‹œ์Šคํ…œ์€ ์›น ์•ฑ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ๊ธฐ๋Šฅ๋“ค (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์†Œ์…œ์„œ๋น„์Šค ์—ฐ๋™, ํŒŒ์ผ์‹œ์Šคํ…œ ๋“ฑ)์„ API๋กœ ์ œ๊ณตํ•ด ์คŒ์œผ๋กœ์„œ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ํ•˜์ง€ ์•Š๊ณ ์„œ๋„ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ , ๋น„์šฉ์€ ์‚ฌ์šฉ ํ•œ ๋งŒํผ ๋‚˜๊ฐ€๋Š” ์›๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž๊ฐ€ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊นŒ์ง€ ์ œ๊ณตํ•ด ์ค€๋‹ค๊ณ  ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BaaS๋ฅผ ์‚ฌ์šฉํ•จ์— ์žˆ์–ด์„œ, ๊ฐ€์žฅ ํฐ ์žฅ์ ์€๊ฐœ๋ฐœ ์‹œ๊ฐ„์˜ ๋‹จ์ถ•, ์„œ๋ฒ„ ํ™•์žฅ ์ž‘์—…์˜ ๋ถˆํ•„์š”ํ•จ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด์„œ ๊นŠ์€ ์ง€์‹์ด ๋ณ„๋กœ ์—†๋”๋ผ๋„ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์›€์„ ์ค„์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์„œ๋น„์Šค ์˜ˆ์‹œ๋กœ Firebase์™€ ์ตœ๊ทผ ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” Supabase๋ฅผ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. FaaS(Function as a Service)

FaaS๋Š” Function as a Server์˜ ์•ฝ์ž๋กœ ๋ง ๊ทธ๋Œ€๋กœ โ€œํ•จ์ˆ˜๋ฅผ ์„œ๋น„์Šค๋กœ ์ œ๊ณตํ•œ๋‹คโ€๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œํ•จ์ˆ˜๊ฐ€ ๋œปํ•˜๋Š” ๋ฐ”๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ˆ˜์ค€์—์„œ Function ํ˜น์€ ๋ฉ”์†Œ๋“œ๋“ฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” Rest API์™€ ๊ฐ™์€ HTTP ์š”์ฒญ์„ ํ†ตํ•ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์›ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ํ•จ์ˆ˜๊ฐ€ ๋ฆฌํ„ด ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ๋ฆฌํ„ด ๊ฐ’์„ ๋ฐ›๊ฑฐ๋‚˜ ํ˜น์€ ํ•จ์ˆ˜์˜ ๋™์ž‘ ์‹œ์ž‘ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฝ๊ธฐ / ์“ฐ๊ธฐ๋“ฑ์„ ์œ„ํ•œ ํ•จ์ˆ˜ ๊ตฌ๋ฌธ์„ ํด๋ผ์šฐ๋“œ์— ์—…๋กœ๋“œํ•ด๋‘”๋‹ค๋ฉด ์–ด๋А ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ๋‹จ์ˆœํžˆ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์ž…์ถœ๋ ฅ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋กœ์ง์—๋งŒ ์ง‘์ค‘ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š”๊ฒƒ์ด ๋ฐ”๋กœ FaaS์™€ ์„œ๋ฒ„๋ฆฌ์Šค์˜ ์ฃผ์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค ์œ„์˜(AWS Lamda, Google Cloud Functions, Azure Functions)์„œ๋น„์Šค ๋“ฑ์ด ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?

์„œ๋ฒ„๋ฆฌ์Šค๋Š” ์Šคํƒ€ํŠธ์—…๋ถ€ํ„ฐ ๋Œ€๊ธฐ์—…๊นŒ์ง€ ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์›น์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค๊ฐ€ ์ ํ•ฉํ•œ ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์Šคํƒ€ํŠธ์—…: ์ƒˆ๋กœ์šด ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์‹œ์žฅ์— ์ถœ์‹œํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„œ๋ฒ„๋ฆฌ์Šค๊ฐ€ ์ข‹์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ด€๋ฆฌ ๊ฑฑ์ • ์—†์ด ์ฝ”๋”ฉ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ์•ฑ์ด ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ๊ณผ ๊ฐ™์€ ํŠน์ • ์ด๋ฒคํŠธ์— ์‘๋‹ตํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋ฒ„๋ฆฌ์Šค๊ฐ€ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ํ•„์š”ํ•  ๋•Œ ์ฆ‰์‹œ ํ–‰๋™์— ์˜ฎ๊ธธ ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋Š” ๋„์šฐ๋ฏธ ํŒ€์„ ๊ฐ–๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋ฒ„๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ถ”๊ฐ€ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

  • ๋น„์šฉ ํšจ์œจ์ : ์‚ฌ์šฉํ•œ ์ปดํ“จํŒ… ์‹œ๊ฐ„์— ๋Œ€ํ•ด์„œ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค. ์œ ํœด ์ƒํƒœ๋กœ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ์„ฑ: ์„œ๋ฒ„๋ฆฌ์Šค๋Š” ์ž๋™์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ์ด ๊ฐ‘์ž๊ธฐ ๊ธ‰์ฆํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ฎ์€ ์œ ์ง€ ๊ด€๋ฆฌ: ์„œ๋ฒ„ ์œ ์ง€ ๊ด€๋ฆฌ๋Š” ์žŠ์–ด๋ฒ„๋ฆฌ์„ธ์š”. ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž๋Š” ๋ชจ๋“  ์–ด๋ ค์šด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์œ ์—ฐ์„ฑ: ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ํ”Œ๋žซํผ์„ ํ†ตํ•ด ๋ชจ๋“  ์–ธ์–ด๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ 

  • ์ฝœ๋“œ ์Šคํƒ€ํŠธ: ์„œ๋ฒ„๊ฐ€ ํ•ญ์‹œ ์š”์ฒญ์— ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ธฐ๋Šฅ์„ ํ•œ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ค ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณต๊ธ‰์—…์ฒด ์ข…์†: ์„œ๋ฒ„๋ฆฌ์Šค๋Š” ํŠน์ • ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋‚˜์ค‘์— ์ œ๊ณต์—…์ฒด๋ฅผ ์ „ํ™˜ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ œํ•œ๋œ ์‹คํ–‰ ์‹œ๊ฐ„: ์„œ๋ฒ„๋ฆฌ์Šค ๊ธฐ๋Šฅ์—๋Š” ์‹คํ–‰ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์‹œ๊ฐ„ ์ œํ•œ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ธด ํ”„๋กœ์„ธ์Šค์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋””๋ฒ„๊น…: ์„œ๋ฒ„๋ฆฌ์Šค ์ธ์Šคํ„ด์Šค๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ์Šคํ•€์—…๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ ๋ฒ„์ „์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋ฆฌ์Šค ํ•จ์ˆ˜๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ

์„œ๋ฒ„๋ฆฌ์Šค๋Š” ๊ธฐ์กด์˜ ์›น ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์šฐ๋ฆฌ๋“ค์˜ ์ƒ๊ฐ์„ ๋ฐ”๊ฟ”๊ฐ€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์ธํ”„๋ผ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๋น„์šฉ์— ํšจ๊ณผ์ ์ธ ์›น ์•ฑ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ํ›จ์”ฌ ๋” ํ˜์‹ ์ ์ด๊ณ  ์˜๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ๋ณด๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ์„œ๋ฒ„๋ฆฌ์Šค๋Š” ์›น ์•ฑ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ฃผ๋œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๊ด€๋ฆฌ๊ฐ€ ์•„๋‹Œ ์ƒ์„ฑ์— ์ง‘์ค‘ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋”์šฑ ๊ทธ๋ ‡๋‹ค๊ณ  ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์—์„œ ๊ฐœ๋ฐœ์ž์™€ ๊ธฐ์—…์— ์ค‘์š”ํ•œ ๋ฐœ์ „ ๋ฐฉํ–ฅ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค ๋น„์šฉ, ์šด์˜,ํ™•์žฅ์„ฑ ๋“ฑ์˜ ์žฅ์ ์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๊ณผ ์šด์˜์„ ๋ณ€ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ•˜์ง€๋งŒ ์žฅ์ ๋งŒ ์กด์žฌ ํ•˜๋Š”๊ฒŒ ์•„๋‹Œ ๋‹จ์  ๋˜ํ•œ ๋ถ„๋ช… ์กด์žฌํ•˜๊ธฐ์— ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ ์ถฉ๋ถ„ํ•œ ์ „๋žต์„ ๊ฐ€์ง€๊ณ  ์„œ๋น„์Šค๋ฅผ ๊ณ„ํšํ•˜๋Š”๊ฒƒ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Grow & Glow ยฉ 2025

Banner images by undraw.co