Kubernetes ๋‚ด์—์„œ ํด๋ผ์šฐ๋“œ FaaS๋ฅผ ๋งŒ๋“ค๊ณ  Tinkoff ํ•ด์ปคํ†ค์—์„œ ์šฐ์Šนํ•œ ๋ฐฉ๋ฒ•

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

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

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

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

๋“์ ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€

๋งŽ์€ ํ˜„๋Œ€ ํšŒ์‚ฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Tinkoff.ru์—๋Š” ๊ณ ๊ฐ ์ ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šค์ฝ”์–ด๋ง์€ ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ํ†ต๊ณ„์  ๋ฐฉ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ณ ๊ฐ ํ‰๊ฐ€ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

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

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

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

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

๋‹น๋ฉดํ•œ ์—…๋ฌด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ „๋ฌธ์ ์ธ ์˜์‚ฌ๊ฒฐ์ • ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. IBM WebSphere ILOG JRules BRMS, ๋ถ„์„๊ฐ€, ๊ธฐ์ˆ ์ž ๋ฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ •ํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ๊ณ ๊ฐ์—๊ฒŒ ํŠน์ • ์€ํ–‰ ์ƒํ’ˆ์„ ์Šน์ธํ• ์ง€ ๊ฑฐ๋ถ€ํ• ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

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

์ผ

ํ•ด์ปคํ†ค์€ 23์›” XNUMX์ผ์— ๊ฐœ์ตœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ฐ€์ž๋“ค์—๊ฒŒ๋Š” ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•ด์•ผ ํ•˜๋Š” ์˜์‚ฌ๊ฒฐ์ • ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์ „ํˆฌ ์ž„๋ฌด๊ฐ€ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

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

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

์šฐ๋ฆฌ์˜ ์†”๋ฃจ์…˜

์•ฝ๊ฐ„์˜ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ ๋์— ์šฐ๋ฆฌ๋Š” FaaS ์†”๋ฃจ์…˜์ด ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ด๋ผ๊ณ  ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

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

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

ํ•ด์ปคํ†ค ์ด์ „์—๋„ ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉํ•  ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚  ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ์ˆ ์ด ์‹œ์žฅ์— ๋งŽ์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes ์•„ํ‚คํ…์ฒ˜ ๋‚ด์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์†”๋ฃจ์…˜์€ Fission, Open FaaS ๋ฐ Kubeless์ž…๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์žˆ๋‹ค ์„ค๋ช…๊ณผ ๋น„๊ต ๋ถ„์„์ด ๋‹ด๊ธด ์ข‹์€ ๊ธฐ์‚ฌ.

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

Fission์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ธฐ๋Šฅ๊ณผ ํ™˜๊ฒฝ์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” Fission ํ™˜๊ฒฝ์ด ์žˆ๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ ์กฐ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์— ๊ตฌํ˜„๋œ ํ™˜๊ฒฝ ๋ชฉ๋ก Python, JS, Go, JVM ๋ฐ ๊ธฐํƒ€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด ๋ฐ ๊ธฐ์ˆ ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Fission์€ ๋˜ํ•œ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋‚˜๋ˆ„์–ด ์•„์นด์ด๋ธŒ๋กœ ๋ฏธ๋ฆฌ ํŒจํ‚ค์ง€๋œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ Fission์˜ ์ž‘๋™์€ ํ”„๋ ˆ์ž„์›Œํฌ ์ž์ฒด์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ํŠน์ˆ˜ ํฌ๋“œ์— ์˜ํ•ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ํฌ๋“œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ ค๋ฉด ๊ฐ ํ•จ์ˆ˜์— ์ž์ฒด ๊ฒฝ๋กœ๊ฐ€ ํ• ๋‹น๋˜์–ด์•ผ ํ•˜๋ฉฐ POST ์š”์ฒญ์˜ ๊ฒฝ์šฐ GET ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ์š”์ฒญ ๋ณธ๋ฌธ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

์šฐ๋ฆฌ๊ฐ€ ์–ป์€ ๊ฒƒ

์šฐ๋ฆฌ๋Š” ๊ธฐ์„ฑ ์†”๋ฃจ์…˜(์šฐ๋ฆฌ์˜ ํ™˜์ƒ ์†์—์„œ)์„ ๊ฐ€์ง€๊ณ  ํ•ด์ปคํ†ค์— ์™”๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผ ํ•  ์ผ์€ ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ์ƒ๊ฐ์„ ์ฝ”๋“œ ๋ผ์ธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

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

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Kubernetes ๋‚ด์—์„œ ํด๋ผ์šฐ๋“œ FaaS๋ฅผ ๋งŒ๋“ค๊ณ  Tinkoff ํ•ด์ปคํ†ค์—์„œ ์šฐ์Šนํ•œ ๋ฐฉ๋ฒ•
์ด ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๋ถ„์„๊ฐ€(์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ฃผ์š” ์‚ฌ์šฉ์ž)์™€ ํด๋ผ์ด์–ธํŠธ๋ผ๋Š” ๋‘ ๊ฐœ์˜ ์ง„์ž…์ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

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

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

