Serverless ์‹œ์ž‘ํ•ด๋ณด๊ธฐ

๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ Serverless์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ , AWS์— Serverless๋ฅผ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


Serverless

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


์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด์— ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.


1. ์„œ๋น„์Šคํ•  ์„œ๋ฒ„ ์ค€๋น„

2. ์šด์˜์ฒด์ œ ์„ค์น˜

3. ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ•

4. ์ธํ”„๋ผ ๊ด€๋ฆฌ


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


์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ๊ฐ€์ƒํ™”ํ•˜์—ฌ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๋Š” ๋น„์šฉ์„ ๋œ ์†Œ๋ชจํ•ด์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ ์„œ๋น„์Šค๊ฐ€ ๋ฐ”๋กœ IaaS์ž…๋‹ˆ๋‹ค.


IaaS(Infrastructure as a Service)

IaaS๋Š” ์‹œ์Šคํ…œ์—์„œ ํ•„์š”ํ•œ ๋ชจ๋“  ์ธํ”„๋ผ ์ž์›์„ ๊ฐ€์ƒํ™”ํ•˜์—ฌ ์‰ฝ๊ฒŒ ์„œ๋น„์Šค ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์ด์•ผ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ Amazon Web Service์˜ EC2๊ฐ€ ๋ฐ”๋กœ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ๋” ์ด์ƒ ์„œ๋ฒ„ ์ž์›, ๋„คํŠธ์›Œํฌ, ๋ณด์•ˆ ์žฅ๋น„ ๋“ฑ์„ ์ง์ ‘ ๊ตฌ์ถ•ํ•  ๋น„์šฉ์„ ์ค„์—ฌ์ฃผ๋Š” ๊ฒƒ์ด์ฃ . 


์—ฌ๊ธฐ์„œ ์ข€ ๋” ๊ฐ„์†Œํ™” ๋œ ๊ฒƒ์„ PaaS๋ผ ํ•ฉ๋‹ˆ๋‹ค.


PaaS(Platform as a Service)

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



BaaS(Backend as a Service) / FaaS(Function as a Service)

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


PaaS๋ž‘ ํฐ ์ฐจ์ด๋Š” ๋ฐ”๋กœ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Flask, Spring ๋“ฑ)์ด ์—†์ด๋„ ์„œ๋ฒ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ •๋ง ์ด๊ฒŒ ๊ฐ€๋Šฅํ•œ ์ผ์ธ๊ฐ€์š”? ํ•„์ž์ธ ์ €๋„ ๋†€๋žฌ์ง€๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 



AWS๋ฅผ ์ด์šฉํ•œ Serverless 

์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทธ์— ์ƒ์‘ํ•˜๋Š” ์šด์˜ ํ™˜๊ฒฝ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ์„ค๋ช… ๋“œ๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ ์„œ๋ฒ„์™€ ์šด์˜์ฒด์ œ ์„ค์น˜๋Š” ํ•„์ˆ˜์ด์ง€๋งŒ ์ด๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด์ง€ ๊ฐ€์ƒ ํ™˜๊ฒฝ(KVM) ๋“ฑ์œผ๋กœ ๊ฐ€์ƒํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—†์ด ์–ด๋–ป๊ฒŒ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ง€๊ธˆ ๊ทธ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


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


์˜ˆ๋ฅผ ๋“ค์ž๋ฉด HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ POST ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ผ์šฐํŒ…ํ•  ๊ฒƒ์ธ์ง€, GET ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ผ์šฐํŒ…ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ . 


์ด๋ฅผ ์œ„ํ•ด AWS์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” AWS Lambda์™€ ์—”๋“œ ํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•ด์ฃผ๋Š” API Gateway ์ž…๋‹ˆ๋‹ค.



Lambda๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ ์ž‘์„ฑ