์›๋ž˜ ์š”์ฒญ์„ ํฌํ•จํ•œ ๋ณด๊ฐ• ์„œ๋น„์Šค๊ฐ€ REST ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— JSON ๋ฌธ์„œ ํ˜•์‹์˜ ๋ฌธ์„œ ์ค‘์‹ฌ ๋ฐ์ดํ„ฐ ์ €์žฅ์œผ๋กœ ์ธํ•ด MongoDB๋ฅผ ์‹œ์Šคํ…œ์˜ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ”Œ๋žซํผ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ XNUMX์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ญํ• ์„ ๋งค์šฐ ์„ฑ๊ณต์ ์œผ๋กœ ๋ถ„๋ฐฐํ–ˆ์œผ๋ฉฐ ๊ฐ ํŒ€์›์€ ํ”„๋กœ์ ํŠธ์—์„œ ์ž์‹ ์˜ ์ฑ…์ž„ ์˜์—ญ์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค.

  1. ๋ถ„์„๊ฐ€์˜ ์ž‘์—…์„ ์œ„ํ•œ ํ”„๋ŸฐํŠธ ์—”๋“œ ๊ด€๋ฆฌ ํŒจ๋„์„ ํ†ตํ•ด ์ž‘์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ์˜ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์—์„œ ๊ทœ์น™์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์˜ต์…˜์„ ์„ ํƒํ•˜๊ณ , ๊ทœ์น™ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์˜จ๋ผ์ธ์œผ๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํ”„๋ก ํŠธ์šฉ REST API ๋ฐ VCS์™€์˜ ํ†ตํ•ฉ์„ ํฌํ•จํ•œ ๋ฐฑ์—”๋“œ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค.
  3. Google Cloud์— ์ธํ”„๋ผ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋ณด๊ฐ•์„ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  4. ํ›„์† ๊ทœ์น™ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ๊ด€๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.
  5. ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ตœ์ข… ์‹œ์—ฐ์„ ์œ„ํ•ด ์ˆ˜์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๊ฒฐ์ •)์— ๋Œ€ํ•œ ๋ถ„์„ ์ง‘๊ณ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™ ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.

์˜ ์ˆœ์„œ๋Œ€๋กœ ์‹œ์ž‘ํ•˜์ž.

์šฐ๋ฆฌ์˜ ํ”„๋ก ํŠธ์—”๋“œ๋Š” ๋ฑ…ํ‚น UI ํ‚คํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Angular 7๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ์ตœ์ข… ๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

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

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

ํ”Œ๋žซํผ์˜ ๋ฐฑ์—”๋“œ๋Š” Java๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” Postgres๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณ„ํš์ด์—ˆ์ง€๋งŒ ํ•ด์ปคํ†ค์˜ ์ผํ™˜์œผ๋กœ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ H2๋กœ ์ œํ•œํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์—์„œ๋Š” ์ฟผ๋ฆฌ ๋ณด๊ฐ• ๊ธฐ๋Šฅ๊ณผ ๊ทœ์น™ ์Šคํฌ๋ฆฝํŠธ์˜ ๋ฒ„์ „์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด Bitbucket๊ณผ์˜ ํ†ตํ•ฉ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ Git ์ €์žฅ์†Œ์™€์˜ ํ†ตํ•ฉ์„ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. JGit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ด๋Š” CLI ๋ช…๋ น์— ๋Œ€ํ•œ ์ผ์ข…์˜ ๋ž˜ํผ๋กœ, ํŽธ๋ฆฌํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  git ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๊ฐ•ํ™” ๊ธฐ๋Šฅ๊ณผ ๊ทœ์น™์„ ์œ„ํ•œ ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ์ €์žฅ์†Œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์—ˆ๊ณ  ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋‚˜๋ˆ„์–ด์กŒ์Šต๋‹ˆ๋‹ค. UI๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ์˜ ์ž„์˜ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ํŒจ๋„์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ์˜ ์ปค๋ฐ‹์ด ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ์•„์ด๋””์–ด๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์ ์ ˆํ•œ ์ธํ”„๋ผ๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํด๋ผ์šฐ๋“œ์— ๋ฐฐํฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์„ ํƒ์€ Google Cloud Platform์ด์—ˆ์Šต๋‹ˆ๋‹ค. Fission ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ Gcloud์— ๋ฐฐํฌํ•œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์— ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋ณด๊ฐ• ์„œ๋น„์Šค๊ฐ€ k8s ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€์˜ Pod์— ๋ž˜ํ•‘๋œ ๋ณ„๋„์˜ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ด์ปคํ†ค ์ค‘๊ฐ„์— ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ๋น„ ์‹œ์—ฐ ์ดํ›„, ์šฐ๋ฆฌ๋Š” ์ˆ˜์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•ํ™” ์„œ๋น„์Šค๋ฅผ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ฒŒ ๋งŒ๋“ค ๊ฒƒ์„ ๊ถŒ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ฐ•ํ™” ์„œ๋น„์Šค๋„ ์„œ๋ฒ„๋ฆฌ์Šค๋กœ ๋งŒ๋“ค ์ˆ˜๋ฐ–์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

Fission์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” Kubernetes CLI ์œ„์— ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” Fission CLI๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. k8s ํด๋Ÿฌ์Šคํ„ฐ์— ๊ธฐ๋Šฅ์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์™ธ๋ถ€ ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ๊ฒฝ๋กœ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ํ•จ์ˆ˜์— ์ˆ˜์‹ ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ 10์ดˆ๊ฐ€ ์ฑ„ ๊ฑธ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ตœ์ข… ๋ฐœํ‘œ ๋ฐ ์š”์•ฝ

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

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

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

์ด 3๊ฐœ์˜ ๊ฐ€์ƒ ์€ํ–‰ ์ƒํ’ˆ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค:

  • ์‹ ์šฉ ๊ฑฐ๋ž˜.
  • ์žฅ๋‚œ๊ฐ
  • ์ €๋‹น.

์‹œ์—ฐ ์ค‘์— ์šฐ๋ฆฌ๋Š” ๊ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ค€๋น„๋œ ๊ธฐ๋Šฅ๊ณผ ๊ฐ•ํ™” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

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

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

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€