AWS์˜ ์ฝ˜์†” ํ™”๋ฉด์—์„œ ์„œ๋น„์Šค๋ฅผ ๋ˆ„๋ฅด๊ฒŒ ๋˜๋ฉด ์ปดํ“จํŒ… ํ•ญ๋ชฉ์—์„œ Lambda ํ•ญ๋ชฉ์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ•จ์ˆ˜ ์ƒ์„ฑ์„ ํด๋ฆญํ•˜๊ฒŒ ๋˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „, ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 


์ €๋Š” Python 3.6์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ์ž…๋ ฅํ•˜์…จ์œผ๋ฉด ํ•จ์ˆ˜ ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.


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


๊ทธ๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ €์˜ ๋ธ”๋กœ๊ทธ์˜ ์˜ค๋Š˜ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ ๋ช‡๋ช…์ธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉด ์ด์ œ Lambda์— ์—…๋กœ๋“œ๋ฅผ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

(๋กœ์ปฌ์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ›„ ์—…๋กœ๋“œํ•˜์‹ค ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ZIP์œผ๋กœ ์••์ถ•ํ•˜์…”์„œ ์—…๋กœ๋“œํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.)


์—…๋กœ๋“œ๋Š” ์œ„์™€ ๊ฐ™์ด ํ•˜์‹œ๋ฉด ๋˜๋ฉฐ ์—…๋กœ๋“œ ํ›„์— ๋ฐ˜๋“œ์‹œ ์ €์žฅ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์…”์•ผ ์ฝ”๋“œ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.


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


์ด๋ ‡๊ฒŒ ํ…Œ์ŠคํŠธ์— ์„ฑ๊ณตํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.


API Gateway๋ฅผ ์‚ฌ์šฉํ•œ ์—”๋“œ ํฌ์ธํŠธ ์ƒ์„ฑ

์ด์ œ ์ฝ”๋“œ๊ฐ€ ์™„์„ฑ๋˜์—ˆ์œผ๋‹ˆ ์—”๋“œ ํฌ์ธํŠธ๋ฅผ ์ฃผ๋„๋ก ํ•ด๋ณด์ฃ . ์ €๋Š” ๊ฐ„๋‹จํžˆ GET ๋ฉ”์†Œ๋“œ๋ฅผ ์ฃผ๋ฉด ๋ฐ”๋กœ ์ œ ๋ธ”๋กœ๊ทธ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ ์ ‘์†๋˜๋„๋ก ํ•œ ๋ฒˆ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


API Gateway์— ์ ‘์†ํ•˜์—ฌ API ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์œ„ ํ™”๋ฉด์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์›ํ•˜์‹œ๋Š” API ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ฃผ์‹  ํ›„, API ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.


๊ทธ๋Ÿผ ์ด์ œ ์—ฌ๊ธฐ์„œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์›ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ—‰.. ์ด๋Ÿด ์ˆ˜๊ฐ€;


๊ทธ๋Ÿผ ์ •๋ง๋กœ GET ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์•„๊นŒ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅ์„ ๋ˆ„๋ฅด์‹œ๋ฉด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

(๊ถŒํ•œ ๊ด€๋ จ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋ฉด ํ™•์ธ์„ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค.)


์ด์ œ ๋‚จ์€ ๊ฒƒ์€ ๋ฐฐํฌ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


๋ฐฐํฌ๋Š” URI๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ฃผ์†Œ์— ๋“ค์–ด๊ฐˆ ์›ํ•˜๋Š” ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์‹œ๊ณ  ๋ฐฐํฌ๋ฅผ ๋ˆ„๋ฅด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ตœ์ข…์ ์œผ๋กœ ๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ด๋ ‡๊ฒŒ ์„œ๋ฒ„๋ฆฌ์Šคํ•œ ์ €์˜ ๋ธ”๋กœ๊ทธ ๋ฐฉ๋ฌธ์ž ์ˆ˜ ์นด์šดํŒ…์ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.



๋งˆ์น˜๋ฉฐ...

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


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


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

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments